Jak programovat hry 1 : Proč dělat hry?

8.3.2012 by: Aimia

Článek je o zopdovězení si otázky, proč chcete dělat hry.

Než s něčím začnete, je dobré si odpovědět, proč to chcete dělat. U her je to stejné. Nechci rozebírat, který důvod je lepší, zda vydělat obrovské peníze, získat nehynoucí slávu, nebo jen udělat něco, co si můžou zahrát vaši kamarádi. Ale spíš o to, jak silnou motivaci máte. Protože, ať se vám to zdá jakkoli snadné, vytvořit hru je zdlouhavá a úmorná činnost a rozhodně to často není taková zábava jak se může na první pohled zdát. V tomto článku vás nechci nijak odrazovat, jen chci upozornit, co vás nejspíš čeká.

var sklikData = { elm: „sklikReklama_16736“, zoneId: 16736, w: 468, h: 80 };

Na hře, pokud bude složitější, budete pracovat pravděpodobně několik měsíců. A po měsíci stálého sezení u počítače, už to bude dost velký záběr na vaši disciplínu. Doporučuji svůj cíl podpořit možností výdělku(o tom jak vydělat vývojem her si povíme někdy příště). Vaši motivaci to zvýší, nebude to jen udělat hru, kterou si někdo zahraje a pak vás možná pochválí.

O čem je programování her
Stručně nastíním o čem je programování her. Začnete s konkrétní/matnou představou, že chcete udělat nějakou hru. Trochu si to v hlavě/na papíře promyslíte. Začnete programovat. Nejenom že budete psát spoustu kódu, aby se ve hře vůbec něco dělo, ale budete program i ladit, hledat chyby. Během vývoje řešíte spoustu problémů(někde to nedělá, co chcete, občas to padá, grafik vám dodal grafiku jinak než jste chtěli, tak si ji musíte překreslit, případně mu napíšete ať to opraví…). V průběhu vývoje spoustu kódu zahodíte, spoustu budete upravovat. Pak přijde testování, dolaďování, přidávání efektů, aby hra byla i vizuálně poutavá. A na konec úmorná propagace, snažit se o hře říct co největšímu počtu lidí… No a než projdete všemi těmito procesy, budete řádně unaveni a uběhne spousty spousty vody.

