18 05 2010
Opublikowano w Programowanie  |  2 Komentarzy
Tagi: , , , , , , ,

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.

Załączniki

Kod źródłowy + media

13 07 2009
Opublikowano w Rozrywka  |  1 Komentarzy
Tagi: ,

World of Goo

World of Goo miał już za sobą premierę jakiś czas temu. Nie każdy jednak śledzi rynek gier komputerowych. Jeśli ten tytuł jest Ci obcy polecam się mu przyjrzeć. Jest to naprawdę ciekawa gra logiczna, która zasługuje na reklamę.

Cel gry

Głównym zadaniem w grze jest doprowadzenie określonej liczby kulek Goo do wyjścia reprezentowanego przez rurę. By osiągnąć cel budujemy mosty, wieże i inne struktury, zapewniając tym samym bezpieczną drogę naszym małym przyjaciołom. Goo podlegają prawom grawitacji. Mają swoją wagę oraz elastyczność przez co ważne jest ich umiejętne układanie. Rozgrywkę wzbogaca różnorodność kulek. Występują np. takie lepkie, lżejsze od powietrza czy metalowe.

Muzyka i grafika

Świat gry tętni życiem. Na ekranie sporo się dzieje. Każda kulka Goo porusza się własnym rytmem. W tle spadają liście, faluje woda. Ta kreskówkowa grafika naprawdę przypadła mi do gustu. Relaksuje, nie męczy. Muzyka? To kolejna dobra strona gry. Co ciekawe ścieżka dźwiękowa została za darmo udostępniona przez autora.

Podsumowanie

Gra bardzo wciąga. Nie ma wygórowanych wymagań sprzętowych. A co dla mnie najważniejsze mogę w nią bez problemu pograć pod Linkusem. Demo zajmuje niewiele ponad 30 MB. Dostarcza wieczór zabawy. Pełna wersja kosztuje 20$. Dystrybutor w Polsce oferuje ją za niecałe 20 zł. Nie jest to pocieszające ponieważ importowana jest tylko wersja Windowsowa (nie miałem okazji jeszcze tego zweryfikować). Bez względu na wszystko uważam ze warto poświęcić chwile by zapoznać się z tytułem. Zapraszam na stronę autorów.

Galeria