Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Silnik gry Michał Drobot Proces realizacji gry. Plan wykładu Funkcjonowanie silnika gryFunkcjonowanie silnika gry.

Podobne prezentacje


Prezentacja na temat: "Silnik gry Michał Drobot Proces realizacji gry. Plan wykładu Funkcjonowanie silnika gryFunkcjonowanie silnika gry."— Zapis prezentacji:

1 Silnik gry Michał Drobot Proces realizacji gry

2 Plan wykładu Funkcjonowanie silnika gryFunkcjonowanie silnika gry

3 Funkcjonowanie silnika gry Input:Mysz,Klawiatura…Fizyka,Logika, Obsługa sieci Video,Audio Czyszczenie Stanu gry Main Loop : 15 – 30 ms (30 / 60 fps)

4 Funkcjonowanie silnika gry Main loopMain loop Pojedynczy obieg gryPojedynczy obieg gry Musi się wykonać na komputerze klienta w czasie 30/60 fpsMusi się wykonać na komputerze klienta w czasie 30/60 fps Wystarczy wykonać operacje wymagane do pokazania odbiorcy nowej klatki obrazuWystarczy wykonać operacje wymagane do pokazania odbiorcy nowej klatki obrazu Pozostałe zadania mogą maskować się w pomiędzy klatkamiPozostałe zadania mogą maskować się w pomiędzy klatkami Model synchroniczny / asynchronicznyModel synchroniczny / asynchroniczny Musi dbać o czas reakcjiMusi dbać o czas reakcji Działań użytkownikaDziałań użytkownika Działań użytkowników sieciowychDziałań użytkowników sieciowych NPCNPC FizykiFizyki

5 Funkcjonowanie silnika gry Main loopMain loop Przetwarzanie i łączenie assetówPrzetwarzanie i łączenie assetów ModeleModele TeksturyTekstury ShaderyShadery AudioAudio SkryptySkrypty AnimacjeAnimacje …

6 Funkcjonowanie silnika gry Architektura gryArchitektura gry Game Application Layer (warstwa aplikacji gry) Logika Gry Widok Gry

7 Funkcjonowanie silnika gry GALGAL Warstwa niskopoziomowaWarstwa niskopoziomowa Stanowi warstwę komunikacji ze sprzętemStanowi warstwę komunikacji ze sprzętem Wymienialna w zależności od platformyWymienialna w zależności od platformy WysokowydajnościowaWysokowydajnościowa ObsługujeObsługuje Video, AudioVideo, Audio Zarządzanie zasobami systemowymiZarządzanie zasobami systemowymi Zadania wymagające najwyższej wydajnościZadania wymagające najwyższej wydajności Fizyka ze wsparciem sprzętowymFizyka ze wsparciem sprzętowym

8 Funkcjonowanie silnika gry GALGAL Wykorzystuje specyficzne zalety danej platformyWykorzystuje specyficzne zalety danej platformy SPU – PS3SPU – PS3 GPU – X360GPU – X360 Jest hermetycznym elementem silnika gryJest hermetycznym elementem silnika gry Zmiany nie wpływają na inne elementyZmiany nie wpływają na inne elementy W zależności od skomplikowania założeń gry i platformy może dojść do współzależnościW zależności od skomplikowania założeń gry i platformy może dojść do współzależności Gry na X360, Ps3, WiiGry na X360, Ps3, Wii Znaczące różnice w logice gry względem sterowaniaZnaczące różnice w logice gry względem sterowania

9 Funkcjonowanie silnika gry GALGAL Warstwa aplikacji gry UrządzeniaSystemOperacyjny Czas Gry InputPlikiRAMJęzykDLLWatkiLibsMainLoopInit

10 Funkcjonowanie silnika gry Logika GryLogika Gry Opiera się na systemie przetwarzania skryptówOpiera się na systemie przetwarzania skryptów Nie wymaga dużej wydajnościNie wymaga dużej wydajności Poza rozwiązaniami AI, które mogą być wspomagane przez GALPoza rozwiązaniami AI, które mogą być wspomagane przez GAL AI prosi o wsparcie obliczeniowe, GAL decyduje w zależności od platformy jak udzieli wsparcia (PS3 – SPU, X360 – GPU)AI prosi o wsparcie obliczeniowe, GAL decyduje w zależności od platformy jak udzieli wsparcia (PS3 – SPU, X360 – GPU) Zwykle pozostaje bez zmian względem platformyZwykle pozostaje bez zmian względem platformy

