Proces tworzenia prostej gry 2D na przykładzie gatunku RTS

Transkrypt

Proces tworzenia prostej gry 2D na przykładzie gatunku RTS
23.IV.2012
Proces tworzenia prostej gry 2D
na przykładzie gatunku RTS
Eryk Kisielioski
Wstęp
Real Time Strategy (RTS) - czyli strategia czasu rzeczywistego. Jest to gatunek gier komputerowych,
w których gracze podejmują działania w dowolnym momencie rozgrywki (brak podziału na tury).
Decyzje podejmowane przez graczy są natychmiast odzwierciedlane w świecie gry, co nasuwa dwa
podstawowe wymogi:
1. Komputer każdego gracza musi byd dostatecznie wydajny, aby mógł przetwarzad wszystkie
procesy obliczeniowe w czasie rzeczywistym.
2. Sied komputerowa musi działad nieprzerwanie i bez większych opóźnieo (lag'ów).
Podstawowe elementy gry komputerowej
Istnieje kilka elementów wspólnych dla większości gier komputerowych:
Generowanie obrazu - rendering obrazu można uzyskad na dwa sposoby: programowo lub sprzętowo. Pierwszy sposób polega na generowaniu obrazów przez procesor główny (CPU). Jest to metoda
powolna, aczkolwiek może to byd dobre rozwiązanie dla gry niewymagającej obliczeniowo. Metoda
sprzętowa - generowaniem obrazu zajmuje się procesor graficzny (GPU), który posiada wyspecjalizowane układy cyfrowe przystosowane do przetwarzania danych graficznych.
Generowanie dźwięku - odbywa się niemalże zawsze sprzętowo. Programista na potrzeby swojej gry
musi jedynie zadbad o odpowiedni mechanizm selekcji dźwięków, które mają zostad odegrane
w danym momencie przez kartę dźwiękową. Dźwięki mają graczowi podpowiadad co się aktualnie
dzieje w świecie gry, więc odgrywanie zbyt wielu dźwięków naraz jest niewskazane.
Komunikacja sieciowa - w przypadku gier RTS, sied komputerowa powinna byd pozbawiona opóźnieo
transmisyjnych (lag'ów). Ma to kluczowe znaczenie dla rozgrywki, gdyż opóźnienia rzędu 250ms mogą powodowad drastyczny spadek komfortu rozgrywek. Przesył danych może odbywad się pomiędzy
uczestnikami gry, a także poprzez centralny serwer. Metoda centralnego serwera obarczona jest
dodatkowymi kosztami implementacyjnymi, ale przynosi korzyści w postaci wydajności jak i funkcjonalności.
Interfejs użytkownika - gry RTS posiadają dużo elementów zręcznościowych - zwłaszcza te, które są
przystosowane do e-sportu - tak więc interfejs użytkownika powinien byd maksymalnie responsywny.
Gra strategiczna powinna wykorzystywad potencjał klawiatury - wykonywanie akcji danymi klawiszami jak i konfigurowanie własnych skrótów klawiszowych.
23.IV.2012
Etapy tworzenia gry
Założenia projektu - określenie poziomu skomplikowania gry, mechaniki rozgrywki jak i sposobu
przedstawienia wirtualnego świata, w którym będzie toczyd się rozgrywka.
Implementacja silnika gry - zadaniem programistów jest napisanie kodu, który umożliwi wykonywanie wszystkich przewidzianych w grze zdarzeo tzn.: jeżeli akcja gry odbywa się w średniowieczu
i mamy do dyspozycji katapultę, która zadaje obrażenia obszarowe - to twórcy silnika muszą zaimplementowad funkcję ataku obszarowego (promieo eksplozji, ilośd obrażeo w centrum i na zewnątrz).
Możliwości silnika mogą zostad rozbudowane podczas tworzenia gry w miarę zapotrzebowao.
Implementacja edytorów specjalnych - gdy jest już gotowy dany moduł silnika, należy do niego
napisad program pomocniczy, np.: silnik ma zaimplementowany moduł terenu (wzgórza, doliny,
przeszkody, roślinnośd itp.), więc należy napisad taki program, który pozwoli wytworzyd dowolny
krajobraz ograniczony jedynie implementacją tego modułu. Tego typu programów może byd wiele,
w zależności od skomplikowania silnika gry.
Wytwarzanie grafiki, dźwięków - etap, w którym zaangażowane są osoby uzdolnione plastycznie/muzycznie. Na tym etapie korzysta się z wielu ogólnych narzędzi (przykładowo: Adobe
Photoshop, 3DS Max) jak i edytorów specjalnych (tworzenie jednostek, animacji, krajobrazów).
Tworzenie klienta gry - czyli programu, który będzie zarządzał całym procesem uruchomienia gry,
rozpoczęcia rozgrywki, usunięciem gry z pamięci.
Tworzenie elementów związanych z fabułą - nagrywanie soundtrack'u i dialogów postaci, tworzenie
map (kampania - gra jednoosobowa), renderowanie filmów przerywnikowych.
Testowanie - sprawdzenie produktu pod kątem występowania błędów.
Bibliografia
http://pl.wikipedia.org/wiki/Silnik_gry
http://pl.wikipedia.org/wiki/RTS

Podobne dokumenty