Přejít k navigační liště

Zdroják » Zprávičky » Střípky z vývoje hry pro Windows Phone

Střípky z vývoje hry pro Windows Phone

Zprávičky ‐ ‐ Mobilní vývoj ‐

Rune Legend (viz tisková zpráva) vypadá na první pohled po technické stránce jako jednoduchá 2D hra, avšak při hlubším zkoumání lze zjistit, že se za ní skrývá poměrně dost práce. O podrobnosti ze zákulisí vývoje hry pro tento, relativně nový, mobilní operační systém se s námi podělili tvůrci hry.

V první verzi hry jsme se potýkali se dvěma základními problémy. První byla rychlost načítání grafických a zvukových dat, což vytvářelo i několikasekundové načítací obrazovky, viz například první načtení hry Plants vs. Zombie, nebo Angry Birds a jiných. Druhým problémem bylo nevyvážené volání render a update funkcí hry. XNA je v podstatě základní engine a herní smyčku a loading funkce si řídí sám.

Na herní smyčku máme dva základní požadavky – aby byl update stavů hry prováděn v přibližně konstantním čase a aby vykreslování pobíhalo podle výkonu zařízení. Museli jsme si tedy základní smyčku XNA přiohnout, protože tyto dva požadavky nesplňuje. Výsledek je velmi uspokojivý. Na jednodušších scénách (jako je herní deska) jsme schopni dosáhnout vyšší plynulosti, než lze standardně s XNA, protože pokud stíháme vykreslovat rychleji, než aktualizovat stavy hry, jsou všechny animace mezi aktualizacemi interpolované, čímž vzniká velmi plynulý pohyb bez nutnosti složitě počítat nové pozice animací. Zde samozřejmě trochu narážíme na systémové omezení mobilních zařízení, které nám neumožní se dostat nad 30fps. Hodně znatelné to bude až v PC a XBLIG verzi hry.

Problém s pomalým načítáním dat jsme vyřešili dynamickým načítáním za běhu, přesněji během aktualizace stavů hry mezi vykreslováním.

Hra používá i několik základních efektů, které oživují příběhové animace. Kromě pár jednoduchých algoritmů na animaci vegetace a mraků zde máme i mechanismus deformace animovaných spritů a částicový systém na animace listů a jiných drobných efektů.

Graficky je hra zasazena do severské mytologie, kde bylo velmi obtížné rozumně vyobrazit legendu o Odinovi v ucelené podobě. Samotná legenda není v jednotlivých částech konzistentní a například strom Yggdrasil je vždy popisován jinak.

Veškerá grafika je kreslena ručně, jen pomocí tabletu a Photoshopu, při zachování jednotlivých vrstev pro snadnou tvorbu animace.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů

Rok po Shai-Hulud: co se změnilo na npm a co musíte udělat do ledna

Před rokem začal registrem npm procházet samošířící červ Shai-Hulud. Od té doby se útoky na dodavatelský řetězec JavaScriptu staly pravidelnou záležitostí a npm postupně přepisuje pravidla publikování. Projdeme, co se za ten rok stalo, jak dnes bezpečně publikovat balíček, co musíte stihnout do ledna 2027 a jak se bránit jako uživatel balíčků.

Vercel zrychlil směrování v CDN. Překvapivě pomohly menší bloky

Vercel zrychlil směrování v CDN tím, že začal načítat víc dat najednou. U velkých webů mu po každém nasazení scházely v cache údaje o mnoha jednotlivých cestách, takže je musel opakovaně dohledávat. U nových bloků metadat Vercel naměřil o 91 % kratší dobu tohoto hledání v 99. percentilu. Cesta k výsledku ale vedla přes nečekané zjištění: příliš velký blok se při vyřizování požadavků nevyplatil.

GraphQL: Alternativa k REST API zblízka

Když se dnes navrhuje nové API, většina vývojářů automaticky sáhne po RESTu. Je to pochopitelné: REST je jednoduchý, dobře zdokumentovaný, podporují ho všechny jazyky a frameworky a většina z nás s ním pracuje léta. Přesto se v posledních letech stále častěji objevuje otázka, zda je REST vždy tou nejlepší volbou. Nejčastěji zmiňovanou alternativou je GraphQL, dotazovací jazyk pro API, který vznikl ve Facebooku a který dnes používají firmy jako GitHub, Shopify nebo Netflix.