úterý 20. srpna 2013

Fáze: Co přidat?

Je tu funkční hra o pár úrovních a přijde mi, že je dobrá, ale přesto jí něco, ač ne úplně zásadního, chybí. Nějaký malý nápad, či nějaký originální koncept, snad herní mechanika, o které by se psalo jako o zásadním důvodu, proč si máte Kirkse zahrát. 

Přemýšlel jsem o přidání systému schovávání, jako je v Alcatrazu nebo Colony 28. Ale nepřijde mi to jako proveditelné z důvodu, že by se muselo přidat další tlačítko na obrazovku... případně nahradit dosavadní tlačítkový interface (tlačítka doleva a doprava) za joystick, který mi nepřijde zrovna ořechový. Taky mě napadlo, že by se dalo použít braní věcí do mechanické ruky robota, nebo jen jednoduché přilepení předmětu před horní část robota, ale zatím nevidím dobrý důvod pro přidání téhle fíčury. Že by snad Kirks házel předměty? Ale proč, když má zbraň? Přenášení kostiček na různá předem daná místa á la Portal by snad šlo, ale opět nevím, jak bych to řešil z pohledu interfejsu.

Interface zahrnuje následující tlačítka:

Šipka doleva, šipka doprava, střelba a skákání. Ikonky jsou rozmístěné po víceméně celé dolní části androidí obrazovky (jedno místečko uprostřed je, naštěstí, volné). 

Tlačítka tu jsou a mačkají se tak, že hráč musí stát pod ním a stlačí ho zkrátka a jednoduše přímo prstem. Jde o nápad inspirovaný Gods, kde se mi líbil, takže proto je to takhle řešené. Dále tu jsou posouvatelné krabičky, jež se dají použít jako odrazový můstek. Některé by mohly být zničitelné a v nich možná nějaký užitečný bonus, anebo naopak něco, co hráče lehce vystresuje. Zhruba na způsob původního Duke Nukema.

Co se výtahů a pohyblivých plošinek týče, v prvních úrovních nejsou. Jsou v plánu - v dalších úrovních jich budou mraky, tedy přiměřeně. 

Napadlo mě, že by Kirks mohl sbírat cestou po úrovni nějaké útržky kódu, nebo snad indicie, a pak na finální plošince by se hráč přiklonil k jedné z pěti nabízených možností. Pokud by vybral správně, začaly by se na něj sypat zlaťáky, resp. diamanty. Jako v Pevnosti Boyard. Hádanky by byly náhodně generované, což by zvýšilo replayabilitu. Jestli by to ale nepůsobilo přeplácaným dojmem, to v tuhle chvíli vážně nevím.

A tohle je tedy ta fáze, kdy se herní tvůrci chytají za bradu a přemýšlejí a mudrují, a vývoj hry stojí a sponzoři skáčou z oken. No, zase tak černé to snad nebude.

zeal

středa 14. srpna 2013

Tvůrcovo krizové odpoledne a jak ho překonat

Jeden z prvních návrhů. Scan papírové kresby.

Tvořit herní software je zábava, a především zábava... dočtete se někde, třeba na N4G a jí podobných stránkách. Na zasvěcenějších místech se dozvíte pravdu o tom, že skutečnost je rozhodně jinak barevná, a hlavně mnohem temnější - ne ale černá, to by se v takovém případě k tvoření rozhodně nikdo nehrnul a ti, co už mají nějakou tu hru za sebou, by v ulicích, nebo na herních fórech, varovali ostatní, aby se rozhodně nepouštěli do hraní her, a stáli by si za jedním: "To raději běžte prodávat zbraně Somálcům, než dělat ta herní monstra." A to se neděje. Že zábava rozhodně není synonymem herní tvorby je pravda (a to se herní tvůrce dozví až trochu později). Už ale není pravda, že zábava a herní tvorba se navzájem vylučují. Prostě, někdy ta herní tvorba dokáže pokazit náladu... protože A. se něco nedaří B. objeví se (technický) problém C. přestává vás ta vaše hra bavit a už byste chtěli dělat ten jiný nápad, který vás před pár hodinama pošimral na nose D. zjistili jste... že se nedá hrát (nikoli dohrát) E. nejste si jisti, jestli v tom chcete pokračovat, a další podobné problémy, jež na herního tvůrce číhají v tom křoví, ve kterém zmizela ta černá kočka, která vám přeběhla přes cestu.

O svých dvou levelech si momentálně myslím, že jsou dobré. Už nejsem tak nadšený (jsem o trošičku méně nadšený, než na začátku), a je to asi dobře, protože jsem je hrál dokola už víckrát, než kolik Nintendo vydalo dílů hry Super Mario Party. Si tak říkám, že jim něco chybí. Víc akce, nebo že by větší výzva? A tak podobně. Nesmím ale zapomínat, že jde o počáteční úrovně ve hře a že hráči tak musím poskytnout lehčejší ponoření se do hry, než aby je to nechtělo pustit díky vysoký obtížnosti dál, do druhé obrazovky. Taky nesmím zapomenout, že ač jde o olsků skákajdu, tak doba dohrání jedné úrovně nesmí přesáhnout "magickou" pětiminutovou hranici, protože takhle už to s hráči hrajícími na mobilu zkrátka je. A taky že jo - u Plants vs Zombies to funguje. U Alien Breed už tak docela ne, a po zhruba pěti minutách ho vypínám, a to také znamená, že není velká šance, abych na jeden zátah dohrál celou úroveň.

Na překonání krizového odpoledne doporučuji šálek kávy.

Jak ale dál, s dalšími levely? Dal jsem si za úkol vyrukovat s novou grafikou v každém levelu. To aby se hráčovi ty tapety tak snadno neokoukaly. Počítám s tím, že zhruba pět levelů bude tvořit svět, a každý svět bude mít vlastní, velice odlišný, grafický styl. Něco na způsob olsků herních mistrů, kteří přicházeli s úrovněmi jako džungle, Egypt, Aljaška, reaktor, středověk a prostě na sebe navazující pestrá skrumáž levelů, které hráče motivují jít do dalšího levelu. V design dokumentu mám sice už načrtnuté vše potřebné, aby ta výměna prostředí dávala smysl, teď si ale říkám, že už teď pár věcí ve hře smysl nedává, tak to možná nechám bez toho vysvětlování, té omáčky okolo, a udělám to co nejjednodušší, v duchu olsků her.

Chci to mít designově co nejčistší, a tak sázím spíše na minimalismus, než na hezké obrázky. S postavičkou jsem udělal přesný opak, ale nakonec ten kontrast mezi robotem a prostředím vypadá vážně dobře. Ještě pár věcí chci přidat, ale mám neustálou obavu, aby to nebylo na konci přeplácané.

Je to rozhodně zajímavé, ta tvorba her. Často i zajímavější, než je hrát. Tak zase u dalšího příspěvku..

zeal

pondělí 5. srpna 2013

Playtestování v Unity


Jednou z největších výhod Unity je možnost okamžitého playtestování vaší hry. Něco takového je, resp. snad ještě donedávna bylo, něco nevídaného. V C++, afaik, musíte vyhotovit build, až poté si můžete vyzkoušet, zda cihlička sletěla na správné koordináty, či zda přistála jen o pár milibodů vedle, což vede k nevyhnutelnému: hňátání dalšího a dalšího buildu a růst firemního šílenství, potažmo budgetu, jehož částka, která se "spálila" během výroby buildu, mohla být uplatněna na něčem užitečném - např. na občerstvení, které, jak známo, zvyšuje produktivitu práce.

Playtestování je zásadní součástí herně výrobního procesu, bez které by nebylo možné: předběžně odhalit bugy, vidět hru v pohybu ještě před vyhotovením buildu, a s tím spojené tunění obsahu k perfektnímu výsledku.

Jak takové playtestování v Unity funguje? V zásadě jde o uživatelsky příjemný proces, který sestává ze zmáčknutí jediného tlačítka nahoře, označeného šipečkou "Play". Unity je schopna hru okamžitě spustit, a nejen to: hru si můžete také zapauzovat a ve Scene okýnku prohlédnout celý herní level v jeho nehybné kráse  (a po odpauzování v jeho hýbající se kráse) a pořádně prozkoumat, co a kde se dá dopilovat. V průběhu playtestování jde level měnit. Lze doplňovat modely, přesunovat je, a to i když hra není zapauzovaná, což se hodí třebas, když se postavička někde zasekne, či zda v průběhu hraní zjistíte, že jen o vlásek nepřeskočíte propast, čili "druhý břeh" myší přitáhnete a nepřerušovaně hrajete dál. Lépe už to udělat nešlo...

Trošku problémek se může dostavit, když po takovém vytunění levelu v průběhu playtestování tento playtest vypnete a vrátíte se do Scene okýnka (kde vizuálně přesunujete modely). Totiž, v Unity je to tak, že cokoli změníte během playtestování, tak se po vypnutí Playtestu vrátí zase do původního stavu, v jakém byla úroveň před jeho spuštěním. Průser. Párkrát se mi to už stalo, ale to asi každému uživateli, který se pokoušel v Unity něco udělat. Tohle se dá obejít, tak, že do scriptu napíšete řádek přikazující Unity nechat změny udělané po zmáčknutí Play. Není to ale dvakrát rozumné, protože mám takový dojem, že všechny poletující a jinak animující se prvky taktéž zůstanou na pozicích, v nichž se právě nalézají a to by žádný kodér jistě nechtěl.

Co se Androidího zařízení týče, playtestování na něm je podobná legrace, jako na jeho PC konkurentovi. Stačí si do mobilního zařízení stáhnout ovladač, přes který se dá playtestovat tak snadno, jako na PC, s tím, že obraz na Androidu zdá se trochu neostrý, což je cena za bleskovou rychlost zapnutí playtestu. Sledovat playtest ale můžete i na monitoru, nezvládnete-li se dlouze dívat na svůj rozostřený Android.

Potřebujete to v číslech? Spuštění playtestu trvá asi jednu sekundu. Vytvoření buildu asi půl minuty. Rozdíl, ač se to nemusí zdát, je obrovský, protože tlačítko Play stisknete v průběhu dělání hry asi milionkrát (nepočítáno).

zeal

neděle 4. srpna 2013

Vítejte

Vítejte na vývojářském deníčku hry Kirks.

Kirks je moje první hra, plošinovka, kterou vyrábím v endžinu Unity 4 a to zhruba po dobu jednoho roku, s tím, že na hře pracuji opravdu jen ve volných chvilkách, a ne zdaleka ve všech, které se naskytnou. Navíc jsem si dal pár několikaměsíčních pauz, v nichž jsem rozdělal pár dalších projektů (ty jsou momentálně u ledu). Někdo by mohl namítnout, že s takovýmto přístupem hra nebude nikdy dokončená, a že bych namísto Kirkse měl raději dělat Pong nebo Breakout, či podobný nesmysl. Štěstí je, že dělám v Unity a to znamená, že pokud se na výrobu hry opravdu soustředím, je možné udělat velký pokrok v řádu pouhých několika dnů. Tohle platí v současnosti mnohonásobně více, než když jsem začínal a víceméně nevěděl "jaká zrovna bije".

Co mám hotové? Zatím to jsou dvě úrovně, ale zato jsou plně hratelné a z jejich designu mám upřímnou radost. To samozřejmě znamená, že ty hlavní featury jsou také hotové. Endžin je hotový, a z toho vyplývá, že mám vytvořený pohyb postavičky po úrovni (zpočátku velký challenge), vyřešenou interakci s prostředím (funkční fyzika) a střelbu (která je po stránce využívání paměti řešená velice moderně), a také tu jsou různé bonusy a další překvapení, o kterých se zatím rozepisovat nehodlám. Menu je hotové. Přepnout do něj se dá kdykoli stlačením tlačítka Home.

Momentálně přede mnou stojí challenge v podání editoru úrovní nebo alespoň nějakého systému, s jehož pomocí bych mohl plácat plošinky a krabičky (na které postavička skáče) po obrazovce, a to podle vzdáleností, které je postavička schopna přeskočit (jedna z výzev hry je skákání přes propasti, ale i přes jiné překážky). Prozatím jsem zkusil vytvořit v obrázkovém editoru grid a nějako vymyslet, v jakých vzdálenostech můžou plošinky být od sebe, ale mám dojem, že nejlepší bude udělat design halabala a ty vzdálenosti pak řešit během zkušebního průchodu úrovní, jak jsem to ostatně řešil u prvních dvou. Je to časově náročnější, než kdybych to nabouchal ve skvělém editoru úrovní, ale holt výroba editoru taky není zrovna lehká záležitost, tedy alespoň předpokládám, že není.

Každopádně, jsem spokojený s tím, v jakém stavu zatím Kirks je. Od první verze je to pokrok vpravdě sedmimílový.

Uvidíme se u dalšího zápisku. Zda to budou náhodné myšlenky, či velmi detailní popis s desítkami obrázků, to se ještě uvidí.

zeal