11 Funkcjonowanie silnika gry Logika GryLogika Gry Warstwa logiki gry Stan gry StrukturydanychFizyka ZdarzeniaZarządzanieProcesamiInterpreterkomend

12 Funkcjonowanie silnika gry Logika GryLogika Gry Stan gryStan gry Opisuje aktualny stan świata gryOpisuje aktualny stan świata gry Zawiera opis wszystkich obiektów i ich stanuZawiera opis wszystkich obiektów i ich stanu Parametry dotyczące każdego obiektuParametry dotyczące każdego obiektu położenie, orientacja, właściwościpołożenie, orientacja, właściwości Zawiera możliwe predykcje względem przyszłych wydarzeń w świecie gry jak i zachowań graczaZawiera możliwe predykcje względem przyszłych wydarzeń w świecie gry jak i zachowań gracza AI, Fizyka…AI, Fizyka… Musi być reprezentowany przez szybką jak i pojemną strukturę danychMusi być reprezentowany przez szybką jak i pojemną strukturę danych

13 Funkcjonowanie silnika gry Logika GryLogika Gry Struktury danychStruktury danych Służą do zapisu danych dotyczących stanu grySłużą do zapisu danych dotyczących stanu gry Używamy różnych struktur w zależności od wymagańUżywamy różnych struktur w zależności od wymagań Gry sieciowe – pakiety upakowaneGry sieciowe – pakiety upakowane Drzewo świata – wskaźnikiDrzewo świata – wskaźniki Drzewa fizyki…Drzewa fizyki… Muszą spełniać zależność szybkości/funkcjonalności względem obiektu i częstości odwołań do niegoMuszą spełniać zależność szybkości/funkcjonalności względem obiektu i częstości odwołań do niego Float 10 – bitowy dla odległości między AI :>Float 10 – bitowy dla odległości między AI :>

14 Funkcjonowanie silnika gry Logika GryLogika Gry FizykaFizyka Z racji komunikacji z logiką gry często łączoneZ racji komunikacji z logiką gry często łączone Wraz ze wzrostem działań równoległych oddzielana jako osobny komponentWraz ze wzrostem działań równoległych oddzielana jako osobny komponent Wymaga dużej wydajności, optymalizacji pod sprzęt itp..Wymaga dużej wydajności, optymalizacji pod sprzęt itp.. Często fizyka wydziela osobną warstwę, skróconą, uproszczoną i szybszą do reprezentowania świataCzęsto fizyka wydziela osobną warstwę, skróconą, uproszczoną i szybszą do reprezentowania świata Modele kolizjiModele kolizji Modele kompresowane, cacheowane, fizyczne itp…Modele kompresowane, cacheowane, fizyczne itp…

15 Funkcjonowanie silnika gry Logika GryLogika Gry ZdarzeniaZdarzenia System obsługi wiadomości w świecie grySystem obsługi wiadomości w świecie gry Obsługuje wywołania zdarzeńObsługuje wywołania zdarzeń Obsługa może przebiegać globalnie (np.. międzywątkowo) bądź lokalnie (np.. na poziomie systemu dźwięku)Obsługa może przebiegać globalnie (np.. międzywątkowo) bądź lokalnie (np.. na poziomie systemu dźwięku) Stanowi łącznik między widokiem gry a GALStanowi łącznik między widokiem gry a GAL Np.. Machnięcie WiiMotem odczytuje system zdarzeń i powiadamia GAL o potrzebie wygenerowania odpowiedniego dźwięku i efektu graficznegoNp.. Machnięcie WiiMotem odczytuje system zdarzeń i powiadamia GAL o potrzebie wygenerowania odpowiedniego dźwięku i efektu graficznego

