410 likes | 580 Views
Számítógépes játékfejlesztés. TTK-s Est Előadó: Kovács Máté kovmat86@freemail.hu. Miről is lesz szó?. Esettanulmányok ismertetése: Designed (BlacksmithSoft) SpaceHunters (Silverforge) Terra Mythica (Silverforge). Miről is lesz szó?. A játékprogram, mint… Szoftvertermék
E N D
Számítógépesjátékfejlesztés TTK-s Est Előadó: Kovács Máté kovmat86@freemail.hu Kovács Máté
Miről is lesz szó? Esettanulmányok ismertetése: • Designed (BlacksmithSoft) • SpaceHunters (Silverforge) • Terra Mythica (Silverforge) Kovács Máté
Miről is lesz szó? A játékprogram, mint… • Szoftvertermék • Grafikus alkalmazás • Algoritmusok gyűjteménye • Felhasználói felület Kovács Máté
Szoftver -> Tervezés A projekt életciklusa: • Ajánlás • Követelményleírás • Rendszerterv • Implementáció • Kész termék átadása • Karbantartás, utómunka Kovács Máté
Szoftver -> Tervezés Ajánlás: • Rövid leírás a programról, műfaj meghatározása • Erőforrások felmérése • Csapatszervezés elindítása (a „team” szerepe) Kovács Máté
Szoftver -> Tervezés Követelményleírás: • Játékmenet kitalálása • Alkotóelemek, működés (informális) leírása • Látványtervek készítése Kovács Máté
Szoftver -> Tervezés • SpaceHunters projekt korai látványterve: Kovács Máté
Szoftver -> Tervezés Rendszerterv: • Játék alkotóelemeinek összegyűjtése • Kapcsolatok, működés (formális) meghatározása • Osztályleírások • Diagramok (UML) • Forráskód vázához (architektúra) szükséges információk Kovács Máté
Szoftver -> Tervezés Implementáció: • Kódolás • Kódolás • Kódolás • Hibakeresés(rengeteg) • Demó verziók közzététele Kovács Máté
Szoftver -> Tervezés • Néhány gondolat a kódolásról: • „Beszédes” azonosítók • Egyezményes jelölések (konvenciók) követése • Tervminták (Design Pattern) • Újrafelhasználhatóság, nyílt forrás kódú projektek (open source) Kovács Máté
Szoftver -> Tervezés • Átadás, karbantartás, utómunka: • Végleges verzió (1.0) kiadása • Telepítőfájl, dokumentáció, (forráskód) közzététele • Kiegyensúlyozás, hibák javítása, patch-ek Kovács Máté
Szoftver -> Tervezés Kovács Máté
Szoftver -> UML • Unified Modelling Language(Egységes Modellező Nyelv) • Szoftverkomponensek és kapcsolataik ábrázolása vizuálisan • Objektum Orientált Programozás (OOP) • Diagramok: - Osztály - Állapot - Szekvencia - … Kovács Máté
Szoftver -> UML Osztálydiagram: Kovács Máté
Szoftver -> UML Állapotdiagram: Kovács Máté
Szoftver -> Dokumentáció A dokumentáció szerepe: • kód átláthatóságának növelése (öndokumentáló kód) • újrafelhasználhatóság • csapatmunka irányítása • a program hatékony használatának elősegítése (felhasználói dokumentáció) • Tutorial, bootcamp Kovács Máté
Szoftver -> Minőségi mutatók • Hatékonyság (FPS: Frame per second) • Grafikai minőség • Hordozhatóság, újrafelhasználhatóság Kovács Máté
Grafika -> 2d spriteok Sprite jellemzői: • 2d-s grafikai objektum • Méret • Bitmap, vektorok • Átlátszóság(Transparency) • Forgási fázis / animáció Kovács Máté
Grafika -> 2d spriteok Animáció képkockái(frames): Forgási fázisok: Kovács Máté
Grafika -> 3d-s motor Irrlicht Engine: • Nyílt forráskódú grafikus motor • Meshek betöltése, megjelenítése • Fények • Domborzatgenerlás • Stb… Kovács Máté
Grafika -> 3d meshek Mesh jellemzői: • 3d-s csúcsok(vertex), élek(edge), lapok(face) összesége • Textúra(k) • Animáció • A méret és a forgatás nem saját tulajdonság! Kovács Máté
Grafika -> 3d meshek Példák meshekre: Kovács Máté
Grafika • Sprite-ok és meshek készítése Kovács Máté
Szünet Kovács Máté
Grafika -> 2d-s terep • „Csempe” alapú terep: => Kovács Máté
Grafika -> 2d-s terep • „Csempe” alapú terep (izometrikus): Kovács Máté
Grafika -> 2d-s terep Alfa-csatorna (alpha-channel): • Bitmap esetében a képpontok színeihez: 24 bit RGB (red, green, blue) + 8 bit alfa-channel, mely az áttetszőséget határozza meg + = Kovács Máté
Grafika -> 2d-s terep Terepgenerálás alfa-csatornával: Kovács Máté
Grafika -> Domborzat generálása • „Irrlichtes” domborzat: • Magasságtérkép • Tereptextúra • Részletes textúra • Élsimítások interpoláció segítségével Kovács Máté
Grafika -> Domborzat generálása + + = Magasságtérkép Tereptextúra Részletes textúra Domborzat Kovács Máté
Algoritmus -> Útkeresés • Szélességi bejárás • Dijkstra algorimtus • A* algoritmus • Rendezetlen tömb vs. Kupac • Megkerülő algoritmus Kovács Máté
Algoritmus -> Egység intelligencia • egység állapotai • területre támadás • célpont észlelése • bányászat Kovács Máté
Algoritmus -> Játékos intelligencia Mikromenedszment: • egységek irányítása Makromenedszment: • Gyártás • nyersanyag termelése • Építkezés • „diplomácia” Kovács Máté
Felhasználói felület A felhasználói felület funkciói: • Információk nyújtása • Hatékony vezérlés biztosítása • Hangulatteremtés Kovács Máté
Felhasználói felület -> Menük Menük szerepe: váltogatás a játék funkciói között,pl: • Játék indítása/leállítása • Mentés/Betöltés • Beállítások • Stb… Kovács Máté
Felhasználói felület -> Menük Kovács Máté
Felhasználói felület -> Panel Funkciók elérése játék közben: • Egységek iránytása • Gyártás • Információk megjelenítése Kovács Máté
Felhasználói felület -> Panel Kovács Máté
Felhasználói felület -> Billentyűzet kiosztás Kovács Máté
Köszönöm a figyelmet! Kovács Máté
Az előadáshoz kapcsolódó linkek • E-plakát: http://people.inf.elte.hu/kovmat86/ttksest/ • Designed letölthető verzió: http://people.inf.elte.hu/kovmat86/ttksest/demo_v0.4.zip • SpaceHunters letölthető verzió: http://people.inf.elte.hu/kovmat86/ttksest/sh_v1.0.zip • TerraMythica letölthető verzió: http://people.inf.elte.hu/kovmat86/ttksest/tm_techdemo.zip Kovács Máté