Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

JEngine - Silnik gry java. Opengl + Java2D


Gość povskill

Rekomendowane odpowiedzi

Opublikowano

Hello.

 

Jako iż ostatnio postanowiłem popracować trochę nad PokeNation wziąłem się za silnik gry.

Silnik w dniu (12 maja 2013) nie jest jako- tako rozwinięty, ale posiada podstawowe funkcję. Oczywiście będzie rozwijany.

 

Rozwój do pewnego stopnia postanowiłem opublikować (Open Source).

W silniku są 2 systemy renderingu : OpenGL (Oparte na LWJGL) i Java2D(Oparte na wiadomo czym), w przyszłości Direct2D. Silnik jest tworzony pod gry strikte 2D, ale również w późniejszym czasie zamierzam dodać 3D.

 

 

Mam nadzieję że to się komuś przyda ;) : https://bitbucket.org/PolishCivil/jengine

Opublikowano

No fajnie - miałem coś napisać, myślałem nad slick2d, ale zobaczę twój silnik.

//gif w sygnie

Opublikowano

No fajnie - miałem coś napisać, myślałem nad slick2d, ale zobaczę twój silnik.

Silnik jest na razie w fazie początkowej więc nic ciekawego z nim nie zrobisz ;)

 

 

@Topic

Jak chcecie możecie umieszczać tutaj swoje sugestie dotyczące silnika, czyli co powinienem dodać aby ułatwić tworzenie gry. THX

Opublikowano

Przyda się możliwość ustawienia ilości fps - o ile jeszcze nie ma, bo nie sprawdzałem. Przyda się takie coś, szczególnie osobom które uczą się robić gry 2d (ja) ;)

//gif w sygnie

Opublikowano

Dzięki :) Na razie wstrzymałem prace ale będę kontynuować. Żeby nie było to części odpowiedzialne za okno, rysowanie oraz audio to SFML.

 

Jak by ci to wytłumaczyć hm :)

 

Klasa gry - pętla (uproszczona)

while(true)
{
  currentScene.Update();
  currentScene.Render();
}

 

 

Masz abstrakcyjną klasę Scene. Dziedziczysz po niej i przeładowujesz metody Update i Render. W środku tychże metod przelatujesz jakąś kolekcję zawierającą klasy typu Enity i aktualizujesz oraz renderujesz je.

 

W skrócie:

Klasa gry zarządza sceną, a scena zarządza obiektami.

Opublikowano

Dzięki :) Na razie wstrzymałem prace ale będę kontynuować. Żeby nie było to części odpowiedzialne za okno, rysowanie oraz audio to SFML.

 

Jak by ci to wytłumaczyć hm :)

 

Klasa gry - pętla (uproszczona)

while(true)
{
  currentScene.Update();
  currentScene.Render();
}

 

 

Masz abstrakcyjną klasę Scene. Dziedziczysz po niej i przeładowujesz metody Update i Render. W środku tychże metod przelatujesz jakąś kolekcję zawierającą klasy typu Enity i aktualizujesz oraz renderujesz je.

 

W skrócie:

Klasa gry zarządza sceną, a scena zarządza obiektami.

A to ;) To to już daaawno mam ;) To podstawy xD

 

Opublikowano

Zmieniłem troche rendering w OpenGL -u na tzw Vertex Array Buffer. FPS poszybowało do 300-360 (dawniej 180 - 200)

Opublikowano

Czyli sprite batching w skrócie. Wiele spritów za jednym draw callem.

Tzn tak, tak nazwana została ta klasa. Ja miałem na myśli rodzaj renderowania

* Immediate ( kiepski)

* DisplayList (w porządku ale statyczny)

* VertexArray (w porządku niestatyczny)

* VertexBufferObject (dobry)

 

Ogólnie żecz biorąc startując frame renderuje do buffera z shaderem i dopiero na końcu renderuję do obrazu. ( tak jak w awt )

 

https://github.com/mattdesl/lwjgl-basics/wiki/FrameBufferObjects

https://github.com/mattdesl/lwjgl-basics/wiki/ShaderProgram-Utility

 

Opublikowano

Jedna mało uwaga co do nazwy pakietu. pl.polishcivil oznacza, że posiadasz domenę http://polishcivil.pl/. Jeśli nie używaj me.polishcivil ;)

Silnik bardzo fajny, mam nadzieję, że się będzie dalej rozwijał.

No tak, wiem :s Ale tak czy tak bd używać pl.polishcivil

 

 

Dodałem ładowanie mapki z TMX + rendering tejże mapki. (bez isometricznej)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...