3. května 2012 9:51

Lojzik 1: Betaverze

V minulých článcích jsem psal o inspiraci pro Lojzika a o pokusu naprogramovat ho v JavaScriptu. Dnes nás už konečně čeká programování C# verze. První epizodu rozdělím na časově téměř stejně dlouhé části. První bude programování betaverze, o kterém napíšu dnes, a příště to bude o dokončování první epizody.

Programování C# verze

Píše se 11. září 2011, Amerika si připomíná 10. výročí největšího teroristického útoku a já začínám programovat Lojzika. Toto datum jsem si nezvolil, prostě to tak vyšlo.

Kde jinde začít s programováním, než na začátku - jako první jsem tedy udělal úvodní animaci (zatím bez obrázku) a pak menu. Řekl jsem si, že každý si jednou musí zkusit nakreslit svoje vlastní písmo, a tak jsem si ho nakreslil. Původně jsem sliboval, že ho použiji ve všech epizodách Lojzika, ale nakonec to tak asi nebude. Druhou epizodu budu dělat pravděpodobně v XNA a použiji nějaké písmo odtamtud.

Lojzik

Když jsem měl hotové menu i s první položkou Nová hra, mohl jsem se pustit do programování herního světa.

Grafické rozhraní jsem si zvolil WPF, které je vektorové, a tak jsem Lojzika začal dělat také ve vektoru. Musel jsem tedy upustit od pixelové grafiku (díky bohu) a musel přijít nový obrázek Lojzika, který nakreslil Lukáš Hörmann. Ten později nakreslil spoustu dalších obrázků a nebýt jeho, nevypadalo by prostředí Lojzika tak, jako vypadá nyní.

Pro testování herních objektů jsem si vytvořil testovací úroveň. V následujícím videu se můžete podívat, jak tato úroveň vypadala:

Když jsem měl základní objekty, jako diamanty, životy, bodáky a střílny otestované, začal jsem pracovat na grafické části prostředí. Zde se ale vyskytl problém, protože takovou spoustu vektorových objektů počítač zpracovává příliš dlouho a tudíž hra nebyla plynulá a byla pomalá. Přemýšlel jsem, co s tím. První nápad byl použít místo vektoru bitmapy. To hru výrazně zrychlilo, ale pořád to nebylo ono a grafika vypadala příšerně.

Potom jsem přišel na konečné řešení. Při načítání hry se vygeneruje velká bitmapa celé úrovně v rozlišení, ve kterém je hra spuštěna, a uloží se na disk, aby se znovu nemusela generovat. Hra stále vypadá vektorově, ale výkon se dostatečně zvýšil a hra byla plynulejší.

Má to sice i své nevýhody, jako například, že první načítání úrovně trvá dlouho a že jsem si nemohl dovolit do hry dát příliš dynamických objektů. Toto se snad ve druhé epizodě změní.

Zde můžete vidět, jak vypadala testovací úroveň s grafikou:

Prostředí věznice vypadá hodně podobně, jako v JavaScriptové verzi. Některé věci jsem ale změnil, jako například žebříky. Zde můžete porovnat rozdíl:

JS vs C# verze
Vlevo stará JavaScript verze, vpravo nová C# verze Lojzika

Potom jsem začal pracovat na základních dekoracích, se kterými mi pomáhal grafik, a na mřížích. Mříže jsou jediné v herním světě vektorové a ne bitmapové. Důvodem je asi hlavně lenost, protože bych je musel rozdělit na 4 obrázky.

Po mřížích přišla první úroveň. Začalo to náčrtky v pracovním sešitě na angličtinu, ale později přišel poctivý náčrtek na čtverečkovaném papíře. Zde si můžete náčrtek prohlédnout:

Při tvoření náčrtku jsem udělal nějaké chyby, které jsem musel později opravit, aby šla úroveň udělat. Některé změny jsou na náčrtku zakreslené.

V první úrovni jsem dokončil vězeňské dekorace, zprovoznil cílový průchod a do dokončení betaverze zbývala poslední věc - nepřátelé. V betaverzi se objevili dva policajti. Jejich programování šlo hladce až na jednu věc. Dělalo mi problémy je přinutit chodit do kopců. Nakonec jsem ale tento problém vyřešil.

Příběh betaverze jsem zakončil popřáním veselých Vánoc a šťastného nového roku 2012. Betaverze byla hotova.

Do bety jsem ale plánoval ještě jednu věc, kterou se nepovedlo stihnout. Byl to dabing. Dabovat Lojzika měl můj spolužák, ale bohužel se na to na poslední chvíli vykašlal, a tak jsem Lojzika zveřejnil bez dabingu.

Betaverze byla zveřejněna na Štědrý den ráno. Původně jsem plánoval do Vánoc Lojzika dokončit, ale to jsem se šeredně sekl - celkové programování Lojzika mi trvalo více jak dvakrát déle, než jsem původně zamýšlel.

Příště

V příštím článku o programování Lojzika napíši o dokončení první epizody.

Hodnocení

Celkové hodnocení
8 hlasů
Vaše hodnocení
Vyberte počet hvězdiček

Komentáře

Jméno:
Předmět:
Komentář:
  :):-|:P:D;):(8)[evil][arrow][idea][?][!]
Kontrola:

5.5.2012 10:45:15 dabing

Dúfam, že vplnej verzii bude dabing :-)

Well
0
1
© 2011 - 2019 SuperMartas a Tomáš Hypeš