C/C++, hobbi játékprogramozás

Slides:



Advertisements
Hasonló előadás
DEIK nyári ösztöndíj jelentés: a KőPapírMetalFC ”lájtosított” 2D RCSS csapat bemutatása Dóczi Roland Debreceni Egyetem Informatikai kar Mérnök informatikus.
Advertisements

A Dijkstra algoritmus.
Számítógépes ergonómia
Pac-Man játék tanulása Megerősítéses Tanulással Mesterséges Intelligencia algoritmusok tesztelése játékokon Gyenes Viktor Eötvös Loránd Tudományegyetem.
Farkas Bálint Az előadásban... Pár szó a játékok világáról Fejlesztés játékosan Elméleti alapok gyorstalpalója Fejlesztés.
2D képszintézis Szirmay-Kalos László.
Geometriai modellezés
2D képszintézis Szirmay-Kalos László. Számítógépes grafika feladata képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík.
Geometriai modellezés
Számítógépes grafika Szirmay-Kalos László
Sugárkövetés: ray-casting, ray-tracing Szirmay-Kalos László.
Számítógépes grafika Szirmay-Kalos László
3D képszintézis fizikai alapmodellje
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
Számítógépes nyelvészeti alkalmazások Farkas Richárd szept 7.
Készítette: Bodnár Attila
L ÁTHATÓSÁG MEGHATÁROZÁSA tavaszi félév.
Dr. Kovács Emőd VISZ Díjátadó Ünnepség computer graphics Számítógépi grafika Grafikai irányok, kutatások és egyebek.
LabView használata PTE PMMK MIT Nagyváradi Anett
Matematikai modellek a termelés tervezésében és irányításában
Számítógépes grafika, PPKE-ITK, Benedek Csaba, D képszintézis 4. előadás.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Geometriai modellezés 2. előadás.
A számítógépes grafika céljai és feladatai
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
Mesterséges intelligencia
Gútai Magyar Tannyelvű Magán Szakközépiskola, Szlovákia
Korok játéka vagy játékok kora
Lineáris programozás Definíció: Olyan matematikai programozási feladatot nevezünk lineáris programozási feladatnak, amelyekben az L halmazt meghatározó.
Mesterséges Intelligencia Alapjai II. beadandó Orosz György – Vörös Gyula – Zsiák Gergő Pál.
Mesterséges Intelligencia Alapjai II. beadandó Orosz György – Vörös Gyula – Zsiák Gergő Pál.
Számítógépes grafika 3. gyakorlat.
Bevezetés: a Számítógépi grafika tárgya (Szemelvények: amit tudni illik)
Bevezetés a Számítógépi grafikába - előadás
Budapesti Műszaki Főiskola Neumann János Informatikai Főiskolai Kar A Műszaki Tervezés Rendszerei 2000/2001 tanév, I. félév 1. előadás Bevezető a számítógépen.
Intelligens Felderítő Robotok
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
A bemutatót összeállította: Fogarasi József, Petrik Lajos SZKI, 2011
Matematika II. 1. előadás Geodézia szakmérnöki szak 2010/2011. tanév Kataszteri ágazat tavaszi félév.
LayerManager,TiledLayer Léczfalvy Ádám
Térképészeti alapfogalmak, a térképek csoportosítása
Térképészeti alapfogalmak, a térképek csoportosítása
2D képszintézis Szirmay-Kalos László.
Számítógépes grafika Bevezetés
3D képszintézis fizikai alapmodellje Szirmay-Kalos László Science is either physics or stamp collecting. Rutherford.
A képernyő kezelése: kiíratások
Valós idejű adaptív útvonalkeresés
Podoski Péter és Zabb László. Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök.
Fotorealisztikus képszintézis valós időben Szirmay-Kalos László, Csébfalvi Balázs BME IIT.
A Monitor. AszámítógépAszámítógép legfontosabb kiviteli egysége (perifériája) a televíziókhoz hasonló számítógép-képernyő vagy monitor. A monitort egy.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Geometriai modellezés 2. előadás.
Informatikai eszközök a virtuális valóság szolgálatában Hapák József ELTE-IK X. Eötvös Konferencia.
Térképészeti alapfogalmak, a térképek csoportosítása
Piramis klaszter rendszer
Számítógépes Hálózatok 9. gyakorlat. Gyakorlatok Nov 18,20 - Socket Nov 25,27 - Socket Dec 2,4 - ZH Dec 9,11 - pótZH Számítógépes hálózatok GY2 Gombos.
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
A számítógépes grafika alapjai, PPKE-ITK, Benedek Csaba, 2010 Tanagyag forrás © Szirmay-Kalos László, BME A számítógépes grafika céljai és feladatai 1.
GPU alapú fotontranszport nagyfelbontású heterogén közegben BME IIT Szirmay-Kalos László Magdics Milán Tóth Balázs.
Kinetikus Monte Carlo  Bevezetés  Véletlen bolyongás  Residence time algoritmus.
kialakulása, fejlődése, generációk
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Alapvető raszteres algoritmusok, szakasz rajzolása, DDA, MidPoint algoritmus.
Startup felvásárlások multikulturális hátterének elemzése, avagy mesterséges intelligencia alapú ellenőrzőszámítás diszkriminancia-elemzéshez Barta Gergő,
Adatstruktúrák Algoritmusok Objektumok
Mesterséges intelligencia
Sakk algoritmus.
Miért a Műegyetem? Kiskoromban gyakran mentünk el a BME K épülete előtt. Mindig megjegyeztem, hogy úgy néz ki mint valami palota. Később megtudtam, hogy.
Mikroszámítógépek az MNB-ben
Gépi tanulás.
A bemutatót összeállította: Fogarasi József, Petrik Lajos SZKI, 2011
Előadás másolata:

