Problemy programowania gier. mgr Mateusz Rynk

Podobne dokumenty
Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

Projektowanie gier komputerowych. dr inż. Mariusz Szwoch

GUI - projektowanie interfejsów

Tworzenie gier na urządzenia mobilne

Tworzenie gier na urządzenia mobilne

Gry Komputerowe - laboratorium 0

Zaawansowany kurs języka Python

GRY KOMPUTEROWE 3D OpenGL DirectX Ogre3D Crystal Space ClanLib Irrlicht SDL Ardor3D jmonkey Engine GRY KOMPUTEROWE 2D ORX Troll2D

GUI - projektowanie interfejsów

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

KARTA KURSU. Grafika komputerowa

Grafika komputerowa i wizualizacja

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Referat Pracy Dyplomowej

Rok akademicki: 2014/2015 Kod: RIA ID-s Punkty ECTS: 7. Kierunek: Inżynieria Akustyczna Specjalność: Inżynieria Dźwięku w Mediach i Kulturze

PyGame Gra w Ponga. Spis treści

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

UNREAL ENGINE 4 JAKO NARZĘDZIE DO TWORZENIA GIER

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu

Jak powstawał Wielki Mistrz

Bartosz Bazyluk GAME LOOP Podstawowy element silnika gry komputerowej. Programowanie Gier Komputerowych, Informatyka S1, III Rok

Unreal Engine w 24 godziny : nauka tworzenia gier / Aram Cookson, Ryan DowlingSoka, Clinton Crumpler. Gliwice, cop Spis treści.

Grafika 3D na przykładzie XNA 3.1

D O K U M E N T A C J A

Elementy do grafiki komputerowej. Wprowadzenie

Karty graficzne możemy podzielić na:

Mikołaj Kania Waldemar Korłub Jakub Krajewski

PRZEWODNIK PO PRZEDMIOCIE

Współczesna problematyka klasyfikacji Informatyki

Problemy i Zastosowania Informatyki

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013. Forma studiów: Stacjonarne Kod kierunku: 11.

Rynek gier PC (Steam) part 1. Piotr Sobolewski

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Tytuł projektu. WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie WYDZIAŁ INFORMATYKI STOSOWANEJ

INŻYNIERIA OPROGRAMOWANIA

INŻYNIERIA OPROGRAMOWANIA

Koło zainteresowań Teleinformatyk XXI wieku

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu

forma zajęć * w+ćw O/F P/K sem+ćw O K Szkolenie BHP Inne O Z 4ćw O/F** P/K zajęć*

Wprowadzenie do grafiki maszynowej. Wprowadzenie do wprowadzenia

PROGRAMOWAĆ KAŻDY MOŻE

Podstawy użytkowania systemu Linux

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

SEMINARIUM DYPLOMOWE

Numer i nazwa obszaru: Temat szkolenia:

GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego.

Wykaz tematów prac licencjackich w roku akademickim 2017/2018 kierunek: informatyka (studia niestacjonarne)

Projektowanie aplikacji graficznych. dr inż. Jarosław Zubrzycki

Komunikacja człowiek komputer. Dr inż. Agnieszka Szydłowska

Tworzenie prostych gier w programie GameMaker

Grafika Komputerowa. Wprowadzenie

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Gry komputerowe i multimedia, GKiM studia niestacjonarne Dla rocznika:

1.Wstęp. 2.Generowanie systemu w EDK

Lab. Poznanie procesu modelowania świata wirtualnego. Zaznajomienie z algorytmami symulacji zjawisk fizycznych w świecie wirtualnym.

Grafika 3D i multimedia

ZAKRES TEMATYCZNY KONKURSU 3/1.2/2016/POIR PROGRAMU SEKTOROWEGO GAMEINN. A.1 Innowacyjne rozwiązania w zakresie projektowania modeli rozgrywki w grach

Liczba godzin w semestrze II r o k. Nazwa modułu. PLAN STUDIÓW (poziom studiów) I STOPNIA studia (forma studiów) niestacjonarne

Liczba godzin w semestrze II r o k. Nazwa modułu. PLAN STUDIÓW (poziom studiów) I STOPNIA studia (forma studiów) stacjonarne

Rok I, semestr I (zimowy) Liczba godzin

Przyspieszanie sprzętowe

Wprowadzenie do prezentacji multimedialnych

Innowacja pedagogiczna na zajęciach komputerowych w klasach 4e, 4f, 4g. Nazwa innowacji Programowy Zawrót Głowy

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

Instrukcja instalacji oprogramowania dla środowiska Windows

Esenthel - Instalacja

INŻYNIERIA ZARZADZANIA,

Specjalność Systemy Aplikacyjne Grafiki i Multimediów. Wydział Informatyki, Politechnika Białostocka

Szkolenia SAS Cennik i kalendarz 2017

CZAS NA PROGRAMOWANIE

Numer i nazwa obszaru: Temat szkolenia:

Sprawozdanie z realizacji programu Kodowanie z klasą dla uczniów klasy II i IV Szkoły Podstawowej nr 7

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Systemy Informatyki Przemysłowej

Programowanie gier komputerowych. Tomasz Martyn. Wykład 1. Silnik gry

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Katarzyna Pękala MSDN AA Program Manager Microsoft

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

Międzyuczelniana Specjalność Multimedialna

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Wprowadzenie do QT OpenGL

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Kierunek: INFORMATYKA. Studia stacjonarne. Studia drugiego stopnia. Profil: ogólnoakademicki

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Dokumentacja projektu QUAIKE Założenia ogólne

PyGame Gra w Kółko i Krzyżyk

Zespół Szkół w Fiukówce. Program. koła zainteresowań z informatyki. Dla uczniów VI klasy Szkoły Podstawowej w Fiukówce

Politechnika Poznańska, Instytut Informatyki, SUM-TWO

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

KURSY PROGRAMOWANIA DLA DZIECI

Instytut Informatyki, PWSZ w Nysie Kierunek: Informatyka Specjalność: Systemy i sieci komputerowe, SSK studia stacjonarne Rok 2012/2013

Animowana Grafika 2D

LISTA KURSÓW PLANOWANYCH DO URUCHOMIENIA W SEMESTRZE ZIMOWYM 2015/2016

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

SKRYPT KODOWANIE. Nauczycieli

Transkrypt:

Problemy programowania gier mgr Mateusz Rynk

Od czego zacząd? pomysł na grę pomysł na wykonanie

Pomysł na grę Pomysł na fabułę Pomysł na główny cel gry

Narzędzia Środowisko programistyczne (Visual C# + XNA) Oprogramowanie do obróbki grafiki 2D i 3D oraz dźwięku Edytor poziomów Edytor skryptów

Środowisko programistyczne (Visual C# + XNA)

Oprogramowanie dodatkowe

Nic od zera biblioteki i silniki DirectX i OpenGL Silniki gier: Retribution Engine Unity Unreal Development Kit Wolfenstein 3D for the iphone Wolf4SDL Heretic and Hexen Hexen II: Hammer of Thyrion Micropolis Irrlicht Engine - Open Source 3D Game Engine Arianne RPG - Multiplayer Online Engine DUGL - The DOS Ultimate Game Library SxDL Game Development Toolkit SpriteCraft Freeware 2D Game Engine Microsoft MechCommander 2 Apolyton Civilization Call to Power II Xgame - X11 Game Programming Library Pygame Pure Power Tactical Engine: PPTactic Golden T Game Engine. SDL - Simple Directmedia Layer Allegro QuakeII.NET SCI Studio Quake III Arena, Quake III Team Arena, Quake II, Quake Doom Strategus Real-Time Strategy Game Engine Crystal Space free 3D Engine PLIB Portable Games Library ClanLib Game SDK Obsidian COLDET 3D Collision Detection Library Id Software's Wolfenstein 3D

RocketCommander

Budowa gry Silnik graficzny Silnik fizyczny Obsługa I/O Sztuczna Inteligencja Dane gry Skrypty Obsługa dźwięku

Silnik graficzny

Silnik fizyczny Samodzielna implementacja Wspomaganie sprzętowe NVIDIA PhysX Eksplozje wywołujące kurz i powstawanie gruzu Postacie o złożonej geometrii z bardziej realistycznym odwzorowaniem ruchu i interakcji Nowe, widowiskowe bronie z niewiarygodnymi efektami Ubrania i materiały, które rozdzierają się w naturalny sposób Gęsty dym i mgła, które opływają obiekty znajdujące się w ruchu

Moduł sztucznej inteligencji Dedukcja, wnioskowanie, rozwiązywanie problemów Planowanie Uczenie się Przetwarzanie języka naturalnego Analiza ruchu Percepcja Inteligencja Społeczna http://en.wikipedia.org/wiki/artificial_intelligence

Podstawowe zasady działania gry Uruchomienie gry Załadowanie danych Analiza danych pochodzących z urządzeo We/Wy Wyświetlanie obrazu, odtwarzanie dźwięku Zakooczenie programu

Pętla gry Wejście do pętli Sztuczna Inteligencja Obsługa wejścia Detekcja kolizji Fizyka: ruch Odtwarzanie dźwięku Rysowanie obrazu na ekranie

Wielowątkowośd w grze Sztuczna inteligencja Wątek 1 Częśd wspólna Wątek 2 Wątek 3

Przykładowy problem do rozwiązania Sprawid, żeby jednostki latające nie wpadały na siebie, ustępowały sobie miejsca i sprawiały wrażenie, że widzą swoje otoczenie.

Boidy Reynoldsa Określenie sąsiedztwa Realizacja Trzech Zasad Wykonanie ruchu

http://www.red3d.com/cwr/boids/ Boidy Reynoldsa - 3 zasady Wyrównanie Rozdzielnośd Spójnośd

Rozdzielnośd psumapozycji = [0,0,0]; licznośdsąsiedztwa = 0; dla każdego Boida w sąsiedztwie { psumapozycji = psumapozycji + Boid.pPosition; licznośdsąsiedztwa = licznośdsąsiedztwa + 1; } pśredniapozycja = psumapozycji / licznośdsąsiedztwa; vwektorkorygujący = pposition pśredniapozycja;

Wyrównanie pśredniaprędkośd = [0,0,0]; licznośdsąsiedztwa = 0; dla każdego Boida w sąsiedztwie { vsumaprędkości = Boid.vSpeed; licznośdsąsiedztwa = licznośdsąsiedztwa + 1; } pśredniaprędkośd = vsumaprędkości / licznośdsąsiedztwa; vwektorkorygujący = pśredniaprędkośd vspeed;

Spójnośd psumapozycji = [0,0,0]; licznośdsąsiedztwa = 0; dla każdego Boida w sąsiedztwie { psumapozycji = psumapozycji + Boid.pPosition; licznośdsąsiedztwa = licznośdsąsiedztwa + 1; } pśredniapozycja = psumapozycji / licznośdsąsiedztwa; fśredniaodległośdodsąsiada = Dystans(pŚredniaPozycja, pposition); vwektorkorygujący = [0,0,0]; dla każdego Boida w sąsiedztwie { fdystansodsąsiada = Dystans(pPosition, Boid.pPosition); vwektorkorygujący += ((Boid.pPosition - pposition) * (fdystansodsąsiada - fśredniaodległośdodsąsiada)) * (1.0f / fdystansodsąsiada); }