Skocz do zawartości

Source Newton Pong


Rekomendowane odpowiedzi

Udostępniam wam souce gry Newton Pong

w celach tylko i wyłącznie EDUKACYJCH

 

We większości skryptów i obiektów jest komentarz ( polski ) mam nadzieję że w miarę jasny.

 

1. Gra jest stworzona w GM8 ( nie w GM8.X ) powód jest taki że GMogre został zportowany z użyciem GMAPI od Snake z naszego GMC a jego GMAPI nie wspiera najnowszego GMa, efekt jest taki że gra się na nim zfreezuje.

 

2. Aby source się odpalił trzeba mieć zainstalowanego GEXa GMogre w GM8, tegoż GEXa znajdziecie tutaj

3. Pliki sourca są tutaj.

4. Dodatkowo dorzucam source plików zasobów ( gdyby ktoś chciał sprawdzić jak zostały zrobione ) są to modele Blendera, pliki pdn z PaintNet oraz pliki XML ( stworzone przez plugin Ogre do blendera 2.49b ) z których narzędzie konwertujące Ogre tworzy pliki .mesh

 

Krótko opiszę jakich systemów GMogre używałem a więc co można się z sourca nauczyć:

- customowe wpisy do loga

- menu stworzone za pomocą nieintuicyjnej i niewygodnej metody CreateText oraz CreateSprite

- menu podczas gameplay ( pauza i okienko zwycięzcy ) stworzone za pomocą Overlays ( dużo wygodniejsze i lepsze od tego wyżej )

- tworzenie sceny [ statyczne swiato kierunkowe, statyczne Entity ( instancja posiadająca model ) ], kamery ( statyczna oraz mouselook )

- implementacja fizyki GMnewton 2.0 ( który wchodzi w skład GMogre )

 

Dodatkowo nie powiązane z GMogre:

- wykrywanie systemu operacyjnego

- 3 poziomowe AI oparte na czystej matematyce

- bardzo prosty Sound Menadżer, który zapobiega wykrzaczaniu się dźwięków, co jest typowe dla gier robionych w GMie

- zapis i load opcji z pliku ini

- światła dynamiczne ( te podpięte pod piłki )

- korzystanie z event_user

 

1. Analizowanie kodu zaczynamy od obiektu oLoading, który to inicjuje GMogre, inicjuje zasoby, zmienne globalne ( w większości używane w opcjach ), inicjuje silnik fizyczny oraz ustawienia z ini.

 

2. Potem gra przechodzi do oMenu, tutaj jest tworzony view port, kamera, interface menu.

 

3. Głównym obiektem gameplayu jest obiekt oEngine, który to resetuje punkty graczy, renderuje klatkę gry, zarządza pauzą, zwycięstwem, zapisywaniem screenShotów, debugerem GMnewtona, zwalnia pamięć po powrocie do menu. tworzy pozostałe obiekty:

- oCam ( zadaniem tego obiektu jest przełączanie kamery statycznej w mouselook F12 )

- oEnvironment ( tworzy scenę )

- oPlayersControler ( tworzy paletki, tutaj wykonywane jest AI oraz poruszanie paletek przez graczy )

- oTextControler ( HUD )

- oSoundsManager ( odtwarza dźwieki, kontroluje je tak by każdy typ dźwięku mógł być odtwarzany tylko 1 w tym samym czasie )

- oBall ( tworzy piłki, tyczki w debug mode, dynamiczne swiatla )

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...