Projekt „Vytvorenie počítačovej hry pomocou aplikácie Game Maker“. Ako sa vyrábajú počítačové hry? Programy pre hry na počítači

Vývoj hier je na svete, je sľubný a získava na popularite. Pripravili sme podrobnú infografiku o ceste učenia sa vývoja hier.

Existuje mnoho oblastí spojených s vývojom hier a každá fáza učenia nadväzuje na predchádzajúcu fázu. Napríklad by ste nemali okamžite preskočiť na herné motory. Začnite s vývojom softvéru, študujte matematiku so zameraním na programovanie hier a až potom prejdite na vývoj hier. Každý z uvedených krokov je podrobným sprievodcom, ktorý obsahuje knihy a ďalšie materiály.

0. Rozvoj hier pre deti

Mnoho kníh sa zameriava na legendárne a intuitívne vývojové prostredie Scratch pre deti, vrátane ScratchJr. Po základe prichádza informácia o Python Pygame. Existuje kniha pre päťročné deti, ale väčšina materiálu je vhodná pre deti od 8 rokov.

1. Informatika

Teoretické kovanie je povinná súčasť, bez ktorej nemá ďalšie štúdium zmysel. Tento výber vzdelávacej literatúry obsahuje základy, informácie o algoritmoch a matematike v kontexte štúdia informatiky.

2. Programovacie jazyky

Hovoriť počítačovým jazykom nie je ľahké, ale je to možné. A takých spôsobov je veľa. Jazyk C napríklad výrazne ovplyvnil softvérový priemysel zdieľaním svojej syntaxe s populárnymi jazykmi C#, C++ a Java. C++ je zase výkonný jazyk na vytváranie efektívnych programov a softvérových balíkov. Mnohí píšu hry aj v C#: jazyk je inteligentný, pohodlný a umožňuje rýchlejšie začať vývoj.

Ale Lua prevzal niečo z C ++. Skriptovací jazyk je dobrý pre hernú logiku. Uľahčí to inicializáciu úrovne, naviazanie úloh na objekty, interaktívnu zmenu správania NPC bez nutnosti prekompilovať projekt a mnoho ďalšieho.

3. Vytvorte aplikácie

A ak je informatika teoretickým základom, potom je tu viac praxe. Vývoj hier je hrboľatá cesta a aplikácie sú tým najlepším miestom, kde začať. Knihy s praktickými úlohami, ako aj informácie o vzoroch a UML vám pomôžu zistiť, čo je čo.

4. Matematika pre vývoj hier

Nie, školský kurz algebry a geometrie nebude. Výber je rozdelený na základy matematiky v oblasti vývoja hier a pokročilejšiu úroveň.

5. Programovanie hier

Hardvérové ​​platformy, operačné systémy, sady API, algoritmy, multiplatformové a ďalšie dôležité aspekty, ktoré budú tvoriť základ vyvíjanej hry. Knihy sú doplnené množstvom článkov o gamedev, ktoré obsahujú užitočné informácie o programovaní.

6. Vývoj herného enginu

Srdcom hry je engine, ktorý „nahráva“ funkcionalitu a potrebné nástroje. Prvé knihy vám predstavia architektúru a dizajn. Ďalej sa „herné motory“ delia na nástroje, optimalizáciu, skripty a doplnkové materiály vo forme článkov. Počas zoznámenia sú ovplyvnené vzory, algoritmické triky, optimalizácia v Unity a ďalšie nuansy.

7. Počítačová grafika

Áno, obsah je dôležitý, ale je to počítačová grafika, ktorá je analogická s aplikačným rozhraním, ktoré používatelia uvidia. Preto by sa mu mala venovať osobitná pozornosť.

Niet divu, že táto sekcia je najväčšia. To zahŕňa základy programovania s 3D v reálnom čase, DirectX a OpenGL. Všetko je doplnené informáciami o renderingu a technológiách. Špeciálnu pozornosť pri výbere získali Direct3D a OpenGL.



8. Zvuk hry

Vývoj hry je aj o zvuku: sú to zvuky, ktoré vydávajú NPC, hlavná postava, javy alebo predmety, ako aj hudba. Programovanie zvuku stálo len dve knihy, no potrebné informácie poskytujú dostupným spôsobom.

9. Herná fyzika a animácia

Jedna z najťažších etáp. Okrem softvérovej základne a obrázkov musia existovať zákony, podľa ktorých to všetko spolupôsobí. Fyzika hier a programovanie animácií sú zahrnuté v 17 knihách. Samostatne ovplyvnené imitáciou kvapaliny.

10. Herná umelá inteligencia

Existuje veľa počítačom riadených postáv: môžu to byť davy, questgivers a dokonca aj obyčajný šach. Množstvo kníh vám umožní pochopiť princípy AI. Nižšie je uvedený zoznam tematických užitočných článkov.

11. Programovanie hier pre viacerých hráčov

Vývoj hry pre jedného hráča je veľmi odlišný od možností hry pre viacerých hráčov. Tu musíte vziať do úvahy spojenie, prácu vlákien a ďalšie nuansy. Výber bol rozdelený do článkov a kníh o programovaní serverov, sieťovom programovaní a sieťovom protokole.

Ako mnoho iných spôsobov implementácie globálnych nápadov, aj vývoj počítačových hier je dobre naplánovaná a dobre namazaná udalosť. Tvorba hier prebieha striktne v etapách, navyše sa neodporúča preskakovať žiadne etapy vývoja hry. Vysvetľuje to skutočnosť, že vývoj projektu zaberie veľa času a počas obdobia medzi kreslením 3D modelov a finalizáciou fyziky hry sa nápady môžu zmeniť viackrát.

Herným vývojárom sa často nepodarí dokončiť hru v primeranom čase. Je to spôsobené tým, že po vývoji počítačovej hry a pred jej vydaním sa vykonáva beta testovanie, kde sa zistia chyby, potom vývojári upravia hru. Ak sa proces vytvárania hry neberie vážne, cyklus (vydanie beta -> beta testovanie -> oprava -> vydanie beta) prejde mnohokrát a vývojári nedodržia termíny, ktoré im boli pridelené.
Jasne formulovaná myšlienka zabráni vývojárom opustiť tvorbu hry, keď už je polovica práce hotová. Ak sa totiž budete držať plánu, úspech je zaručený, samozrejme, ak je plán dobrý a termíny reálne.

Etapy vývoja počítačovej hry.


