Jak se vytvářejí hry? - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Zprávy

Jak se vytvářejí hry?

19. listopadu 2001, 00.00 | Chcete vytvářet počítačové hry a nevíte kde začít? Pomůžeme vám, a ukážeme že začátek nemusí být až tak těžký. Přečtěte si s jakými typy her je vhodné začít svou kariéru v herním průmyslu..

Poznámka redakce: Článek byl původně stažen z důvodu neoriginality. Jelikož ale mnozí z vás volali po jeho zveřejnění a myslíme si, že pro mnohé bude přínosný, vyžádali jsme si souhlas jak autora originálního článku, tak provozovatele webu.
Abychom předešli dalším nedorozuměním: tento článek je volným překladem anglického originálu "How do I make Games?", jenž můžete nalézt na adrese: http://www.gamedev.net/reference/design/features/makegames/


Aneb jak se dnes prosadit v herním průmyslu. Mnoho mladých a začínajících programátorů si pokládá otázku: mohu já vytvořit hru nebo jak vytvořit hru, aby pronikla do světa a stala se špičkou? Například hru jako Quake, Diablo nebo Need For Speed? Je to vůbec dnes ještě možné? Odpověď zní poněkud jednoduše, "Ano".

Aby se vytvořila profesionální hra, neznamená to, že bude hotova za měsíc od první myšlenky vzniku. Naopak, dobrou hru nedělá jeden člověk krátkou dobu, ale pracují na ní týmy profesionálních programátorů, špičkových grafiků, designérů, zvukařů a lidé mnoho dalších důležitých profesí…a taky je potřeba všechny tyto lidi platit. Takový herní projekt trvá řadu let a stojí mnoho peněz (až několik milionů).

Když jsem začínal s programováním před několika lety, říkal jsem si: "jak to, že nemohu po týdnu programování vytvořit pokračování nějaké hry?" A to je přesně ono. Když vývojový tým složený z desítek lidí vytváří hru rok, dva, tři možná i déle. Tak já přece nemůžu podobnou hru vytvořit sám za měsíc nebo snad za týden! Musím začít od začátku a stejně tak i Vy. Lidé v herním průmyslů totiž taky začínali od začátku. Jen si vzpomeňte jaké byly hry před 10 lety.

Kde mám začít?

Tetris
Tetris je na začátek asi nejlepší hra jakou můžete vytvořit a pomalu proplouvat do herního průmyslu. Hra Tetris totiž obsahuje takové základní prvky, které obsahují všechny hry. Například menu hry, tabulku výherců, nápovědu apod. Navíc nemusíte malovat kameny v grafických programech, ale stačí si vytvořit jednoduché obrázky a pak se vrhnout rovnou na programování. Nejde nám přece o tvorbu dokonalé grafiky, ale především o programování. Každý kdo umí nakreslit kámen, který jde nakreslit v jakémkoliv grafickém editoru, může tuto hru vytvořit.


Tetris

A jak už jsem se zmínil, že Tetris je asi jedna z nejlepších možností, jak se pomalu začít angažovat v herním průmyslu. A tím myslím, že i vy klidně můžete vytvořit plně funkční hru, která nejenom, že bude dobře hratelná, ale i bude pěkná, zábavná a srovnatelná s ostatními komerčními hrami.

Každá jednoduchá hra obsahuje ty základní prvky, které obsahuje i Tetris. Jako je menu, tabulka výherců, nápověda, samotný engine hry atd.

A teď mimo jiné taky trochu o copyrightu - když budete tvořit podobnou hru, nemůžete jí pojmenovat "Tetris". Tetris je ochranná známka Tetris Company, kterou vlastní Alexev Pajitnov, stvořitel Tetrisu. To je jeho výhradní právo používat název Tetris. A já si myslím, že kdyby někdo vytvořil hru s padajícími kameny a použil ve svém názvu slabiku "tris" tak Pajitnov by určitě proti němu vyhrál soudní proces. Ale na druhou stranu pokud to nepoužije tak zřejmě ubíráte na popularitě hry stylu Tetris. Můžete jí třeba pojmenovat "Něco padá z oblohy" a nikdo na Vás nic nezmůže. Ale přece jenom podle mě Tetris je Tetris.

Tak to by bylo asi vše k Tetrisu. Pusťte se do toho! Hodně štěstí!

Co dál?

