Proces realizacji gry Silnik gry Michał Drobot.

Slides:



Advertisements
Podobne prezentacje
Mechanizmy pracy równoległej
Advertisements

Zaawansowane metody programowania – Wykład V
Sieci komputerowe.
Wdrożenie portalu korporacyjnego w oparciu o MOSS2007
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
Mateusz Srebrny 15 grudnia 2003 Motif, okienka i obiekty Mateusz Srebrny 15 grudnia 2003.
Architektura systemu Gra strategiczna „Strusia Jama”
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Systemy operacyjne Bibliografia:
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Projektowanie i programowanie obiektowe II - Wykład IV
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
wykonał Jarosław Orski promotor pracy: mgr Szymon Smaga
Autor: Michał GAWRYLUK
Projektowanie - wprowadzenie
Projektowanie dynamiki - diagramy interakcji
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Inżynieria Oprogramowania
Przegląd ważniejszych bibliotek używanych przy projekcie Quall.
trójwymiarowy labirynt z fizyką i przeszkodami
Wykład 2 Cykl życia systemu informacyjnego
Wieloplatformowa Gra edukacyjna dla nastolatków
Projektowanie architektur systemów filtracji i akwizycji danych z wykorzystaniem modelowania w domenie zdarzeń dyskretnych Krzysztof Korcyl.
Opracował : Przemysław Drzymała
Jerzy Jelinek Paweł Korpowski
Budowa systemu komputerowego
Wymiana informacji w sieciach komputerowych
Autor: Justyna Radomska
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Sieci komputerowe.
Podsystem graficzny i audio
Maszyna wirtualna ang. virtual machine, VM.
Buforowanie D e f i n i c j a.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Internetowe surfowanie
Programowanie obiektowe – język C++
„Kalkulator zużycia oraz kosztu energii elektrycznej online „
System synchronizacji oraz współdzielenia plików pomiędzy wieloma użytkownikami oraz urządzeniami poprzez sieć Internet Rafał Olszewski Promotor: Mgr inż.
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Gra komputerowa na komputer Raspberry Pi
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Animacja na stronie internetowej
SSWiN SAP CCTV Kontrola dostępu
Architektura współczesnych gier video Adam Sawicki asawicki.infoasawicki.info
Model obiektowy bazy danych
Systemy informatyczne wprowadzenie
Systemy operacyjne i sieci komputerowe
Modelowanie obiektowe - system zarządzania projektami.
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
Podstawy języka skryptów
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Zakres wykładu Kierunki rozwoju oprogramowania systemów rozproszonych Własności wybranych architektur - problemy badawcze Przykładowe obszary zastosowań.
Część 1.  Pierwszym etapem metodyki strukturalnej jest analiza strukturalna której efektem jest model podstawowy systemu.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Platforma .Net.
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Podział sieci komputerowych
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Wzorzec MVC na przykładzie CakePHP
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
Ethernet interface Agregaty wody lodowej 1.
Zapis prezentacji:

Proces realizacji gry Silnik gry Michał Drobot

Plan wykładu Funkcjonowanie silnika gry

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

Funkcjonowanie silnika gry Main loop Pojedynczy obieg gry Musi się wykonać na komputerze klienta w czasie 30/60 fps Wystarczy wykonać operacje wymagane do pokazania odbiorcy nowej klatki obrazu Pozostałe zadania mogą ‘maskować’ się w pomiędzy klatkami Model synchroniczny / asynchroniczny Musi dbać o czas reakcji Działań użytkownika Działań użytkowników sieciowych NPC Fizyki

Funkcjonowanie silnika gry Main loop Przetwarzanie i łączenie assetów Modele Tekstury Shadery Audio Skrypty Animacje …

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

Funkcjonowanie silnika gry GAL Warstwa niskopoziomowa Stanowi warstwę komunikacji ze sprzętem Wymienialna w zależności od platformy Wysokowydajnościowa Obsługuje Video, Audio Zarządzanie zasobami systemowymi Zadania wymagające najwyższej wydajności Fizyka ze wsparciem sprzętowym

Funkcjonowanie silnika gry GAL Wykorzystuje specyficzne zalety danej platformy SPU – PS3 GPU – X360 Jest hermetycznym elementem silnika gry Zmiany 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ści Gry na X360 , Ps3, Wii Znaczące różnice w logice gry względem sterowania

Funkcjonowanie silnika gry GAL Warstwa aplikacji gry Urządzenia System Operacyjny Czas Gry Input Pliki RAM Język DLL Watki Libs Main Loop Init

Funkcjonowanie silnika gry Logika Gry Opiera się na systemie przetwarzania skryptów Nie wymaga dużej wydajności Poza 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) Zwykle pozostaje bez zmian względem platformy

Funkcjonowanie silnika gry Logika Gry Warstwa logiki gry Stan gry Struktury danych Fizyka Zdarzenia Zarządzanie Procesami Interpreter komend

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

Funkcjonowanie silnika gry Logika Gry Struktury danych Służą do zapisu danych dotyczących stanu gry Używamy różnych struktur w zależności od wymagań Gry sieciowe – pakiety upakowane Drzewo świata – wskaźniki Drzewa fizyki… Muszą 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 :>

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

Funkcjonowanie silnika gry Logika Gry Zdarzenia System obsługi wiadomości w świecie gry 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) Stanowi łącznik między widokiem gry a GAL Np.. Machnięcie Wii’Motem odczytuje system zdarzeń i powiadamia GAL o potrzebie wygenerowania odpowiedniego dźwięku i efektu graficznego

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

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

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

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

Funkcjonowanie silnika gry Widok gry Widok gry Wyświetlanie Audio Input Opcje 3D UI Video SFX Muzyka Speech Procesy

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

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

Funkcjonowanie silnika gry System renderingu Assety Geometry Processing Pixel Processing Frame Processing Modele 3D Model Poddany Transfor- macjom Narysowany Pixel Wg Vertexów Klatka obrazu Animacje Tekstury Shadery

hello@drobot.org michal.drobot@ega.org.pl Pytania ? hello@drobot.org michal.drobot@ega.org.pl