Prípravná fáza (predprodukcia)- Toto je prvá a veľmi významná etapa práce na hre. V tejto fáze sa vypracuje a zdokumentuje koncept hry, dizajn postáv a určí sa výber prostriedkov na realizáciu projektu. Za zmienku stojí, že v tejto fáze tvorí tím s umelcami, hernými dizajnérmi, technickým riaditeľom, nadriadenými alebo aj celým tímom plán na vytvorenie hry, ďalej len .
Tímy nováčikov tento krok často zanedbávajú, pretože oni Napísať dizajnový dokument trvá veľmi dlho, ale to je ich obrovská chyba. Svoju hru totiž tvoria bez premysleného jasného plánu, v lepšom prípade absencia dizajnového dokumentu značne odďaľuje termín. Vývojári nevedia, čo majú robiť a vymýšľajú úlohy za pochodu, najprv to dopadne dobre a potom tento dar zmizne spolu s nadšením a inšpiráciou. Tím, ktorý má dizajnový dokument, môže rýchlo postupovať v termínoch bez toho, aby strácal čas vymýšľaním svojej práce, má premyslenú úlohu. Pódium, akési koľajnice, vývojári vidia cieľ pred sebou, vedia, čo majú momentálne robiť a čo použiť na splnenie svojej úlohy. Tým sa vyplatí čas strávený premýšľaním a navrhovaním dokumentu.
Po vyriešení všetkých administratívnych záležitostí sa hra dostáva do produkčnej fázy.

Výroba- Toto je kľúčová a najdlhšia fáza tvorby hry. Podľa názvu pravdepodobne hádate, že prebieha implementácia plánu, ktorý predtým vytvoril vývojár.
Ako vývoj hry napreduje, nie je nezvyčajné, že sa v predtým napísanom pláne vykonajú zmeny, čo vedie k tomu, že tím priebežne kontroluje aktuálne výsledky vývoja. Na určitej úrovni vývoja hry, či už ide o ukážku, prvú, druhú alebo predposlednú úroveň, prebieha kontrola hry kvôli neplánovaným zmenám. Možno dizajnéri prišli s geniálnym nápadom a načasovanie im umožňuje robiť úpravy. Mimochodom, o načasovaní - vývojári by mali vypočítať termíny s časovým odstupom na úpravy.

Uvoľnite– a nakoniec prichádza moment, keď je hra vydaná. Na pulty obchodov sa posielajú státisíce kópií. Táto fáza je označená ako koniec nátlaku zo strany vydavateľa, pretože vývojár hru už pripravil na vydanie, teraz koná vydavateľ. Jeho úlohou je distribuovať a predávať čo najviac kópií a znižovať počet kópií hry, ktoré sú pirátske na internete. Hlavným cieľom vydavateľstva je zisk, pretože výnosy z predaja kópií odôvodňujú financovanie vývoja kvalitnej hry.

podpora Nie je žiadnym tajomstvom, že PC hry často vychádzajú s chybami – vývojári PC hier nie vždy stihnú vydať projekt, kým ich beta testeri zachytia všetky chyby, ktoré je potrebné opraviť. Ale našťastie sa to dá opraviť. Na PC hry si môžete nainštalovať záplaty, ktoré obsahujú opravy. Každá ďalšia oprava obsahuje opravu chýb, ktoré zostali po predchádzajúcej oprave. To je ale nežiaduce zneužívať, kto si chce kúpiť hru od vývojára, ktorý má skúsenosti s vydávaním surových verzií hry. Stojí za to starať sa o svoju povesť.
Hry vydané pre konzoly zvyčajne neobsahujú žiadne chyby, pretože vývojári konzolových hier to berú vážnejšie, v núdzi radšej odložia vydanie na neskôr, ako by vydali hru s chybami. To sa dá ľahko vysvetliť skutočnosťou, že inštalácia záplat na konzolové verzie hry je takmer nemožná.

Niet snáď človeka, ktorý by aspoň raz v živote nehral aspoň jednu počítačovú hru, či už na notebooku alebo mobilnom zariadení. Kto z vás, milý čitateľ nášho blogu, nesníval o tom, že si vytvorí vlastnú hru a ak sa nestane milionárom vďaka svojmu projektu, tak sa preslávi aspoň medzi priateľmi?

Ale ako vytvoriť hru pre Android od začiatku, bez špeciálnych znalostí a dokonca bez znalosti základov programovania? Ukazuje sa, že vyskúšať sa ako vývojár hier nie je až taká náročná úloha. To bude témou nášho dnešného materiálu.

  1. nápad alebo scenár.
  2. Túžba a trpezlivosť.
  3. Konštruktor hry.

A ak sú prvé dve zložky úspechu viac-menej jasné, tak tretiu zložku treba rozobrať podrobnejšie.

Čo je Game Builder

Hovoríme o programe, ktorý výrazne zjednodušuje vývoj hier a sprístupňuje ich aj ľuďom, ktorí nemajú programátorské schopnosti. Game Builder kombinuje IDE, herný engine a editor úrovní, ktorý funguje ako vizuálny editor ( WYSIWYG- Angličtina. skratka „čo vidíš, to dostaneš“).

Niektorí konštruktéri môžu byť obmedzení žánrom (napríklad RPG, arkáda, úlohy). Iné, hoci poskytujú možnosť navrhovať hry rôznych žánrov, zároveň obmedzujú predstavivosť začínajúceho vývojára na 2D hry.

Už po prečítaní toho, čo už bolo napísané, je jasné, že pre začínajúceho vývojára, ktorý sa rozhodne napísať hru pre akýkoľvek operačný systém, vrátane OS Android, je výber vhodného konštruktora hlavnou úlohou, pretože osud budúceho projektu závisí na funkčnosť a možnosti tohto nástroja.

Ako si vybrať správneho dizajnéra

Musíte začať hodnotením svojej vlastnej úrovne vedomostí v oblasti programovania. Ak má tendenciu k nule alebo úplne chýba, je lepšie vyskúšať najjednoduchšie možnosti. A aj keď nemáte potrebné znalosti angličtiny, v tomto prípade si môžete nájsť program, ktorý vám vyhovuje.

A druhým dôležitým bodom pri výbere dizajnéra je funkčnosť. Tu musíte veľmi presne analyzovať scenár svojho projektu, pretože čím je hra ťažšia, tým viac rôznych nástrojov bude potrebných na jej vytvorenie a dizajnér bude potrebovať výkonnejší.

Aby sme vám pomohli s výberom, nižšie vám predstavíme najlepšie programy-konštruktory, čo vo všeobecnosti nevylučuje skutočnosť, že si po dôkladnom prehrabaní fór alebo špecializovaných stránok vyberiete pre seba niečo iné, pretože Sortiment tejto škály programov je dosť široký.

Top 5 najlepších tvorcov hier

Konštrukcia 2

Táto aplikácia neustále obsadzuje prvé riadky v hodnotení herných dizajnérov. S Construct 2 môžete vytvárať 2D hry takmer akéhokoľvek žánru pre rôzne platformy vrátane Androidu, ako aj animačné hry zamerané na prehliadače, ktoré podporujú HTML5.