C/C++, hobbi játékprogramozás RayCaster 3D az oktatásban Fogarasi Gergő, Berecz Antónia www.fogarasi.info, gergo@fogarasi.info, berecz@gdf.hu A fallal ütközésre a legpontosabb algoritmus a DDA-n alapul: A kamera egy vektor , síkja a számítógép monitorjának felülete, ahol az irányvektor függőleges, és a képernyő belseje felé mutat. Néhány jól mutató extrával A „7th Kingdom” FPS játék közben C/C++ kódja kb.10 kloc (10 000 kódsor). Mai átlagos gépen, egyetlen szálon kb. 110 FPS-sel fut. Megvalósított még: idő, időjárás, Nap és Hold, DeepthFogging. Bevezetés Az 1980-as, 1990-es évek számítógépes játékait meghatározó RayCaster pszeudo-3D algoritmust még a grafikus kártyák ideje előtt alkották meg. Azonban nem csak történelmi érdekességként van jelentősége, hanem a BSc-s programozás-oktatásban is fel lehetne használni. C/C++, hobbi játékprogramozás Cél: kezdő hobbiprogramozóknak sikerélmény, de igen alacsony szintű megközelítésnél sokára lesz eredmény, igen magas szintű megközelítésnél nem érzi saját alkotásának, kizárólag a C/C++ nyelvi elemeinek használatával, 2D pixelrajzolásra és ablakozásra képes lib-bel 3D-t létrehozni. Napjainkban: a nagyobb, PC-s játékokat még mindig C++-ban írják, a számítógépes grafika tipikusan teljesítménykritikus, a Java/.NET kényelmes, nem erőssége a teljesítmény. Megoldás: megtanulni OpenGL-t mind 2D-s, mind 3D-s használatra, érteni a 3D játékkészítés alapjait, nulláról RayCaster játékmotort készíteni viszonylag egyszerűen megérthető, újraalkotható, az eredmény egészen szép. RayCaster matematikai modell Lépései: 2D-s, felülről elképzelt világ (építészeti alaprajz). Külön 2D-s tömb van az ellenségekre, a tereptárgyakra, a falakra, a padlókra, a plafonokra stb. Fiktív 2D-s tömbök és Egy 2D-ben elképzelt fiktív világ egyéb változók pszeudonyelven Ezután 3D-vé transzformálja a RayCaster algoritmus: A 2D-s négyzethálóban minden négyzetnek van értéke: nulla, ha ott éppen nincs fal, pozitív, ha fal van adott színnel vagy textúrával. A képernyő minden x helye egy sugarat indít, amely a játékos pozíciójában kezdődik. A sugár iránya függ: a játékos aktuális nézeti irányától, a képernyő x koordinátájától. Ezután tovább kell mozgatni ezt a sugarat a 2D-s térképen, amíg bele nem ütközik a térkép olyan négyzetébe, amely éppen fal. Ekkor ki kell számolni a távolságot az ütközési pont és a játékos között, és fel kell használni ezt a fal magassághoz, hogy kirajzolhassuk a képernyőre: ha távolabb van, kisebb, ha közelebb van, magasabb. Továbbfejlesztési lehetőségek OpenCL alapú GPGPU: platformfüggetlen, sokezer FPS értéket eredményez. A RayCaster matematikai korlátainak kitolása. Javaslatok oktatásba bevonására OpenGL/C++ programozás tanítása előtt. BSc MI szakon a programozási alapok, a programozási technológia, a számítógépes grafika tanulása után. Az új tantárgyban RayCasterre épülő játék fejleszthető: egyszerű lövöldözős játék, egyszerű heurisztikával, mesterséges intelligenciával, ember gép ellen. Lezárásként az érdeklődőknek virtuális valóság modellezése tantárgy. Irodalomjegyzék [1] Jagged85, Ray casting, Concept. www.giantbomb.com/ray-casting/3015-1517/, 2014. március 21. [2] A. Christian Seidel, Advanced Raycasting Techniques. GameDev.net, 1999., archive.gamedev.net/archive/reference/articles/article872.html [3] Fogarasi Gergő, “7thKingdom 1 - demo 1”. fogarasi.info, www.fogarasi.info/index.php?oldal=5#ketto_a [4] Gy. Antal, F. Csonka, L. Szirmay-Kalos, Háromdimenzizós grafika. ComputerBooks Kiadó, Budapest, 2006. ISBN: 9636183031, 494 p.