Vývoj hier v 21. storočí
Moje meno je Matej Vančo a už od malička som rád hrával digitálne hry či už na počítači alebo na konzole. Rád by som sa s vami podelil o môj krátky príbeh – ako som sa dostal k vývoju hier, čo mi vývoj priniesol a ako sa do vývoja hier viete dostať aj vy.
Zapálený už od malička – môj príbeh
Hry som hrával od samého detstva, už ako trojročný som si po prvýkrát zahral Wolfensteina Veľmi mi však nešiel pre môj mladý vek a nevyvinutej jemnej motorike mojich malých prstov. Ďalej som veľmi rád hrával dobrodružné hry (Kao The Kangaroo, Tarzan, Sly Racoon a pod.), do ktorých som sa vždy vžil. V neskoršom veku (8-10 rokov) som začal obľubovať stratégie a kreatívne hry (Stronghold Legends, Supreme Commander, The Sims a pod), do ktorých patrila aj doteraz moja obľúbená hra Spore. Spore je kreatívna sandbox adventúra, v ktorej si prejdete celý priebeh vývoja svojej vytvorenej kreatúry od bunky až po vesmírnu fázu. Táto hra ma natoľko oslovila, že som sa začal sám seba pýtať ,,ako bola vyrobená?”. Hre som venoval stovky hodín, vytvoril som stovky kreatúr a druhov. Bol to pre mňa hotový sen, v ktorom som si mohol svoju fantáziu zobraziť, ba dokonca aj oživiť.
Ako desaťročný som sa začal viac zaujímať o tvorbu hier a o vývoj ako taký. Keďže už v tom veku som mal vďaka otcovi dostatočné vedomosti o počítači a základné znalosti modelovania, povedal som si, že sa do toho pustím. Spoznal som skvelý softvér menom Scratch. Slúži najmä ako výborný úvod do pochopenia základov programovania a algoritmov. V Scratchy som strávil veľa hodín robenia si vlastných 2D hier, niektoré mám stále publikované tu.
Pri vývoji 3D hier som prešiel mnohými programami/enginami, v ktorých som sa snažil minimálne programovať (pretože vtedy som ešte nebol natoľko spôsobilý). Napríklad 3D Rad, FPS Creator, Alice, Doodle Engine, Scroll Engine, Gogot, Game Maker, OGRE Engine a podobne. Po roku skúšania som najdlhšie zostal pri Unity Engine, ktorý mi dodnes profesionálne slúži. Unity ma zo začiatku ako jedenásťročného chlapca zaujal čiernym dizajnom, mnohými oknami a celkom nezvyčajným používaním. Boli to časy, kedy som objavoval programovacie jazyky ako sú JavaScript, C# a C++. Veľakrát som sa obracal na Unreal Engine, ktorý mi prišiel dosť popredu pri porovnaní s Unity. Vždy ma viac fascinoval vizuálny programovací editor Blueprint, ktorý Unreal ponúka. Mám veľmi rád výzvy a v tej dobe som bol vďačný, že som mal silnú motiváciu hrabať sa skôr v zdrojových kódoch v oboch enginoch ako zostať pri vizuálnom programovaní.
Moje úplne prvé kompletné 3D hry som vytvoril v Unity Engine v roku 2013. Boli to super roky, naučil som sa komplet celý priebeh tvorby nielen samotnej hry, ale aj podkladov, plánovania a efektivity kódu. Modeloval som si vlastné modely (tak aj tie hry vyzerali!), robil som si vlastnú hudbu, robil som si vlastnú grafiku a programoval som si vlastnú logiku. Som naozaj rád, že ako dieťa som bol veľmi motivovaný robiť maličké kroky v tak technickom odvetví, najmä ak sa tieto témy vyučujú nie veľmi kreatívnou metódou. Ja som sa doslova hral!
Niektoré prvé hry som neskôr publikoval online na nezávislých online platformách ako Gamejolt alebo Itchio. Prezentoval som sa vtedy pod menom Matts Creations (Maťové výtvory), aby som mal aspoň nejakú značku. V tej dobe som netvoril len hry, ale aj rôzne 3D animácie, stop-motion animácie, rôzne špeciálne triky s kamarátmi a podobne. Boli sme deti, robili sme, čo nás bavilo. Vytvorili sme mnoho hier rôzneho druhu, či už akčné, strategické alebo kreatívne. Drží nás to až doteraz!
Vývoj hier má mnoho odvetví, mňa osobne najviac chytilo programovanie, ktoré mi primárne zostalo dodnes. V programovaní som naďalej pracoval aj na mnohých iných projektoch mimo herného priemyslu. Spolupracoval som s rôznymi štúdiami po celom svete a neskôr som premenoval svoju značku Matts Creations na meno Struct9. Kolektív okolo tohto mena dnes tvorí šikovná skupina kreatívcov nielen zo Slovenska, ale aj z celého sveta. Venujeme sa nielen kreatívnym hrám, ale aj iniciatívnemu softvéru.
Dnes pracujem ako freelance full-stack vývojár na rôznych projektoch, herných tituloch a aplikáciach pre počítač, mobilné zariadenia a virtuálnu realitu. Medzitým vyvíjam rôzne pluginy a nástroje pre Unity Engine, o ktorých píšem trošku nižšie.
Ako robiť hry?
V prvom rade je veľmi dôležité sa spýtať ,,ako chcem robiť hry?”. Dnes máme mnoho spôsobov a zdrojov pre vývoj digitálnej hry. Existuje veľa open-source enginov, ktoré dnes už primárne neslúžia len pre vývoj hier, ale aj pre produkciu realtimových animácií. Nebudem porovnávať žiaden engine pre tvorbu hry, pretože každý je zvyknutý robiť v niečom inom. Osobne odporúčam začať v Unity Engine, ktorý vám dá mnoho skúseností z každej strany, vrátane programovania. Nájdete viacero zdrojov pre začiatočníkov, dnes už dokonca aj po česky/ slovensky (stále odporúčam anglické, keďže samotný engine/ program je v angličtine). Neskôr sa určite nebáť ísť do Unreal Engine, ktorý vám ukáže trošku iný pohľad na vývoj hier. Ak poznáte iný engine, ako vám bol odporúčaný, tak do toho! Žijeme v dobe, kedy človek musí byť spôsobilý pre rýchlu seba-informovanosť a flexibilitu v akejkoľvek oblasti.
Ďalšia dôležitá otázka, ktorú si musím položiť, je ,,čo chcem robiť?”.
Vývoj hry má veľmi široké spektrum odvetví – vizuálna stránka (modelovanie, kreslenie, navrhovanie…), logická stránka (programovanie, prototypovanie), zvuková stránka (kompozícia zvukov/ hudby, samotná integrácia) a podobne. Tak ako pri vývoji filmu. Každé odvetvie sa rozdeľuje na ďalšie odvetvia, napríklad programovanie –
- Programátor herného enginu (inštalácia programu, konštrukcia programu…)
- Programátor fyziky (správanie objektov v scéne, kolízia medzi telesami…)
- Grafický programátor (renderovacie algoritmy, vizuálne efekty…)
- Programátor umelej inteligencie (navigácia objektov, algoritmy pohybu…)
- Zvukový programátor (systém prehrávania zvukov, vrstvy zvukov, efekty pre zvuk…)
- Sieťový programátor (riadenie serveru, synchronizácia medzi klientmi…)
- Herný programátor (tvorba základných herných mechaník…)
- Programátor nástrojov (tvorba nástrojov pre tech. dizajnérov…)
a podobne. Znie to celkom strašidelne a komplikovane, koľko vecí treba ovládať. Skutočnosť je však taká, že nikdy nebudete zameraní len na jedno odvetvie a praxou sa naučíte byť celkom univerzálny. Stačí trošku trpezlivosti a obrovskej motivácie. Dnes si hru viete zostrojiť celkom sami. Existuje mnoho nástrojov, ktoré vám umožnia hru poskladať do pár sekúnd. Najdôležitejšia je myšlienka. Ak ste tím (či už kolegov alebo kamarátov) a každý je v niečom dobrý (modelovanie, programovanie, hudba), bude omnoho ľahšie a lepšie (ak si všetci rozumiete a ste na podobnej vlne) pracovať v kolektíve. Na vývoji hry sa budete učiť spolu, každý si zoberie na starosť iné odvetvie a vybudujete si dobrú morálku. Je to proste super vytvoriť si s partiou hru o ktorej snívate, však?
Pre úplne začiatky silno odporúčam game jams. Game jam je podujatie, na ktorom vyvíjate hru počas stanovených dní (najčastejšie 3 dni). Je to skvelá akcia pre spoznávanie nových ľudí podobných záujmov, rozšírenie si obzorov a najmä sa naučíte efektívne pracovať. Osobne mám game jamy rád, spoznal som tam kopu ľudí a získal som ďalšie zákazky, ktoré ma posunuli ďalej.
Ďalej si treba stanoviť cieľ ,,prečo chcem robiť hru?”. Chcem robiť hry len pre zábavu? Chcem robiť hry len pre peniaze? Robiť produkt bez cieľa je celkom zbytočné. V prvom rade robenie hier by malo byť zábavou – od začiatku až po koniec, po výsledný produkt. Bohužiaľ, ak si človek stanový cieľ zarobiť na hrách (s tým, že nemá žiadne skúsenosti v tomto priemysle), putuje do čistého sklamania. Na svete existuje toľko herných titulov, že šanca na predaj bez skúsenosti je naozaj veľmi malá (bavíme sa čisto len v “indie” sfére). Preto odporúčam začať robiť hry čisto pre zábavu, pre kamarátov, pre rodinu. Získavať odozvu, recenzie od blízkych, nebáť sa priznať si chybu, pretože to je to, čo posúva človeka ďalej, a to nielen v oblasti herného priemyslu, ale aj človeka ako takého. Časom si viete vybudovať komunitu ľudí, ktorí vašu hru budú sledovať/ podporovať, môžete byť v kontakte s inými vývojármi, s ktorými môžete spolupracovať a navzájom sa dopĺňať, medzitým môže vzniknúť mnoho nových spojení, ktoré vám ukážu nové obzory. Je to dlhá a negarantovaná cesta, ktorú musíte chcieť prekonať a nebáť sa prijímať neznáme výzvy. Mať finančný cieľ bez skúseností bude vždy sklamaním.
Marketing a predaj
Marketing v hernom priemysle je veľmi široká téma. Marketing sa dá robiť rôznymi spôsobmi. Či už rozprávať o danom produkte, zdieľať ho na rôznych platformách, vybrať sa crowfundingovou kampaňou alebo s investorom hľadať publishera. Pri bežnom predaji viete svoj produkt dostať na online platformy ako sú Gamejolt, Itch.io, indieDB alebo Humble Bundle (a mnoho ďalších). Tieto platformy slúžia malým štúdiám, nezávislým vývojárom (aj nie-vývojárom) publikovať svoje “herné” dielo zadarmo alebo za poplatok. Základom pre každú publikáciu sú obrázky diela, ktoré by mali zaujať zákazníka, popis diela a samozrejme samotné dielo (hra) na stiahnutie. Je veľmi dôležité, ako budú obrázky vyzerať, pretože to je to, čo zákazníci budú prvé vidieť na stránke obchodu. Thumbnail sa väčšinou nazýva obrázok, ktorý robí prvý dojem na zákazníka. Rovnako to funguje aj na väčších platformách ako je Steam alebo Viveport (pre VR tituly). Väčšie platformy vyžadujú omnoho väčšiu pozornosť, čo sa týka právnickej stránky a obsah materiálu (povolený vek [rating], videá, trailer a pod). Ak sa rozhodnete ísť do väčších obchodov, rozhodne si naštudujte dokumentáciu a právne informácie. Pri online predaji odporúčam mať založený paypal účet.
Ako nerobiť hry?
Názov tejto kapitoly môže byť trošku zavádzajúci, ale v konečnom dôsledku si povieme, že v hernom priemysle nemusíte robiť len hry, ale aj interné nástroje alebo lepšie povedané – “Assety” pre robenie hier. Ako som vyššie spomínal, vo voľnom čase sa venujem tvorbe technických nástrojov pre interné používanie pri vývoji aplikácii a hier. Zo skúseností viem povedať, že sa mi niekedy viac vypláca pracovať na technických nástrojoch, ako pracovať priamo na hernom titule. Ako taký vývoj herného nástroja vyzerá? Každý populárnejší engine vlastní svoj obchod s nástrojmi, do ktorého môžu rôzni vývojári prispievať svojimi skúsenosťami. Napríklad Unity Engine vlastní Unity Asset Store, v ktorom môžete nájsť kopu užitočných modelov, efektov alebo pluginov = assetov. Tieto obchody vám teda umožnia obchodovať s vaším produktom. Ďalej si treba spraviť “research”, ktoré nástroje už existujú a čo by užívatelia daného enginu privítali. Ja osobne som začal najskôr vyvíjať nástroje pre určité enginy kvôli urýchleniu práce, potom som však zistil, že ich viem aj predať. Moje publikované assety si môžete pozrieť tu. Ak vidím, že danému enginu chýba ten-ktorý nástroj a obchod ho ešte neobsahuje, pustím sa do toho. A ako úplný základ, ktorý treba mať pre tvorbu interných nástrojov – skúsenosť s programovaním a prácou s editorom (ak sa bavíme o technických “assetoch”). Ak by ste chceli obchodovať so svojimi modelmi, hudbou alebo efektami, máte otvorené dvere! Pozor, môže to byť však ťažšie, keďže obchody exponenciálne rastú z oblasti modelovania, zvukov aj efektov.
Ak máte svoj produkt pripravený na predaj, prichádza ďalšia fáza – marketing. Tak ako pri vývoji hry, aj assety pre enginy si vyžadujú svoju udržiavanosť. Ikona, thumbnail, usporiadaná hierarchia v projekte, lákavý popis, trailer, dokumentácia a podpora zo strany vývojára. Užívatelia dnes veľmi radi privítajú, ak je predávajúci vývojár aktívny a ochotný pomôcť. Tým si vytvorí aktívnu komunitu a dôveru zo strany zákazníkov, dokonca môže dostať povýšenie od administrátorov obchodu (zľavy, kupóny, zdieľaný marketing).
Takže nemusíte pracovať len na samotnej hre, ale aj na tom, čo tú hru bude predávať! Veľmi odporúčam skúsiť obchodovať s assetmi, najmä ak sa vám tento “biznis” podarí. Je to naozaj dobrý pasívny príjem a výborná skúsenosť.
Dúfam, že vás článok zaujal a dozvedeli ste sa dačo nové. Vývoj hier je veľmi obrovská oblasť, tak som sa to snažil trošku skrátiť na pár kapitol a spomenúť tie najdôležitejšie veci. Bolo mi cťou s vami zdieľať moje skúsenosti v tejto oblasti a pevne verím, že vám pomôžu na vašej ceste!