Budowa szkieletu gry choć z pozoru brzmi prozaicznie to nie jest tak oczywista jak mogłoby się wydawać. Jeżeli do tej pory pisałeś tylko aplikacje konsolowe bądź aplikacje typowo okienkowe to z pewnością niniejszy rozdział będzie dla Ciebie dobrym materiałem do pozyskania nowej wiedzy, a tym samym dobrą metodą na zdobycie nowego doświadczenia.
Każda gra niezależnie od swojego gatunku i rozmiaru projektu zbudowana jest u podstaw tak samo. Każda gra posiada główną pętlę, w której wykonują się różne zdarzenia takie jak np.:
W związku z tym, że w grze występuje mnóstwo zdarzeń, które mogą zachodzić jednocześnie (np. animowanie kilku postaci naraz) - podejście stosowania pętli znane Ci z tworzenia konsolowego oprogramowania w wielu przypadkach nie będzie możliwe do zastosowania. Pisząc grę nie będziesz mógł zrealizować systemu animacji poszczególnych postaci za pomocą pętli - co więcej niemożliwym też będzie zrealizowanie ruchu wybranego obiektu na scenie przy pomocy pętli. Oznacza to, że koniecznym jest odrzucenie dotychczasowej metodologii wytwarzania oprogramowania i otworzenie się na nową wiedzę, która niewątpliwie będzie Ci niezbędna do stworzenia własnej gry.
Skoro już wiesz jakie problemy napotykają początkujący programiści gier, zobaczmy teraz jak wygląda uniwersalny i sprawdzony w praktyce szkielet gry:
Jak wynika z powyższego kodu szkieletem całej gry jest w praktyce nieskończona pętla, w której umieszczane będą pozostałe elementy gry takie jak renderowanie sceny, przemieszczanie obiektów czy też ich animacje. Nieskończona pętla zostanie przerwana w chwili gdy zostanie spełniony określony warunek, którym zazwyczaj jest chęć wyjścia z aplikacji.
Na zakończenie zamieszczę jeszcze kompletny kod aplikacji, który demonstruje wygląd typowego szkieletu gry zrealizowanego w bibliotece SFML: