Architektura współczesnych gier video Adam Sawicki asawicki.infoasawicki.info 13.12.2014.

Slides:



Advertisements
Podobne prezentacje
One Framework to rule them all
Advertisements

FLASH - INTERAKCJA Interaktywne dokumenty WWW.
Implementacja algorytmów na procesory kart graficznych
Eclipse jako IDE III a.
SPECJALNOŚĆ: Interaktywna Grafika Trójwymiarowa
Koordynatorzy: Krzysztof BIKONIS Marek MOSZYŃSKI
Wprowadzenie do prezentacji multimedialnych
wykonał Jarosław Orski promotor pracy: mgr Szymon Smaga
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Multimedialne bazy danych
Przegląd ważniejszych bibliotek używanych przy projekcie Quall.
Zastosowanie technologii CUDA w sztucznej inteligencji
PROJECT KULKA. Plan prezentacji Pomysł Realizacja Demonstracji prototypu.
Techniki programowania gier - Fizyka
Możliwości biblioteki logiczno-fizycznej opartej na systemie masa-sprężyna jako środowiska modelowania rzeczywistości wirtualnej. Projekt systemu Seminarium.
Możliwości biblioteki logiczno-fizycznej opartej na systemie masa-sprężyna jako środowiska modelowania rzeczywistości wirtualnej. Przegląd zagadnień Seminarium.
Wieloplatformowa Gra edukacyjna dla nastolatków
Company LOGO Zastosowanie silnika do tworzenia gier.
Pułapki programowania obiektowego Adam Sawicki - – 2 stycznia 2011www.asawicki.info.
C++ w programowaniu gier
Rozwój aplikacji przy wykorzystaniu ASP.NET
Witold Bołt Wprowadzenie do .NET Witold Bołt
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Systemy zarządzania treścią Wykład 1
* HTML5 i CSS3 w nowoczesnych serwisach internetowych
Języki wysokiego poziomu: – funkcje i programowanie bezklasowe
Projektowanie Stron WWW
Realizacja aplikacji internetowych
Microsoft Expression Studio
Gra mobilna wykorzystująca GPS „Dead City”
Informatyczny system edukacyjny do przedmiotu „Multimedia”
Piotr Karpiński 0,5 min. “Dzień dobry, nazywam się Piotr Karpiński
Android - wprowadzenie
HTML5 - czy przewróci do góry nogami rynek aplikacji?
Plan prezentacji Zarys projektu Geneza tematu
Arkadiusz Twardoń ZTiPSK
Witold Bołt. Agenda W czym tkwi problem..? Po co jest oprogramowanie? Kim jest użytkownik? Zbieranie danych Co to jest design Współpraca programista-projektant.
1.Inżynierowie (informatycy) – projektują i implementują oprogramowanie związane z grą poszczególne moduły silnika (rendering, AI, fizyka, audio, etc.)
Instytut Matematyki i Informatyki
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów.
ZAKŁAD SYSTEMÓW KOMPUTEROWYCH
Gra komputerowa na komputer Raspberry Pi
Bazy danych, sieci i systemy komputerowe
LICEUM PROFILOWANE O PROFILU ZARZĄDZANIE INFORMACJĄ
SPECJALNOŚĆ: Oprogramowanie Systemowe
Projektowanie stron WWW
W ramach projektu edukacyjnego pt. „Kalejdoskop zawodów” pracę wykonał Dominik Grelak kl. 2 A Olecko, maj 2014.
Animacja na stronie internetowej
Projektowanie Aplikacji Internetowych
Temat 1: Ogólne cechy języka PHP
Technologie programowania systemów internetowych
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
ZESPÓŁ SZKÓŁ TECHNICZNYCH I OGÓLNOKSZTAŁCĄCYCH IM. STEFANA ŻEROMSKIEGO W CZĘSTOCHOWIE.
Podstawy języka skryptów
Programowanie Windows (Win32/Win64 API)
Technologie internetowe
Programowanie w językach skryptowych
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
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.
Public Tieto_Konferencja Projektów Zespołowych Bartosz Lanc Values Tieto, PDS propozycja współpracy.
Co to jest WPF? Silnik graficzny odpowiedzialny za renderowanie interfejsów (nie tylko!) użytkownika aplikacji dla Windows. Dostępny od.NET 3.0 (2006)
TECHNOLOGIE MULTIMEDIALNE
Innowacja pedagogiczna „Pasja programowania”
Programowanie Obiektowe – Epilog
Różnice między programowanie strukturalnym a obiektowym
C# może więcej! Budowanie aplikacji mobilnych na platformy iOS/Android/Windows Phone przy użyciu narzędzi Xamarin Platform
The Game Engine For Mobile
Spotkanie informacyjne projektu Podniesienie kompetencji kadry dydaktycznej UMK Zadanie 3 i 4 (WMiI)
Zapis prezentacji:

