Gry

Programowanie gry

Choćby nie wiem jak dobre byłyby modele postaci, to same się nie wyświetlą. Dlatego programiści muszą napisać kod gry, który będzie odpowiadać za odpowiednią obsługę wszystkich elementów. Są oni podzieleni według funkcji jaką wykonują i w mniejszych zespołach zajmują się powierzonymi im zadaniami.


Sztuczna inteligencja w grze jest ważna, bo dzięki niej przeciwnicy potrafią być dla nas wyzwaniem.

Najważniejszy wśród nich jest główny programista. Jego zadanie polega na nadzorowaniu wszystkich podgrupek i łączeniu ich pracy. Odpowiedzialny jest za zbieranie wszystkich "cegiełek" i tworzenie jednego, spójnego kodu gry. Ta osoba też tworzy i zarządza tzw. pętlą gry. To na jej działaniu oparta jest cała aplikacja. Jej schematyczna struktura wygląda tak:

~pętla(działa dopóki użytkownik nie wyłączy gry)
     ~ sprawdzenie wejścia gry
     ~ wykonanie warstwy logicznej
     ~ sprawdzenie kolizji
     ~ narysowanie grafiki
     ~ odegranie dźwięków
~koniec pętli

Innym ważnym programistą jest programista sztucznej inteligencji. Do jego kompetencji należy napisanie struktury poleceń i ruchów, którą kierować się będą wirtualne postacie podczas gry. Czasem osoba ta otrzymuje już gotową bazę sztucznej inteligencji i musi ją jedynie rozbudować lub przystosować do wymagań danej gry.


Obecnie każda gra wyposażona zostaje w rozbudowany silnik fizyczny.

Kolejnym ważnym pracownikiem jest programista fizyki. Obecnie gry chwalą się realistycznymi zjawiskami fizycznymi oraz interakcją obiektów i bohaterów. Zadaniem tego specjalisty jest zaimplementowanie tych efektów do gry. Również tu może on je stworzyć od zera lub skorzystać z gotowych silników fizycznych, takich jak popularny Havoc. Do jego kompetencji należy też wprowadzenie do produkcji technologii takich jak NVIDIA PhysX, jeśli twórcy zdecydują się na jej użycie.

Idąc dalej wymienić można jeszcze dwa typy programistów związanych z tworzeniem gry. Jednym z nich jest programista interfejsu. Zajmuje się zaprojektowaniem i wykonaniem menu gry. Nie chodzi tu jedynie o menu główne, do których zaliczają się również opcje graficzne, których ustawienia osoba ta musi również zaprogramować. Do jego zadań należy również stworzenie interfejsu podczas rozgrywki, tzw. HUD. Oczywiście swoją pracę wykonuje on we współpracy z grafikami podsyłającymi mu odpowiednie obrazy.

Ostatnim z programistów związanych bezpośrednio z tworzeniem gry jest programista sieci. Jak sama nazwa wskazuje, jego zadaniem jest stworzenie interfejsu sieciowego. Zajmuje się również zaprogramowaniem i zarządzaniem serwerami do gry w trybie wieloosobowym. Jego funkcja jest bardzo ważna, ponieważ złe działanie tego modułu może skutkować wyższymi opóźnieniami podczas zabawy, a co za tym idzie - uciążliwą rozgrywką.


Odpowiednie narzędzia programistyczne ułatwiają i przyśpieszają produkcje

Specyficznym rodzajem programistów są programiści narzędzi. Nie są bezpośrednio związani z tworzeniem gry. Do ich zadań należy stworzenie narzędzi programistycznych ułatwiających pracę innym grupom. Są to różnego typu edytory, programy do importu i eksportu danych oraz inne aplikacje. Wbrew pozorom ich praca jest dość trudna, bo to oni muszą najpierw zaprojektować sobie narzędzia, by móc je potem projektować innym.

Obecnie najpopularniejszym z wykorzystywanych języków przy tworzeniu gier jest język C++. Jest to ulepszona wersja dawnego języka C. Najpopularniejszym zaś systemem są systemy z rodziny Windows. Dlatego jeśli w przyszłości chcielibyśmy związać się z tworzeniem gier, to warto zapoznać się z tymi dwoma środowiskami.