Vzhľadom na obrovské množstvo pomocných nástrojov budú môcť program zvládnuť aj začiatočníci.

Pre zvládnutie práce s Construct 2 nie je potrebné kupovať licenciu, bezplatná bezplatná verzia ponúka dostatok nástrojov a možnosť exportovať hotový projekt na niektoré platformy. Kódovanie hotového produktu na mobilné platformy a prístup k plnému rozsahu funkcií však poskytne licenciu Personal za 129 USD. Ak vaša zručnosť vo vytváraní hier dosiahla svoj vrchol a už ste začali dostávať viac ako 5 000 $ v príjme z vášho projektu, budete musieť vybrať možnosť Business, ktorá bude stáť 429 $.

A teraz si pozrite niekoľko praktických video tutoriálov o vytváraní herných aplikácií pomocou Construct 2:

Clickteam Fusion

Clickteam Fusion je ďalším príkladom skvelého plnohodnotného tvorcu hier, ktorý pomáha aj začiatočníkovi vytvoriť plnohodnotnú hru. Program poskytuje možnosť bezplatne exportovať vytvorené aplikácie do formátu HTML5, čo znamená, že bude možné publikovať prehliadačové hry a navyše ich konvertovať na publikovanie na rôznych mobilných trhoch, ako je napríklad Google play.

Medzi hlavné charakteristiky patrí jednoduchosť rozhrania, podpora shader efektov a hardvérová akcelerácia, prítomnosť plnohodnotného editora udalostí, ukladanie projektov vo formátoch kompatibilných s rôznymi platformami vrátane Androidu.

Platená vývojárska verzia programu nie je k dispozícii pre obyvateľov Ruskej federácie, ale jej licencovaný disk je možné objednať z rovnakého Amazonu, čím sa zníži osobný rozpočet v priemere o 100 dolárov. Ponuku je možné rusifikovať pomocou rusifikátora tretej strany.

Ako pracovať s aplikáciou, pozrite si špeciálny video kurz:

Stencyl

Stencyl je ďalší skvelý nástroj, ktorý vám umožní vyvíjať jednoduché 2D počítačové hry bez špeciálnych znalostí kódov, ako aj programovacích jazykov pre všetky populárne platformy. Tu musíte pracovať so skriptami a diagramami, ktoré sú prezentované vo forme blokov, a môžete presúvať objekty alebo charakteristiky pomocou myši, čo je veľmi pohodlné.

Vývojár programu ponúka aj možnosť napísať si vlastný kód v blokoch, čo si však, samozrejme, vyžaduje znalosti v oblasti programovania.

Prítomnosť vynikajúceho grafického editora Scene Designer umožňuje užívateľovi využiť svoju fantáziu na kreslenie herných svetov.

Optimálna sada funkcií pomôže vytvárať vysokokvalitné hry rôznych žánrov, ale najviac dlaždicová (dlaždicová) grafika Stencyl bude relevantná pre strieľačky alebo hry RPG.

Program je distribuovaný bezplatne, ale export do desktopových formátov si vyžaduje predplatné, ktoré bude stáť 99 USD ročne a licencia na mobilné hry stojí 199 USD ročne.

Pozrite si rýchly kurz o práci so Stencyl:

tvorca hry

Program existuje v platenej a bezplatnej verzii. Možnosť rozpočtu vám umožňuje vytvárať solídne dvojrozmerné hry pre pracovnú plochu. Zatiaľ čo platená verzia umožňuje písať celkom „vychytené“ 3D hračky pre Windows, iOS a Android. Stále máme záujem o bezplatnú možnosť naučiť sa realizovať v hernom priemysle a Game Maker je práve tou možnosťou, ktorá vám umožní vytvárať hry s vlastným scenárom bez obmedzení pri výbere žánru.

Program ponúka výber predpripravených lokačných šablón, objektov, ale aj postáv, zvukov a pozadia. Všetka tvorivá práca teda spočíva v pretiahnutí vybraných prvkov do pracovnej oblasti a výbere podmienok - umiestnenia a interakcie s inými objektmi. Znalosť programovacieho jazyka sa síce nevyžaduje, no používatelia, ktorí sú „vyznalí“, budú môcť používať GML, niečo podobné ako JS a C++.

Game Maker je distribuovaný v angličtine, takže tí, ktorí ho dostatočne nepoznajú, si budú musieť stiahnuť crack súbor.

Pre tých, ktorí majú záujem o tento program, odporúčame pozrieť si školiace video:

Jednota 3D

Unity 3D je možno to najlepšie, čo môžete na vytvorenie kvalitného 3D projektu ponúknuť. Do programu sú integrované kompletne hotové modely, ako aj textúry a skripty. Navyše je možné pridať vlastný obsah – zvuk, obrázky a videá.

Hry vytvorené pomocou Unity sú kompatibilné so všetkými populárnymi platformami od mobilných zariadení iOS alebo Android až po SMART TV prijímače.

Program sa vyznačuje vysokou rýchlosťou kompilácie, ľahko použiteľným rozhraním, flexibilným a multifunkčným editorom.

Všetky herné akcie a správanie postáv sú založené na zdravom fyzickom jadre PhysX. Každý objekt vytvorený v tomto hernom konštruktore je určitou kombináciou udalostí a skriptov, ktoré riadi samotný vývojár.

Je dôležité pochopiť, že hoci je program umiestnený ako herný dizajnér určený pre začiatočníkov, na prácu s touto aplikáciou je stále potrebná určitá úroveň vedomostí. Práca s 3D grafikou si vyžaduje pomerne moderný počítač vybavený hardvérovou grafickou kartou.

Séria lekcií o vytváraní hier s Unity 3D:

Tak ste sa rozhodli splniť si svoj sen o vytvorení vlastnej jedinečnej hry. Pokúsili sme sa poskytnúť informácie, ktoré môžu v tomto pomôcť. Venujte pozornosť, ak ste si pozorne prečítali prezentovaný materiál a aspoň krátko si pozreli video tutoriály pre každý program, pravdepodobne ste si všimli, že práca s každým herným dizajnérom je založená na rovnakom princípe. Preto je celkom možné, že si budete môcť vyzdvihnúť niečo, čo je pre vaše potreby vhodnejšie. Aspoň dúfame, že v tejto fáze je otázka, ako vytvoriť hru pre Android, uzavretá. Veľa štastia!

Čo by mali zvážiť budúci vývojári hier? Aký jazyk sa začať učiť? O čo sa snažiť? Ku komu vzhliadať? A čo je potrebné urobiť ako prvé?

