Herní 3D engine pro Windows Phone 7 – bakalářka ke stažení

Tomáš Slavíček       10.12.2011       C#, Offtopic, Grafika       12414 zobrazení

Přibližně poslední rok jsem programoval (a poslední tři týdny sepisoval) bakalářku na téma herní 3D engine pro Windows Phone 7. Včera jsem ji dokončil a odevzdal. Dávám ji k dispozici ke stažení, můžete si ji prohlédnout (zatím bez zdrojových kódů knihovny).

Abstrakt: Práce se zabývá implementací knihovny pro jednodušší vývoj her na platformě Windows Phone 7. Je v ní analyzováno prostředí mobilních telefonů a probráno, jaké vlastnosti by měl herní 3D engine obsahovat. Je navržena hierarchie projektu, popsány a naimplementovány jsou jednotlivé komponenty. Dodána je podpora pro efektivnější správu objektů ve scéně. Rozšířeny jsou grafické možnosti, především o zobrazování poloprůhlednosti a stínů. Algoritmy jsou vybrány s ohledem na omezený výkon mobilních zařízení. Přiložen je vzorový projekt a popsáno jeho použití.

WP_001058

Zvolené téma implementace 3D engine je pochopitelně hodně rozsáhlé, nemohlo tam být zmíněno úplně všechno. Možná se tam najdou i nějaké drobné chybky :) Myslím, že s výsledkem ale můžu být docela spokojený, uvidíme, jak dopadne obhajoba práce.

Nad touto knihovnou bych chtěl v brzké době postavit i nějaké komerční hry (složitější, než ty, co mám teď v Market-place). Jestli byste měli zájem o implementaci nějakého zajímavého projektu, rád se o tom pobavím :)

Ohledně dalšího vývoje, veřejně tuto knihovnu zatím dávat nebudu, zatím si ji ponechám pro sebe jako takovou “konkurenční výhodu”. Ještě ji samozřejmě budu dolaďovat, přidávat další funkce apod. Snad se v brzké době dostanu i k odzkoušení na Xboxu 360, abych zkusil pořádně zapřáhnout naplno tu bestii :D Mohl by to být i další směr jejího možného rozšiřování (implementace dalších efektů pomocí shaderů apod.).

 

Přikládám ještě krátké video z testovací scény. Nahrávané je z emulátoru, kvalita bohužel není úplně ideální. Navíc ani renderované FPS moc neodpovídají realitě, bylo to nahrávané na skoro pět let starém notebooku :) Na telefonu to ale běží plynule, konkrétní naměřené hodnoty FPS jsou popsány v kapitole 4.1 přímo v bakalářce. Ovládání kamery pomocí pohybového senzoru, používání multitouch gest, příp. využití hierarchie dotykových vrstev, na videu také není ukázáno.

 

hodnocení článku

1 bodů / 1 hlasů       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: Herní 3D engine pro Windows Phone 7 – bakalářka ke stažení

Ale je to pomale jak blazen.

Vic nez casual hru v tom neudelas...

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Nemůže to být pomalejší, než cokoliv jiného v XNA na WP7. Naopak ty struktury octree apod. tomu docela výkonově pomůžou, u rozsáhlejších scén. Ty FPS ve videu neodpovídají moc realitě. Scény jsou také zvoleny tak, aby byly nějakým způsobem náročné, např. ve scéně s lightmapami se generuje/renderuje přes 70 stínových textur, do toho tam jsou opět zapnuté i dynamické stíny, použitý efekt mlhy... Určitý výkon si zde bere také použitý skybox.

Ve hrách většinou budou tyhle efekty používané s mírou, stejně tak ty poloprůhledné objekty většinou nebudou vůči sobě tak komplexně rozmístěné. O výkon bych se ale nebál.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Taky si myslím, nicméně úplnou pravdu ukáže až nějaká praktická ukázka(hra).

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Kdybste si to prohlídnul pořádně, tak Tomáš tam má ukázku reálné hry napsané v XNA, která na telefonu běží. Je to někde na začátku.

A nějak si na telefonu nedovedu představit nic jiného než casual hry. Ten, kdo chce hrát AAA tituly, má PC nebo konzoli s velkou televizí nebo projektorem. Nebude se přece krčit u mobilu.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Jojo, byl to screenshot ze hry The Harvest, jedné z prvních 3D her pro Windows Phone (video: http://youtu.be/kXdJrweeXSo ). Tyhle telefony výkonově zvládnou opravdu hodně.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Aby ses nedivil, třeba taková Tegra 2 utáhne hezčí hry než to moje 5,5 let staré core2duo

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

To je sice hezké, ale víc než na CPU záleží na grafické kartě.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

No vzhledem k tomu, že Tegra je řešení, které právě integruje konkrétní CPU i GPU na jeden čip :) Jinak samozřejmě, i pro malé displeje mohou vznikat "velké" hry, viz Sony PSP/PS Vita, Nintendo 3DS... A hry jako Monster Hunter s herní dobou přes 300 hodin, nebo PoF: Forgotten Sands, který ti ani nedovolí uložit hru dřív, než za 20-30 minut... Ale jasně, doménou mobilních her jsou zatím především casual hry, vzhledem k tomu jak a kde se mobily obvykle používají atd.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

To jo, ale čermi srovnával Tegru a Core2 Duo. Měl srovnávat Tegru a nVidia něco, jelikož na desktopu jde hlavně o GPU.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Diskuse: Herní 3D engine pro Windows Phone 7 – bakalářka ke stažení

No vypadá to fakt dobře, myslím si, že na mobily to má celkem pěknou grafiku a pokud se to dobře použije ve hrách, tak to může mít celkem úspěch, třeba na to ještě pěkně vyděláte :-)

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback