úterý 9. prosince 2014

Moje Ludum Dare hra: One Screen Universe

Je tomu přesně rok, co jsem se začal účastnit Ludum Dare - soutěže herních tvůrců. Teď o víkendu proběhlo další kolo, kterého jsem se opět zúčastnil, a já při tom zjistil jednu věc: baví mě to stále víc a víc! No a nejvíc mě baví kódování. A možná taky právě proto se těch pár set řádků kódu jakoby napsaly samy od sebe, nebo alespoň jsem měl takovej pocit na konci, když jsem si uvědomil, že jsem měl jen minimum chvilek, kdy mi Unity zahlásilo error. Co se dalších stránek vývoje týče, myslím, že jsem udělal i nějaký ten pokrok s grafikou. Už to vypadá jakžtakž k světu a příští, přespříští hra by mohla snad mít i nějakou tu poloprofi kvalitu. Pokud bych měl být konkrétnější, jsem docela hrdej na pěknou, myší malovanou, explozi - v minulosti jsem tu sice psal o editoru, v němž se dají vygenerovat animované exploze, strach z překročení pravidel mě ale přinutil sáhnout na myš a pořádně s ní zatřepat, až vznikla pěkná exploze.


Téma pro Ludum Dare 31 bylo "hra na jedné obrazovce". Aha, no ale všechny hry jsou přece na jedné obrazovce, nebo ne? Trošku praštěně znějící téma, musela si říkat většina participantů LD, ale po druhém zamyšlení se zřejmě má jednat o hru, která nemůže skrolovat, ani se nijak naklánět a pozadí musí zůstat víceméně stejné, protože je v pravidlech jen jedna obrazovka - přece!

A tak vzniklo na mém počítači One Screen Universe.

Ještě jsem tedy předtím vypracoval design náčrtek na kus papíru, vymyslel příběh, herní mechaniky a pod. Jako první jsem se pustil do pozadí. Když už jedno pozadí, tak animované, napadlo mě, když jsem náhodně otáčel čudlíkama v Unity a nakonec z něj vypadlo zajímavě vypadající pozadí připomínající vesmír. Poté následovala raketka a další grafika. Většina času padla na kódování - a to jsem se na ničem nezasekl, šlo to jako po másle, no padlo několikanásobek kódu než na všech mých předchozích hrách dohromady. Bylo toho potřeba napsat tolik, a v tak krátkém čase. Myslím, že mi tvorba One Screen Universe zabrala možná 13 hodin (kód plus grafika plus zvuk). V poslední hodině jsem ještě neměl napsané kolize mezi střelou a cílem, takže jsem lehce znervózněl a zároveň jsem u konce ještě rychle složil úvodní melodii a zvuky střelby a výbuchu. Když jsem vyplňoval dotazník na stránkách Ludum Dare, měl jsem pouhých patnáct minut k dobru.

Hra je plně funkční, a není - pokud vím - rozbitá. Nakódoval jsem "posílání vln", takže po zastřelení určitého počtu cílů program pošle další vlnu (a to se opakuje až do nekonečna). Hratelnost není z nedostatku času vyladěná. Do hry se nedostala řada nápadů. Nedostala se do ní hlavní herní mechanika, která by tuhle hru odlišila od ostatních, podobných her, ale takový už je Ludum Dare.

Po deadline, v rámci pravidel:

Vůbec poprvé jsem přidal porty na jiné platformy, protože to byla otázka jen jednoho jediného kliknutí a tentokrát jsem si na to vzpomněl. Hru si tak můžou zkusit i majitelé Maců a Linuxu (a kdoví, možná se to rozjede i na Steam OS). Později můžu přidat i androidí verzi, která bude ale potřebovat trošku přepsat - kód klávesnice se musí přepsat na kód pro prsty.

Doufám, že se to bude někomu aspoň trochu zamlouvat.

Odkaz na hru: http://ludumdare.com/compo/ludum-dare-31/?action=preview&uid=31752



zeal

4 komentáře:

  1. Moc pěkný článek!
    Vím, že jsi sice "začátečník", ale neuvažoval jsi někdy, že bys na blogu mohl začít nějakou sérii výukových článků pro lidi, kteří nemají s programováním žádné zkušenosti a chtějí se to naučit? Znáš popřípadě nějaké stránky, které se tomuhle věnují?
    Dík. :-)

    OdpovědětVymazat
  2. Díky. Už jsem o tom přemýšlel, že bych zkusil udělat seriál článků na téma Začínáme s Unity, buďto sem anebo pro KK. Třeba bych to udělal stylem, že by každý díl byl návodem, jak udělat kompletní malou hru. Začal bych Pongem a pokračoval dalšíma, jak postupně vycházely? Promyslím to. ;)

    OdpovědětVymazat
  3. Nemohl bys mi doporučit nějaké stránky, které by mě mohli naučit ÚPLNÉ základy programování?

    OdpovědětVymazat
  4. Pro začátek v Unity bych ti doporučil tohle:

    http://docs.unity3d.com/Manual/ScriptingSection.html
    http://unity3d.com/learn/tutorials/modules/beginner/scripting
    http://forum.unity3d.com/threads/newbie-guide-to-unity-javascript-long.34015/

    Jinak ty úplný základy programování se dají dobře naučit z učebnic Javascriptu nebo Pythonu. Není to nic těžkýho, to těžší přijde časem. :)

    OdpovědětVymazat