Architektura współczesnych gier video Adam Sawicki asawicki.infoasawicki.info

Agenda Część I: Gry ogólnie – Czym jest: gra, silnik gry – Elementy składowe Część II: Szczegóły techniczne – Warstwy – Jak działa gra – Wydajność Część III: Praca – Stanowiska – Wymagania 2

Gra OprogramowanieRozrywka 3

Gra Gra składa się z: KoduZasobów 4

Silnik Biblioteka/framework/middleware Kompleksowo wspiera tworzenie gier 5

Elementy: Grafika 2D lub 3D Wydajne renderowanie wielu obiektów Efekty oświetlenia i inne Animacje Wykorzystanie GPU – DirectX lub OpenGL – Shadery 6

Elementy: Fizyka Fizyka ciała sztywnego – Wykrywanie kolizji – Działanie sił Fizyka pojazdów, płynów, ciał miękkich, ragdoll, character controller... 7

Elementy: AI Znajdowanie drogi Podejmowanie decyzji Zachowania postaci Technologie: – Automaty stanów – Behavior Trees 8

Elementy: Skrypty...lub edycja wizualna 9

Elementy: Dźwięk, Sieć Pozycjonowanie źródeł dźwięku 3D Efekty, np. pogłos Synchronizacja obiektów między klientami Serwer/lobby 10

Elementy: Narzędzia Edytor, inne... 11

Gra - Warstwy 12 GPU Sterownik API: DX, OGL Gra Silnik

Gra - Warstwy 13 GPU Sterownik API: DX, OGL Gra Silnik Czas

Pętla gry Gra działa w pętli Renderuje kolejne klatki obrazu Płynność animacji mierzymy w FPS 14 while(!Exit()) { ReadInput(); UpdateObjects(); RenderFrame(); }

Wydajność Wydajność jest kluczowa (na niższych warstwach) – Język C++ – Specyficzne techniki: architektura komponentowa, Data-Oriented Design Programowanie równoległe 15 CPU 1 CPU 2 CPU 3 CPU 4 GPU

Praca – Stanowiska Game Programmer Engine/Tech Programmer Graphics/Renderer Programmer Gameplay/Script Programmer Animation Programmer AI Programmer Network Programmer Tools/GUI Programmer 16

Praca – Wymagania C/C++ Inne języki: Java, Objective-C, Flash, HTML, CSS, JavaScript Języki skryptowe: Lua, Python Programowanie obiektowe GUI: C#/.NET, MFC, wxWidgets, Qt, WinAPI DirectX, OpenGL Unity, Unreal Engine Optymalizacja, programowanie wielowątkowe Programowanie sieciowe Systemy kontroli wersji: Perforce, Git, SVN Znajomość platform: iOS, Android, X360, PS3, Linux,... Matematyka: algebra, geometria Metodyki Agile Pasja do gier Język angielski Doświadczenie: lata w branży, ukończone gry 17

Pytania? 18