Většina z vás studuje nebo pracuje, takže času zase moc není. Měsíc možná vydržíte denně na hře pracovat po večerech, nechodit ven, odbývat rodinné příslušníky… Ale co takhle půl roku? Na hrách spousta činností trvá, aniž byste je ovlivnili(např. Testování celé hry, jestli jde dohrát. U mojí hry Bubble Domination2 mi to trvalo víc jak hodinu, než jsem prošel všech 50 levelů. A představte si že na konci zjistíte, že jsou poslední levely nehratelné, a musíte hru opravit, znovu testovat 🙁

Závěr
Nenechte se odradit tímto článkem. Programování her je krásná činnost. Není sice pro každého, ale je to krásná kreativní aktivita – hrou vytváříte jakýsi mikrosvět, s vašimi pravidly, příběhem. Jen se připravte na spoustu práce. Proto i doporučuji, ať si za svůj první projekt zvolíte hru co nejjednodušší. Klidně udělejte pexeso s nějakým inovativním prvkem, nebo upravte známou logickou hru. I tak se toho budete mít spoustu co učit, a pokud zjistíte, že to dělat hry není pro vás, aspoň tím nezabijete příliš moc času.

Filed under: Jak programovat hry

Comments

9 komentářů to “Jak programovat hry 1 : Proč dělat hry?”
  1. Firejs napsal:

    Pěkně napsané, ale nevím jestli jsou zrovna finance ta správná motivace.. když se něco dělá jen pro peníze, tak se do toho nedává tolik toho srdce 🙂 Kor, když už se jede třetí hra na stejném systému jen s obměnenou grafikou, aby se narejžovalo trochu víc.

    • Aimia napsal:

      Díky za pochvalu. Dle mého by finance měly být jedna z hlavních motivací, jinak se to nedá dělat trvale(pokud tě neživí rodiče, stát apod.). Tvorba her je dost náročný proces. Představ si, jaká bude kvalita her a jak dlouho to vydržíš, když je budeš dělat stahaný po práci. A jaká bude kvalita, když si budeš moc dovolit dělat je fulltime, zaplatit kvalitní grafiku, hudbu…

      Dělat hru se stejným systémem plně chápu. Taky se mi to moc nelíbí, ale sám to musím dělat. Dokončit hru není, jak si asi spousta lidí myslí, cool zábava a otázka 2-3 dnů u počítače. Jsou to hodiny a hodiny práce, nervů… A navíc když si člověk uvědomí, že vývoj profi her jde do miliónů, tak se to nějak zaplatit zkrátka musí.

      • Likandro napsal:

        Ale Fajrs nepsal o vývoji po večerech, ale o motivaci. Když člověk dělá hru, aby si vydělal peníze, dělá ji pro peníze. Když člověk dělá hru, protože chce udělat skvělou hru, nedělá ji pro peníze, byť se nevylučuje, že bude mít investora, že jí bude prodávat a že z ní něco „vytříská“ – tedy bude podávat stoprocentní výkon, přestože třeba nebude mít čtyřicet tisíc za měsíc, ale třeba jenom šestnáct. Člověk, který dělá věci pro peníze, ten je dělá úměrně penězům a zaplacenému času. Liší se motivace. Zaměření na peníze a zaměření na kvalitu. Lidé mají tendenci to slučovat s úvahou: „No když chci peníze, musím dodat co nejvyšší kvalitu,“ případně: „Když potřebuji zaplatit lidi, abych dosáhl co nejvyšší kvality, potřebuji peníze,“ ale to je jenom částečná pravda. Je řada her, které jsou špičkově zpracované, ale nikdo je nehraje, protože jsou prázdné. Autoři totiž zapomněli, že hra je taky hra a musí být jako hra dobrá. Není to jen produkt na poličce v obchodě, kde je dvacet stejných sýrů jen od jiného výrobce a s jinou cenou. Zaměření na peníze tenhle myšlenkový vklad do hry a vůbec pochopení hry posouvá na druhou kolej. Rozum pak bere osvědčené mechanismy a splácá z nich kopii tisícovky her, které fungovaly. Má z toho průměrný výtěžek, takže vyžije a je spokojený. Nicméně, uzavírá si prostor pro inovaci.
        Obecně se dočteš i v knížkách o „lidských zdrojích“, že člověk s vysokou vnitřní motivací, který má méně zkušeností, často podává vyšší výkon, než profesionál, který žije stereotypem a věc dělá pro peníze.
        Krásným příkladem na závěr budiž dabér hry Bastion. Studio Supergiant Games mohlo najmout také profesionála, který by jim jistě skvěle namluvil pár vět, které by byly dopředu připravené, ale našli tohohle dabéra, kterého hra nadchla a mohli věty v průběhu tvorby přetvářet, předabovávat a dojít té parádní skutečnosti, že se ve hře prupovídky řečené „mimoděk“ neopakují.
        A proto je po mém soudu důležité hledat takové lidi a být takovým člověkem, který to co dělá, dělá, protože to chce dělat, nikoliv proto, že z toho chce mít peníze. Přidaná hodnota je neuvěřitelná, byť jsou to často jenom drobnosti, pár nezaplacených hodin přes čas, dělají obrovské rozdíly.

      • Likandro napsal:

        PS: Ještě jedna věc k té finanční motivaci: Například zvýšení platu člověka udrží ve vyšším tempu maximálně tři měsíce, spíš jeden až dva. Jak funguje finanční motivace někde půl roku před člověkem? Je to tuším opět ta mezní limita, kdy to ještě některé lidi táhne, ale opět jsou lepší ti, co to nedělají pro peníze, ale prostě proto, že to chtějí dělat a že to chtějí dělat dobře sami od sebe. Tedy nejlepší je najít lidi, kteří dělají hry pořádně, prostě proto, že by bylo pod jejich úroveň, kdyby dělali věci špatně.
        Je to asi jako při studiu se stipendiem: Jsou lidé, kteří jsou rádi, že prolezou a vůbec ho neřeší. Pak jsou lidé, kteří se snaží mít nejlepší známky, aby měli stipendium – to znamená, usilují o to minimum znalostí, které spadne do škatulky „mám stípko“. Nakonec jsou lidé, kteří mají dobré známky, protože chtějí něco dobře umět a stipendium je vedlejší produkt. Zdá se mi, že je naprosto zřetelné, kteří z nich jsou nejvhodnější pro činnost „studium“. Podobně je to ale například při tvorbě her – už jen kvůli věčnému předělávání.

        • Aimia napsal:

          Souhlasím, že ten, kdo něco dělá že to chce dělat, podává maximální výkon. Nemyslím že finanční stránka by měla být hlavním kritériem, ale podle mě by měla jít ruku v ruce. Jako jakési ohodnocení, měřítko úspěšnosti vytvořené hry apod. U kvalitní hry, bez motivace k zisku, se taky může stát, že ji dotyčný nikdy nedokončí – jelikož ho nebude tlačit „kdy už to posype“, může snadno uvíznout ve smyčce stálého vylepšování atd.

  2. KAOS napsal:

    Vypadá to tu jako skvělý nakopnutí do začátku. Mám už zkušenost s jinými jazyky a chtěl jsem se naučit alespoň začátky flashe. Nepíšu ale abych Tě chválil. Jen často dělám bughuntera nebo betatestera a tak když sem ve tvojí hře (Bubble Domination) našel chybku, nedá mi to nereportovat 🙂
    Report 29.4.2013 : Nejsem si úplně jistý důvodem chyby ale vypadá to tak, že když vyšlu do útoku bublinky a před tím než dorazí do cíle přijdu o poslední mojí mateřskou bublinu (nezbyde mi žádné „území“) tak útok sice zničí nepřítele až do šediva ale jakákoliv další bublinka mu přidá +1 jeho život. Další ho zas odebere a další zas přidá. Takže skupina bublinek ho udržuje na šedivé nule nebo (např. červené) +1 namísto toho aby z toho udělala mojí novou bublinu a já mohl pokračovat v boji.

    • KAOS napsal:

      A ještě poznatek. Funguje to i obráceně. Když on je zničen tak jeho útoky mě dostanou na nulu a následně přičítají +-1

    • KAOS napsal:

      Tak jo. Abych byl přesný, nezáleží na tom jestli ještě zbývá území nebo ne ale na bublině zek který útok pochází. (čímž se z toho stává závažnější chyba protože při útoku z několika bublin na jednu si tak bráním v mém vlastním útoku…)

Leave a Reply