Väčšina milovníkov rockovej hudby skôr či neskôr vezme do ruky gitaru. Športoví fanúšikovia vášnivo snívajú o vstupe na futbalové ihrisko, basketbalové ihrisko alebo tenisový kurt. Nuž, tí, ktorí sa dopustili stoviek únosov v GTA, strávili desiatky hodín v počítačových kluboch hraním Counter-Strike alebo dosiahli značné úspechy v MMORPG, zrejme pomýšľajú na kariéru herného vývojára.

Problém je, že tento smer sa vyučuje v niekoľkých vzdelávacích inštitúciách. Väčšina vývojárov hier sú preto samouci, ktorí si kedysi sami zostavovali učivo. Ale aké nuansy brali do úvahy? Kde si začínal a o čo si sa snažil? Aký jazyk si sa naučil ako prvý? Na tieto a ďalšie relevantné otázky sme sa pokúsili odpovedať.

O čo sa snažiť?

Pred odchodom do obchodu si urobíte nákupný zoznam (aspoň v hlave). Pred cestou na druhý koniec mesta - naplánujte si trasu. Predtým, ako sa naučíte vyvíjať hry, je vhodné položiť si otázku: čo presne chcete robiť? Vytvárať mobilné aplikácie alebo hry v prehliadači? Pracovať pre veľkú alebo malú spoločnosť? Chcete profesionálne vyvíjať hry alebo tomu venovať svoj voľný čas? A ak to prvé, čo vás zaujíma viac: vytvorenie rozhrania, vylepšovanie hry alebo písanie skriptov?

Správne nastavenie cieľov vám môže ušetriť veľa času a úsilia. Navyše vám umožní dostať sa do cieľovej destinácie najkratšou cestou. Bez rizika, že zídete z cesty alebo sa dostanete do močiara.

Aký jazyk sa učiť?

Navyše, odpoveď na pálčivú otázku závisí od cieľa: s akým programovacím jazykom by som mal začať?

Budúci vývojári hier ako Minecraft a mobilné aplikácie pre Android by teda mali venovať Jave veľkú pozornosť. Na začiatok vám odporúčame ísť intenzívne, najmä preto, že je to zadarmo. Pre tých, ktorí sa pozerajú na iOS - na Objective-C. Pre prehliadačové hry niekedy stačí znalosť Ruby-On-Rails. Pre veľmi malé a jednoduché časy stačí HTML. Výroba flash hier používa ActionScript a na písanie skriptov akejkoľvek zložitosti potrebujete JavaScript alebo možno menej bežný Lua. Na vytváranie malých konzolových hier je potrebná znalosť C#.

Čo sa týka najrozpočtovejších hier (tzv. AAA trieda), väčšina z nich je vybavená vlastným alebo požičaným od kolegov „motorom“. Často je však celý „engine“ alebo väčšina z neho napísaná v C++. Práve tento jazyk bol použitý na vytvorenie mnohých známych „hračiek“ – od Doom 3 a Call Of Duty až po FIFA a The Sims. Zatiaľ čo klasiky ako Quake boli napísané v C.

V ovládaní C++ je však háčik – prílišná zložitosť. Niet divu, že hovoria, že študovať C++ bez znalosti iných jazykov je rovnaké ako začať študovať matematiku s lineárnymi rovnicami.

Stačí jeden jazyk?

Jednou z krás programovania je možnosť neustáleho sebarozvoja. Pri vývoji hier (najmä veľkých) nie je sebazdokonaľovanie, vrátane štúdia čo najväčšieho počtu jazykov, rozmarom, ale životnou nevyhnutnosťou. Skúsení vývojári pracujúci v prospech gigantov herného priemyslu sa teda často stretávajú s potrebou písať striedavo v 7-8 jazykoch. Zároveň sa okrem vyššie uvedených jazykov musia naučiť napríklad Python alebo aj SQL (ako chápete, vytvárať databázy).

Preto, ak sa rozhodnete spojiť svoj osud s produkciou veľkých hier, pripravte sa na to, že sa stanete „polyglotom“. Navyše, čím viac jazykov ovládate, tým zaujímavejšie a rozmanitejšie úlohy vás čakajú. A, samozrejme, výrazne sa zvýši šanca získať prácu snov.

KDE ZAČAŤ?

Predtým, ako sa vydáte na cestu okolo sveta, musíte sa naučiť chodiť. Pred serióznym herným projektom si musíte vyskúšať niečo menej významné.

Takmer všetci skúsení vývojári, bez ohľadu na regalia a talent, začali s malými aplikáciami: stolové hry, variácie slávnych „hračiek“, jednoduché „flash disky“. Potom nemysleli na veľké výstavy ako E3, ale nazbierali neoceniteľné skúsenosti. Prečo nenasledovať ich príklad? V tomto prípade nie je potrebné písať zložitý kód. Na debut stačí použiť špeciálne programy na vytváranie hier (napríklad Game Maker). Veď aj s jednoduchým nástrojom si výrazne uľahčíte život. Po prvé, v miniatúre pochopíte logiku a štruktúru takmer každej hernej aplikácie. Po druhé, vyplníte hrbole, ktoré sa zahoja pri prechode na seriózne projekty. Nakoniec, po tretie, obohaťte svoje portfólio. Veď aj obyčajná „hračka“ si vyžaduje veľa času, trpezlivosti a kreativity vymyslieť koncept, napísať kód a opraviť chyby. Navyše to ukazuje, že sa v produkcii hier vyznáte nielen v suchej teórii.

Čo brať ako smernicu?

Každý, kto sníva o tom, že sa stane spisovateľom, prečíta stovky kníh, kým napíše jediné slovo. Klavírni majstri poznajú naspamäť najlepšie diela Straussa, Chopina a Beethovena. Známi umelci sa pred veľkými výstavami učili naspamäť dejiny umenia.

Rovnaký princíp platí aj pri vývoji hier. Nemôžete sa rozvíjať vo vákuu. Preto sa hrajte, inšpirujte sa majstrami a ako špongia nasajte to najlepšie. Zároveň sa skúste na aplikácie pozrieť nie očami „hráča“, ale očami vývojára. Inými slovami: transponujte hru. Zamyslite sa nad tým, prečo v tomto okamihu „bot“ bežal doľava a nie späť? Aké faktory menia silu a presnosť úderu na športovom simulátore? Ako vytvoriť „únavový efekt“, keď postava dlho behá? Ako to urobiť, aby počas dažďa hráč počul zvuk kvapiek a nie prasačí kvičanie? V podstate prejdite k veci. Pokúste sa znovu vytvoriť v hlave algoritmy, s ktorými sa stretnete počas hry. Verte mi, že takýto konštruktívny prístup vám pomôže vo vašej budúcej neľahkej, no sakramentsky vzrušujúcej kariére herného vývojára.