Po té co po všech stránkách dokončíte hru Tetris, jste připraveni se pustit do další hry u nás pod známým jménem Arkanoid.

Naprogramovat Arkanoid je už o něco těžší než Tetris, protože tam je více efektivity a pohybových částí. Pořád musíte ve svém programu kontrolovat míček, co dělá jak, se chová apod.


Arkanoid


Není zde stále jenom jeden princip hry a pořád stejné kolo, ale už si zde "musíte" vytvořit profily pro jednotlivé hráče a jejich score. Možnost ukládání, tvorba levelů atd. A i v Arkanoidu uplatníte ty věci, které jste použili v Tetrise, protože je to v podstatě hra se stejným principem.

Dále se pusťte do hry jako je CD-Man nebo Pac-Man. Jezdíte v bludišti a ovládáte "tlamu", kterou požíráte kuličky nebo kostičky na cestách v bludišti. Zatím udělejte takovou mapu, aby se Vám při Vašem použitém rozlišení vešla na jednu obrazovku. Nedělejte hru typu "scrolling" nebo-li rolovací. K tomu se dostaneme později.

Hlavní nová věc, která přibude do našeho projektu je programování umělé inteligence (tj. poprvé co se s AI - artificial intelligence setkáváme) nepřátel do kterých nesmíte nabourat, ale musíte se jim vyhýbat jinak přijdeme o život. V této hře jsou cesty ve kterých sbíráte kuličky nebo kostičky či jablíčka (jak je libo). A díky tomu můžete použít metodu typu jeď a když narazíš na křižovatku dej se nějakým náhodným směrem. To není tak těžké naprogramovat. Nebo klidně přidělejte to, že se nestvůra bude otáčet i na delší cestě čelem vzad. Je to jen na Vás jak to uděláte. Hlavní je základ. Tj.: panák (hlava, která požírá kuličky), nepřátelé, umělá inteligence a podobně jako tomu bylo i Tetrisu tj. menu, nápověda atd. Ačkoliv tyto prvky musí mít každá hra, která se chce prosadit.


CD-Man


Už je na čase taky přidat do CD-Mana hudbu na pozadí pokud jste tak již neučinili. I případné hudební efekty.

A nakonec vytvořte hru jako je Super Mario Bros. Zde využijete opět dřívější zkušenosti jako je programování hudby na pozadí, AI, tvorba levelů atd.

Poprvé se setkáváme s rolující hrou nebo spíše obrazovkou. Kde se vám pořád mění pozadí hry a Vy procházíte jakým si bludištěm, střílíte nepřátelé, sbíráte jahody nebo životy na zdech, zvětšujete se, zmenšujete se atd.

Navíc ve hře nemáte jen jeden život. Dále nepřátelé Vás také nezabijí na jeden zásah, ale máte tzv. životy. A tím myslím, že když máte 100 procent života a nepřítel Vás zasáhne, tak Vám to ubere pouze třeba 20 procent života a Vy klidně hrajete dál. Také programujete částečně fyziku Maria (hlavní postav) při skoku atd. Je to už o mnoho těžší než Arkanoid. Ale stále se Vaše hry stávají složitějšími a náročnějšími a hlavně zábavnějšími.


Super Mario Brothers 2


Nezapomínejte na to: pokud se Vám hra špatně hraje tak většinou se bude hrát špatně i Vašim kamarádům.

Při tvorbě kol si dáte také zabrat. Nejenom, že "musíte" vymyslet svůj způsob ukládání a načítaní kol, ale Vaše kolo musí mít taky nějaký konec. Většinou na konci kola čeká větší příšera než ty, které jste potkali cestou ke konci kola.

Co se týče grafiky. Nesnažte se nakreslit dokonalé obrázky, ale takové, aby se daly alespoň použít. A nyní se dostáváme k dalšímu problému nebo nové věci. Zatím jsme používali Sprity, které jste vkládali asi na nějaký backbuffer a ten pak zkopírovali na obrazovku. Čistě jste jeden obrázek "lepili" na určité souřadnice. Ale nyní co Vás čeká nového. Musíte si nakreslit tzv. pohyb a rozložit ho do více obrázků. A ty pak v určitém časovém sledu skládat za sebou na obrazovku čímž docílíte plynulého přechodu Maria. Na první pohled to bude vypadat jako animace. Vlastně dříve se i takhle animace tvořily, ale dnes jsou na to speciální algoritmy jako je třeba Div X.

