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