Ako vyvinúť RPG hru za týždeň od nuly a bez rozpočtu. I. časť

RPG za týždeň? Od nuly? Je to vôbec možné?
Išiel som do rizika a urobil som to.

Internet je plný informačných zdrojov dostupných pre malých, nezávislých (indi) vývojárov hier. Na jednom takom verejnom fóre počas hádky som mal tú nerozumnosť vypustiť z úst, že keby som dostal týždeň času, počítač s čerstvou inštaláciou Windowsu a dobré internetové pripojenie, mohol by som vytvoriť slušnú hru bez toho, aby som utrácal peniaze. cent na to. Nie, určite nebude môcť konkurovať Halo 2 alebo niečomu na rovnakej úrovni (keby som takú hru dokázal spraviť za týždeň, už dávno by som dal výpoveď), ale bude to celkom zaujímavé a hrateľné .

Tom Bampton, autor mesačníka Game of the Day Game Reviews (www.gameinaday.com), povedal: "Do toho!" Potom pridal ďalšiu podmienku - musím to urobiť bez použitia existujúcich herných enginov. Môžem používať iba základné knižnice/rozhrania API.

Najprv som od tejto myšlienky upustil. Nemal som príliš veľa času na to, aby som si v práci týždeň oddýchol od vývoja aktuálneho herného projektu. Ale potom som si pomyslel: do čerta, veď čo je to týždeň? V typickej spoločnosti, akou je EA, je pracovný týždeň 40 hodín. Prečo teda nespraviť hru nie za kalendárny týždeň, ale za 40 čistých hodín? Už je to reálnejšie - ale nechcel som vytvárať ďalší Tetris alebo Arkanoid. A čo hra na hranie rolí – jeden z najťažších herných žánrov? Je to možné?

Vedel som, že to bude nesmierne ťažké. Ale prijal som výzvu.

Okrem toho som si podrobne rozpísal, čo a ako robím, opísal vývojový progres. Myslel som si, že by to mohlo byť zaujímavé pre vývojárov hier – alebo aspoň získať zábavné záznamy o tom, ako som spadol na hubu do blata, ak zrazu zlyhám. Jediné, na čo som prišiel, bol dlhý, nesúrodý záznam mojej hodinovej aktivity. Snažil som sa to zmeniť tak, aby čítanie nespôsobovalo nudu. Ako sa to stalo, posúďte sami.

Takže takto som vytvoril hru za jeden týždeň od nuly a bez rozpočtu. Ak ste príliš leniví na čítanie a chcete rýchlo preskočiť na koniec príbehu, aby ste videli, ako vyzerá konečný produkt a videli všetky jeho chyby, môžete si stiahnuť verziu hry pre Windows tu: http://www. .rampantgames.com/hackenslash.html

PLÁNOVANIE
Cieľ
Vytvorte si oldschoolové RPG v štýle starých hier zo začiatku 80. rokov s pohľadom zhora nadol, ako napríklad The Temple of Apshai, Ultima III a Telengard. Hráč sa bude pohybovať miestnosťami v typickom dungeone, bojovať s rôznymi príšerami s "mečom a mágiou". Postupne si bude vylepšovať svoje schopnosti získavaním skúseností, levelovaním, získavaním magického vybavenia.

Hra však bude pozostávať z viac než len samotného boja. Hráč sa tiež bude môcť preplížiť popri monštrách alebo s nimi vyjednávať. K dispozícii budú zamknuté dvere a truhlice a jedinečné funkcie dungeonu, ktoré majú neočakávané účinky. Hra nebude mať dlhé popisy ani dialógy – väčšinou pôjde o typický hack & slash. Pôjdete po ceste, kým nebudete dostatočne silní na to, aby ste sa postavili poslednému šéfovi, dokončili úlohu a bezpečne sa vrátili domov (do svojej počiatočnej miestnosti).

Pravidlá vývoja

Pravidlo #1: Čas vývoja je obmedzený na jeden týždeň (vrátane 40 hodín)
Celkovo by sa vývoju hry nemalo venovať viac ako 40 hodín. Tie budú zahŕňať čas strávený skutočnou prácou na hre a premýšľaním o nej. Prestávky na rozvíjanie dlhšie ako desať minút sa nebudú počítať. Bol by to „dokonalý“ pracovný týždeň so 40 hodinami s vysokým výkonom.

Plne funkčná alfa verzia bude vyrobená za 40 hodín. Na ďalšie dokončovanie, ako je finálne ladenie hry, vytvorenie inštalátora na distribúciu v celkovom čase sa nebude brať ohľad, v tejto fáze nepribudne žiadna nová funkcionalita. Neberie sa do úvahy ani dokumentácia procesu vývoja.

Pravidlo č. 2: Používajte iba bezplatné nástroje
S výnimkou softvéru, ktorý je súčasťou inštalácie systému Windows, sa používa iba bezplatný softvér, pokiaľ možno open source. Cieľom je ukázať, že na vývoj hry nepotrebujete drahé (alebo dokonca lacné) nástroje. Na vybavenie ako skener, mikrofón, digitálny fotoaparát sa toto pravidlo netýka – ak ich nemáte, predpokladáme, že si ich môžete od niekoho požičať.

Pravidlo č. 3: Žiadne motory, iba štandardné knižnice/rozhrania API
Hra musí byť vytvorená „od nuly“ bez použitia existujúcich herných enginov. Žiadne podvádzanie a vytváranie hry alebo ktorejkoľvek jej časti s pomocou herných dizajnérov alebo s použitím podobného softvéru.

Nástroje
Kód:

Python 2.3 (http://www.python.org/)
Python Win
PyGame (http://www.pygame.org/)
Py2exe - na kompiláciu toho, čo sa stane, do spustiteľného súboru na distribúciu. (http://starship.python.net/crew/theller/py2exe/)

Gimp 2.0 (http://gimp-win.sourceforge.net/)
MS Paint (ten, ktorý sa dodáva so systémom Windows) - na prilepenie snímok obrazovky zachytených pomocou klávesu PrintScreen (GIMP to z nejakého dôvodu odmietol urobiť)
Voľné textúry boli prevzaté z (http://www.textureartist.net/textures/index.htm) a (http://www.mayang.com/textures/)

Audacity (http://audacity.sourceforge.net/) plus môj mikrofón alebo tie zadarmo.

Harmonogram (Plán) prác
Plány sa robia tak, aby sa neskôr porušili, ale stále sú potrebné na kontrolu postupu a riadkov a na vykonanie potrebných úprav.

1-10 hodina: Základná architektúra
Konštrukcia motora a hlavné komponenty. Získajte zobrazenie sveta na obrazovke. Musím implementovať schopnosť posunúť testovacieho hráča po celom svete a pozrieť sa na veci a potom zmeniť to, čo sa stane, na herný editor.

Hodina 11-20: Možnosti hráčov
Implementácia všetkých hlavných funkcií pre hráča - pohyb, útok, otváranie dverí, smrť, zbieranie vecí a používanie inventára. Vytvorte drôtovú reprezentáciu všetkých objektov v prostredí, aby ste otestovali schopnosť hráča interagovať so svetom.

21-30 hodina: Revitalizácia sveta
Pridajte umelú inteligenciu, herné udalosti, pasce, špeciálne efekty. Do konca tohto obdobia by som mal mať celkom kompletné tech demo, vrátane všetkých hlavných funkcií hry.

Hodina 31-40: Pridávanie obsahu a pravidiel
Získajte plnohodnotnú hru z techno dema. Pridajte všetok dodatočný obsah. Na dosiahnutie úplnosti a vyváženosti herných mechanizmov. Vyleštite všetko, na čo je dostatok času, pridajte špeciálne efekty, animácie atď.

Po 40 hodinách: Testovanie a vydanie hry
Otestujte a opravte nájdené chyby (bez pridávania nových funkcií!) Zhromaždite všetko a dajte to na internet. Kompletná dokumentácia.

Hackenslash Dev Diary: Hra týždňa

Hodina 1 - Divoký dizajn a základné triedy
Táto hodina bola venovaná vytváraniu niekoľkých základných tried pre hru – a ich použitiu v ďalšom dizajne. Svet bude prezentovaný ako sled miestností prepojených portálom. Všetko na svete je založené na miestnostiach, rovnako ako to bolo v starých adventúrach alebo MUDoch. Väčšina predmetov v hre je reprezentovaná ako „GameObject“, ktorý má polohu a obsah (môže obsahovať aj iné predmety – mapa môže obsahovať miestnosti, miestnosť môže obsahovať truhlu, truhlica môže obsahovať meč.. a myslím si, že meč môže obsahovať niekoľko miestností, ale my to neurobíme.)

Vytváram predmety stvorenie (stvorenie) a hráča (hráč)
Vytváram súbor atribútov pre stvorenia a vkladám ich do triedy. Zjavne som šprt, ktorý hrá príliš veľa RPG hier. Ešte presne neviem, ako budú herné mechanizmy vyzerať a fungovať.
Vytváram objekt miestnosti, ktorý zdedí z GameObject. Izba má šírku, výšku a steny – a momentálne nič iné.

Postupne začínam chápať, ako bude všetko fungovať, a urobím potrebné opravy. V tejto fáze sa PyGame ani nepokúšam používať a program nezobrazuje nič okrem konzoly. Ale mám pocit, že všetko, čo sa urobilo, je veľký pokrok!

2. hodina – PyGame 101
Účelom tejto hodiny je inicializovať PyGame, no a začať kresliť aspoň niečo na obrazovku. V skutočnosti trávim väčšinu času čítaním dokumentácie k PyGame, snažím sa zistiť, čo tam je a ako, keďže s PyGame alebo SDL nemám žiadne skúsenosti.

Táto hodina končí programom, ktorý zobrazuje prázdnu obrazovku vyplnenú čiernou farbou. Nie pôsobivé. V skutočnosti je za týmto oknom veľa. K dispozícii je herná slučka, prepínanie snímok, viacnásobné volania triedy a veľa nečinných výstrihov. To však nerobí čiernu obrazovku o nič pôsobivejšou.

3. hodina – Ak by steny mali uši, dôrazne by som ich pokarhal.
Účelom tejto hodiny je definovať obrysy miestnosti so stenami a zobraziť ich na stále čiernej obrazovke. Na to potrebujem priestor a grafiku. V GIMPe musíte stráviť veľa času úpravou textúr stiahnutých z internetu, aby sa zmenili na vhodné dlaždice. Vytváram triedu správcu textúr. A vyplním štruktúru vzorkovne. Tiež som strávil trochu viac času prezeraním dokumentácie PyGame, aby som našiel niečo iné, čo by som mohol použiť na uľahčenie práce.

Uplynula hodina. Stále mám tú istú čiernu obrazovku. Neboli tam žiadne steny a nie.

4. hodina - Hotel má voľnú izbu
Po boji s niektorými syntaktickými chybami sa mi konečne podarilo zobraziť steny na obrazovke. Je pravda, že sa zobrazujú nesprávne, nie sú na uvedenom mieste a dokonca aj so štrbinami medzi segmentmi. Toto je hrózne. Ale s trochou ladenia a úprav som na obrazovke dostal niečo, čo vyzeralo ako miestnosť, 10 x 10 štvorcov.

Bez podrobného plánu projektu je skutočne celkom ľahké sa zmiasť, keď ste vykonali určitú prácu a pýtať sa: „Čo ďalej? Rozhodol som sa, že ak je dobré nakresliť jednu miestnosť, potom nakresliť dve je dvojnásobne lepšie.

Na uloženie vytvorených miestností som vytvoril súbor "minidungeon".
Začnem pridávať logiku pre "portály" - otvory v stenách, ktoré vedú do iných miestností (a poskytujúce všetky informácie o posune potrebné na správne zobrazenie priľahlých miestností).

5. hodina - Hackenslash dostane viac miestností

Zmenil som názov okna na "Hackenslash!". Len preto, že je to cool.
Vytvoril som mapu objektov na uloženie miestností a triedu MapMaster obsahujúcu niekoľko máp.
Pridal som druhú miestnosť a cez portál som sa pripojil k prvej.
Susedné miestnosti sú prepojené s aktuálnou cez portály a teraz sa zobrazujú na obrazovke.
Opravil som niektoré chyby orezania, aby sa správne zobrazovali steny, ktoré čiastočne presahujú okno.

6. hodina – počas ktorej sa zdokonaľujeme v kreslení

Pridaná trieda dverí a tiež nastavenie máp pre umiestnenie dverí (dvere musia byť spoločné pre dve miestnosti). (Edit: Škoda, že som to nikdy nepoužil!)
Vytvoril som ďalšie 3 obklady a spojil ich do jedného obrazu.
Grafický vzhľad stien sa líši v závislosti od typu.
Robím jednoduchú grafiku pre pohľad zhora nadol.

Hodiny 7-8 - Točenia a výkriky!

Prišiel som na to, ako otáčať bitmapy v PyGame.
Dosiahol som plynulú rotáciu testovacieho hráča. Na korekciu uhla natočenia je potrebných veľa úprav.
Naučil som sa používať fonty v PyGame a vytváram niekoľko tried na zobrazenie a animáciu textu.
Pridaná trieda pre automatické spracovanie textu, pretože táto funkcia sa bude v budúcnosti často používať.

Hodiny 9-11 - Elements - brrr!

A tu opäť potrebujem vyriešiť otázku „Čo ďalej?“.

Miestnosti potrebujú zaujímavejšie prvky, preto si ich treba zostaviť. Neviem, ako ich systematizovať, tak som sa rozhodol začať tými všeobecnými. Predstavil som tri statické prvky, ktoré možno nájsť v typickej kobke: koberec, stĺp (blok s rovnakou funkcionalitou ako steny) a rebrík (umožňuje vám presunúť sa na nové miesto)

Rozhodol som sa, že prvky môžu zaberať viac ako jednu dlaždicu a možno ich otáčať o ľubovoľný stupeň. (Edit: Spätne veľmi hlúpe riešenie - strávil som príliš veľa času jeho implementáciou, ale ukázalo sa, že je takmer zbytočné.)

Celkovo som strávil asi tri hodiny prácou na prvkoch, rozpoltený medzi tvorbou grafiky a písaním kódu.

Hodiny 12 - 13 - Potrebujeme korisť!

Vytváram grafiku a kódy vecí. Je úžasné, ako dlho môže kreslenie trvať. Obzvlášť nepríjemné je, keď obrázok vyzerá, ako keby kura kreslilo labkou, bez ohľadu na to, koľko úsilia sa do toho vložilo.

K položkám som pridal veľa štatistík, vrátane ich ceny, veľkosti, slotov na vybavenie a ďalších. Zatiaľ sa s nimi nedá interagovať, no aspoň sa ukážu na tých správnych miestach v miestnosti.

14. hodina - Koberce

Zaostávam za plánom, čo mám robiť?
Čierne pozadie sa mi zdá príliš škaredé, preto som podlahy vo vnútri miestnosti vydláždil kobercami - samostatnými dlaždicami.

Potom sa zrazu ukázalo, že som zabudol pridať priehľadné pozadie pre škriatkov prehrávača a vecí. Musel som stráviť veľa času nápravou tohto prehliadnutia.

Ale úroveň teraz vyzerá v pohode. No, aspoň chladnejšie ako čierne.

Hodiny 15-16 - Kliknite! Kliknite!

Bol som zaneprázdnený ovládaním myšou a manipuláciou s udalosťami.
Pridané ovládanie myšou. Kým je pohyb trhaný, nedochádza k plynulému posúvaniu úrovne.
Hráč sa môže vysťahovať z miestnosti, nedochádza k žiadnej kontrole kolízie.
Opravil som pár chýb.
Mučil GIMP a vytvoril nádherné schody.
.
Už je skoro 17 hodín vývoja, takže začínam byť mierne nervózny. Pri tvorbe hry som prešiel 2/5 cesty – skončil sa druhý „pracovný deň“ vývoja. To, čo som už urobil, je pôsobivé, ale chápem, že je ešte potrebné urobiť oveľa viac. Mám ešte štyri hodiny na to, aby som dokončil základné funkcie hráča a dostal sa podľa plánu. Bude to ťažké... ale aj tak neľutujem, že som strávil čas navyše kreslením grafiky!

17. hodina – pomaly sa hýbte, kým nenarazíme čelom na stenu

Väčšinu času strávi dolaďovaním grafiky a opravovaním chýb.
Pridaná detekcia kolízie a plynulé rolovanie pri pohybe hráča.
Hráč teraz môže v reakcii na akciu myši vykonať viacero krokov (otáčok).

18. hodina – Prekročenie prahov

Hráč teraz môže prejsť cez portály do iných miestností.
To spôsobuje kozmetickú chybu s prekrývajúcimi sa stenami a podlahami medzi priľahlými miestnosťami.
Opravených veľa chýb súvisiacich s rotáciou, kvôli ktorým boli portály nepriechodné.

19. hodina - Schodisko do neba, Pekelné menu

Môj brat sa dobrovoľne prihlásil, že bude robiť hudbu pre hru. Spravil hudbu pre Void War a celkom dobre to fungovalo. To mi pripomenulo prehrávanie zvuku (a hudby). Zdá sa, že je to celkom jednoduché urobiť v PyGame, takže by to nemalo trvať príliš dlho. (Edit: Nikdy som si na to nenašiel čas, bohužiaľ v Hackenslash nebudete počuť jediný zvuk.)

Mojím ďalším cieľom je zvládnuť interakcie s tvormi a predmetmi. Veľmi sa mi páči spôsob, akým je to urobené v The Sims a Neverwinter Nights, keď chcete interagovať s herným objektom, zobrazí sa kontextové menu. Niečo podobné plánujem zrealizovať.

Učenie po schodoch na presun hráča do novej miestnosti.
Trochu som sa pohrabal na internete a v dokumentácii k PyGame a hľadal som, či v PyGame neexistuje open source ponuka pre podobnú ponuku. A nenašiel nič.
Začal som si robiť vlastné menu.

Hodiny 20 - 21 - Čo je s menu?

Pokračujem v práci na menu. Menu sa dá jednoducho prepojiť s objektom, respektíve objekt akoby generuje menu, čo uľahčilo implementáciu spätnej väzby pre spracovanie hráčovej voľby.
Začal som pracovať na ponuke položiek. Už sa zobrazuje na správnom mieste a umožňuje vybrať nejakú položku, no po stlačení zatiaľ nič nerobí, funguje len tlačidlo na zatvorenie menu.

22. hodina – prebieha zaspávanie

Pokračujem v práci na veciach – snažím sa implementovať ich funkcionalitu a naučiť ich reagovať na príkazy menu, vrátane možnosti pridávať kontextové informácie. Teraz má malú funkčnosť, ale stále funguje a zobrazuje informácie o spustenom príkaze
Zlepšil som výpočet pohybu pri vykonávaní rôznych akcií, čím som získal väčšiu mobilitu.

Všimol som si, že je už neskoro a že som ďaleko prekročil hodinu určenú na túto prácu. Keby som si nedával pozor na celkový čas vývoja, asi by som sedel do rána. Ale keďže som časovo obmedzený, takmer premárnená hodina je naozaj zlá správa. Je zaujímavé, ako sa menia priority, keď nie je dostatok času. Vo všeobecnosti idem spať.

Hodina 23 - Parametre boja!

Upravujem (no, vlastne len začínam) niektoré atribúty triedy vytvorené počas prvej hodiny.
V pravom hornom rohu vytvorím panel, ktorý zobrazí možnosti prehrávača.
Toto okno som optimalizoval tak, že som ho zmenil na obrázok, ktorý sa kreslí rýchlejšie ako písma. Tento obrázok sa aktualizuje iba vtedy, keď sa zmenia súvisiace parametre postavy.

Hodina 24 - Menu hráča

Dokončil som optimalizáciu pre okno možností.
Vytvorená kontextová ponuka, ktorá sa zobrazí, keď hráč klikne na postavu.
Vytvoril som rýchle menu na používanie elixírov, čarovania atď.
Opravil som nejaké chyby v menu.

25. hodina - Pred (raz) pílením podláh a stien

Dnes ráno som mal v hlave nápad (naozaj mám taký veľký mozog, že sa doň zmestí toľko nápadov?), ako vyriešiť problém s prekrývajúcimi sa stenami vo vedľajších miestnostiach (pozri popis osemnástej hodiny). Čo ak namaľujem len polovicu stien? Týmto spôsobom nedôjde k žiadnemu prekrývaniu a nie je potrebné pridávať žiadnu zložitú logiku na detekciu a opravu prekrývania.

Začínam pracovať na realizácii tohto nápadu. Bohužiaľ, v skutočnosti vynájdené zjednodušenie ešte viac sťažuje nakreslenie miestnosti (najmä podlahy) a nemusí sa realizovať tak rýchlo, ako som dúfal. Vytvorenie a odladenie tohto systému trvalo asi hodinu. Ale stálo to za to.

Pri ladení kódu som našiel niekoľko ďalších chýb súvisiacich s prechodom medzi miestnosťami.

BREAK - Kríza!

Práve som si uvedomil, že uplynulo viac ako 3/5 času vývoja a že do konca hry zostáva menej ako pätnásť hodín. Keď som si prezrel plán potrebných funkcií hry a odhadol, že implementácia každej z nich bude v priemere trvať hodinu, uvedomil som si, že implementácia všetkého mi bude trvať asi dvadsaťpäť hodín. Desať hodín vopred. Projekt je oficiálne ohrozený.

Nemôžem prekročiť časový limit. Tiež nie je možné prilákať asistenta alebo kúpiť kód / zdroje, pretože je potrebné, aby som hru vytvoril sám za 40 hodín. Musím prísť na to, ako pracovať ešte efektívnejšie – ale už teraz pracujem na maximálnu produktivitu. Zdá sa, že nemám inú možnosť, budem musieť prehodnotiť funkčnosť a rozhodnúť sa, ktoré funkcie z hry vyhodiť.

Dvere: Rez! Naozaj chcem robiť dvere v hre. Je škoda rozlúčiť sa s touto funkciou - najmä keď na nej pracujem už nejaký čas. Stále je však príliš veľa práce, napríklad umelej inteligencie. A pravdepodobne to bude trvať 2-3 hodiny, kým ich dostanú do práce, čo ja nemám.
Inventár: Zjednodušte! Zabudnite na dodatočný inventár a možnosť ľubovoľne meniť zbrane. Všetko, čo sa vyberie a nestane sa súčasnou výbavou, sa okamžite premení na peniaze.
Úskalia: Zjednodušte! Chcel by som mať veľa pascí so zaujímavými a rôznorodými dôsledkami na ich aktiváciu. Nie je to tak. Pasce budú mať jednoduchý vizuálny efekt, spôsobia poškodenie a dočasne zvýšia šancu, že narazíte na náhodné monštrum
Luky (malé zbrane): Rez! Hra bude mať iba zbrane na blízko, na diaľku môžete útočiť kúzlami.
Uložiť/Načítať hru: Zjednodušte! Zachrániť sa dá len postava, nie stav sveta. (EDIT: Ani ja som to neurobil!)
Systém častíc: Odložte! Vytvorenie časticového systému bolo presunuté na koniec zoznamu priorít. Pochybujem, že ich bude treba urobiť. Bolo by pekné mať pôsobivý vizuál s časticami kúziel... ale to asi nikdy nebude.
Kúzla: Zjednodušte! Mal som vážnu predstavu o kúzlach: možno ich nájsť vo forme zvitkov a ich počet je viac ako tucet. Je to smutné, ale bude tam len pár kúziel: Heal, Damage, Weaken, Empower a Restoration. Zvyšovaním úrovne môžete hráčovi umožniť vylepšiť kúzla zvýšením počtu magických bodov.
Animácia príšer a hráčov: Strihajte! Som slabý umelec, aby som to urobil dostatočne rýchlo.

Pri rozhodovaní o tom, čo neurobím (alebo čo odložím na neskôr), je rovnako dôležité rozhodnúť sa, čo treba urobiť ako prvé.

V hre je naplánovaných veľa vecí, ktoré považujem za veľmi dôležité – hľadanie pascí, tajných dverí (teda už tajných chodieb) a otváranie truhlíc. Ale aj tak je základom hry boj. Preto som sa rozhodol zamerať na to, aby to bolo najvyššou prioritou. Stanovil som si cieľ, za hodinu a pol moje príšery ožijú natoľko, že sa dajú zabiť.

Skvelé, zistili sme priority, pokračujeme v rozvoji.

26. hodina – Hodme kockou

Pracujem na mechanike „kociek“, mechanizmu, ktorým sa do hry vnesie prvok náhodnosti. Keďže nemáme skutočné obmedzenie kocky, môžeme získať náhodné číslo v akomkoľvek požadovanom rozsahu. Napríklad od 1 do 33, alebo od 6 do 17. Môžem teda hádzať kockou, porovnávať, čo padlo s mojím útokom a obranou nepriateľa. Ak je hodené číslo vyššie ako obrana, útok je úspešný.

Povedzme napríklad, že mám celkovú hodnotu útoku 15. Útočím na monštrum, ktoré má 10 obrany. Moje šance sú 15 z 25 (25 = 15 +10), alebo 3 z 5. Hra teda vygeneruje náhodné číslo medzi 1 a 25 a ak bude vyššie ako desať, vyhrám.

Spôsobená škoda sa vypočítava trochu iným spôsobom. Obrancovi som pridal „brnenie“ a útočníkovi „poškodenie“. Vygenerujem náhodné číslo od 1 do ich súčtu a potom odčítam brnenie. Ak je výsledok menší ako jedna, neudeľuje sa žiadne poškodenie. V opačnom prípade sa rovná výsledku. Ak teda monštrum s 10 škodami zaútočí na hráča s 5 bodmi brnenia, hra vygeneruje číslo od 1 do 15, od ktorého odpočíta 5, čo sa stane, je spôsobené poškodenie.

Toto vysvetlenie a popis trvalo dlhšie ako jeho realizácia.

Na konci hodiny som zmenšil oblasť zobrazenia dungeonu, teraz je časť okna napravo úplne venovaná používateľskému rozhraniu, táto zmena mierne zvýšila výkon. Presvedčil som sa aj o tom, že pohyb hráča nezávisí od snímkovej frekvencie.