To jsme si teď popsali nové věci, které použijeme, což nám zatím stačí, na vytvoření těchto her.

Pořád to není ono!

Ano není, ale nějak se začít musí! Jak jistě víte skoro ve všech komerčních hrách je možnost hrát hru ve více hráčích na více počítačích, nebo-li tzv. multiplayer. Na začátek nebudeme programovat hru, aby se dala hrát na více počítačích, ale stačí nám vytvořit akční hru pro dva hráče hratelnou na jednom počítači.

Doufám, že jste všichni z Vás hráli hru Golden Axe. Je to akční hra (taková plošinovka) a použijete v ní všechny prvky které jste se doposud naučili. Opět v této hře hraje roli život, kde můžete utrpět i nějaká zranění a přesto pokračujete dál ve hře.


Gauntlet


Bohužel jsem nesehnal Screen Shot ze hry Golden Axe, tak Vám ho alespoň přináším ze hry Gauntlet. Což je hra obdobná Golden Axu.

Co se týče programování? Hlavně si musíte přímo osvojit název rolující hra. Kolik je dnes komerčních her, které se dějí pouze na jedné obrazovce bez posunu?. Znáte nějakou? Asi ano, ale je to opravdu malé procento ze všech dnešních her. Třeba já si na žádnou nevzpomínám.
Ale ve hře Golden Axe už není jenom posun doleva a doprava, ale i nahoru a dolu. Velkou roli zde hraje již zmíněná rolující scéna.

Přesto největším a nejnovějším problémem je hra ve dvou hráčích (může hrát samozřejmě i jeden hráč). Není to zas tak těžké. Akorát budete "muset" kontrolovat dva vstupy z klávesnice a přiřazovat je správnému hráči. Jako je pohyb, sekání zbraní, použití kouzel. Vyvolání menu hry je pro oba dva hráče stejné, v tom by neměl být problém.

Závěrečné slovo ke všem zmiňovaným hrám: musíte je dodělat až do konce! Hotová hra není jen hra kde se dá pohybovat panáčkem apod., ale znamená to úvodní animaci (není nutná, většinou je to reklama na to kdo hru vytvořil), menu hry a různá nastavení, možnost ukládání, pokud je to nutné a hlavně samotný engine hry. Neuděláte přece menu a nedáte to někomu zahrát a nezeptáte se ho "jak se ti to hraje?" To je nesmysl. Nejdřív musíte si hru promyslet a začít enginem. Pak teprve tvořit další levely, přidávat příšery, menu, hudbu atd.

Kde jsou moje miliony?

Kam se poděly moje miliony? Asi je shrábnul někdo jiný. Minulý rok totiž bylo vytvořeno, naprogramováno, prostě přišlo na svět něco kolem 3500 her. Většina her byla od jednoho člověka nebo od malých nekomerčních vývojových týmů. A jen několik málo her bylo vytvořeno profesionálními vývojovými týmy. Hry od profesionálních týmů vydělali milióny, protože taky milióny stály (i když to samozřejmě není podmínkou, aby hra, která má dobít svět stála milióny). Dnes je těžké se prosadit, ale stále to jde. Nemusíte vlastnit nějakou vývojovou firmu (i když by to nebylo vůbec špatné), ale asi určitě nebudete na ni mít vstupní kapitál. Můžete jít pracovat do firmy, která dělá hry. Ale na to potřebujete mít za sebou nějaký dokončený herní projekt. A o tom byl tento článek. Jak se pomalu, ale jistě prosadit ve světě vývojářů her. Tj. začít od začátku a postupně se zlepšovat.

Na světě je spousta hráčů co si koupí alespoň nějakou hru než žádnou i když se jim tu co si kupují tolik nelíbí. Ale co když právě čekají na tu Vaší hru? Nenechávejte je čekat dlouho. Vytvořte si do začátku malý vývojový tým nebo se k některému přidejte a podílejte se na programování větších projektů, můžete tak získat drahocenné zkušenosti. A uplatnit je při hledání svého budoucího zaměstnání, které může být právě u softwarové firmy zabývající se tvorbou her.

Tématické zařazení:

 » Rubriky  » Zprávy  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zatím nebyl uložen žádný příspěvek, buďte první.

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: