Gra platformowa
Mało wpisów na blogu nie oznacza braku programistycznych prac. Dzisiaj podzielę się jednym z ostatnio realizowanych projektów. Będzie to coś nowego: platformowa gra trójwymiarowa. Pisałem ją w ramach zaliczenia na jeden z uczelnianych przedmiotów. Od początku zakładałem by uczynić ją jak najprostszą, a jednocześnie poznać kilka ciekawych narzędzi. Wersja, którą udostępniam zawiera jeden poziom (zapisany w pliku *.xml) i nie obsługuje trybu kampanii. Mimo wszystko można się nią troszkę pobawić. Co jak co granie w grę, którą stworzyło się samemu jest bardzo satysfakcjonujące. Na czym polega rozgrywka? Najlepiej odzwierciedli to nagrany przeze mnie materiał.
Prezentacja
Technicznie
Marzyło mi się napisanie aplikacji, która działała by płynnie w przeglądarce internetowej. Nie mogłem wykorzystać webgl-a ponieważ moja karta graficzna go nie obsługuje. Zostało mi O3D (3D w przeglądarce od Google), które działało nad wyraz dobrze. Gorzej się miały sprawy z silnikiem fizycznym (Box2D). Początkowo nie było problemów – dopiero później wychodziły braki portu JavaScript. Fizyka była dla mnie na tyle ważna, że zrezygnowałem z takiego doboru narzędzi.
Drugim podejściem było połączenie Irrlicht-a (silnika graficznego) z “normalną” wersją Box2D. Tutaj wszystko było jasne – programowało się miło i przyjemnie ;) Po bardzo dużej ilości godzin pracy, gra została wzbogacona o dźwięk (w oparciu o Irrklang) oraz język skryptowy Lua (z wrapperem Luabind). Choć gra nie jest skończona można ją uznać za grywalną. Cel projektu – osiągnięty.
Kolejna wersja
Co do przyszłości projektu: nie będę już więcej nad nim pracował. Udostępniam źródła, które każdy może sobie przejrzeć bądź zmodyfikować.
Kompilacja – Ubuntu
Skompilowanie oraz uruchomienie gry wymaga w systemie kilku paczek:
- build-essential
- irrlicht1.7
- irrlicht-dev
- libbox2d0
- libbox2d-dev
- liblua5.1-0
- liblua5.1-0-dev
- libluabind-dev
- libluabind0.9.0
- qt-creator
W raz z ich instalacją konieczne jest pobranie biblioteki IrrKlang, która nie jest dostępna w repozytorium. Po jej rozpakowaniu można otworzyć plik projektu (*.pro) QT Creator-a oraz upewnić się czy podane ścieżki INCLUDEPATH oraz LIBS są poprawne. Teraz można zbudować projekt.