16 Funkcjonowanie silnika gry Logika GryLogika Gry ProcesyProcesy System obsługi procesów w grzeSystem obsługi procesów w grze Wydziela czas CPU dla każdej funkcji jaka powinna się wykonaćWydziela czas CPU dla każdej funkcji jaka powinna się wykonać Decyduje o kolejności wykonywanych procesówDecyduje o kolejności wykonywanych procesów Może zarządzać skryptamiMoże zarządzać skryptami Np.. szukanie apteczki kolejno uruchamiaNp.. szukanie apteczki kolejno uruchamia Przeszukiwanie grafu mapyPrzeszukiwanie grafu mapy Wybranie najlepszej apteczki (odległość, moc)Wybranie najlepszej apteczki (odległość, moc) Wysłanie decyzji o ruszeniu AI w kierunku wybranej apteczkiWysłanie decyzji o ruszeniu AI w kierunku wybranej apteczki

17 Funkcjonowanie silnika gry Logika GryLogika Gry Interpreter komendInterpreter komend Przetwarza komendy zewnętrzne na język zrozumiały dla logikiPrzetwarza komendy zewnętrzne na język zrozumiały dla logiki Stanowi warstwę komunikacji między niskopoziomową logiką a użytkownikiemStanowi warstwę komunikacji między niskopoziomową logiką a użytkownikiem Utworzenie wspólnego, współdzielonego interfejsu dla logiki gry ułatwiaUtworzenie wspólnego, współdzielonego interfejsu dla logiki gry ułatwia DebuggingDebugging Tweakowanie parametrów w czasie rzeczywistymTweakowanie parametrów w czasie rzeczywistym Obsługę skryptów przez nie-programistówObsługę skryptów przez nie-programistów Rozszerzanie gryRozszerzanie gry

18 Funkcjonowanie silnika gry Logika GryLogika Gry Interpreter komendInterpreter komend Pod względem kompleksowości rozwiązaniaPod względem kompleksowości rozwiązania Prosta konsola eksponująca parametry i funkcje logikiProsta konsola eksponująca parametry i funkcje logiki System języka świata grySystem języka świata gry Język skryptowy do sterowania logikąJęzyk skryptowy do sterowania logiką Wspólny język oraz interfejsWspólny język oraz interfejs Obsługa świata gry równouprawniona z poziomu użytkownika, AI, graczy sieciowychObsługa świata gry równouprawniona z poziomu użytkownika, AI, graczy sieciowych

19 Funkcjonowanie silnika gry Widok gryWidok gry Prezentuje stan gryPrezentuje stan gry Decyduje o tym co pokazać lub jak przedstawićDecyduje o tym co pokazać lub jak przedstawić Istnieje wiele widokówIstnieje wiele widoków Widok graczaWidok gracza Decyduje o tym jak przedstawić świat gry od strony Audio/Video, odpowiada za przesłanie danych użytkownik – system do gryDecyduje o tym jak przedstawić świat gry od strony Audio/Video, odpowiada za przesłanie danych użytkownik – system do gry Widok gracza sieciowegoWidok gracza sieciowego Widok AIWidok AI Przedstawia konkretne struktury świata gry wymagane dla AI do działaniaPrzedstawia konkretne struktury świata gry wymagane dla AI do działania

20 Funkcjonowanie silnika gry Widok gryWidok gry Widok gry WyświetlanieAudioInput 3DUIVideoSFXMuzykaSpeech Opcje Procesy

21 Funkcjonowanie silnika gry Widok gryWidok gry PAD Widok gracza Logika Wciśnięcie A Wciśnięcie hamulca Stan pojazdu: wciśnięty hamulec poślizg Puszczenie A

22 Funkcjonowanie silnika gry Architektura sieciowaArchitektura sieciowa Logika Logika Widok gracza Zdalny widok gracza Server Klient Stan gry i polecenia Internet

23 Funkcjonowanie silnika gry System renderinguSystem renderingu AssetyGeometryProcessingPixelProcessingFrameProcessing Modele 3D Tekstury Animacje Shadery ModelPoddanyTransfor-macjomNarysowanyPixelWgVertexówKlatkaobrazu

24 Pytania ?


Pobierz ppt "Silnik gry Michał Drobot Proces realizacji gry. Plan wykładu Funkcjonowanie silnika gryFunkcjonowanie silnika gry."

Podobne prezentacje


Reklamy Google