článek

Udělej si vlastní hru - úvod

Udělej si vlastní hru - úvod

Přáli jste si někdy vytvořit svou vlastní plnohodnotnou hru? Jan Kohout, jeden z našich stálých čtenářů, se rozhodl, že vám tento sen zkusí splnit. Připravil si pro vás menší seriál, kde se vám pokusí podrobně sepsat, co vlastně taková tvorba obnáší. Dnes tu máme úvodní díl...

Úvodem, jak je ostatně dobrým zvykem, si řekneme základní informace ohledně tohoto seriálu. Tak tedy, oč vlastně půjde? V jednotlivých dílech budeme postupně, krok za krokem, vytvářet jednoduchou počítačovou hru. Vzhledem k její jednoduchosti a popularitě jsem jako cíl našeho snažení vybral gamesku, kterou většina lidí zná pod jménem Bomberman či Dyna (Blaster). Abychom byli alespoň trochu originální, zkombinoval jsem klasického Bombermana s jinou klasikou - neméně známou hopsačkou Mario. Bude se tedy jednat o titul, jenž se bude hrát po bombermanovsku, ale s mariovskou grafikou.



A co by si měl čtenář do začátku přinést? Především alespoň základní znalost některého programovacího jazyka, ideálně C/C++, neboť tento jazyk budu v jednotlivých dílech používat k ukázkám implementací jednotlivých herních mechanismů. Dále také nebude na škodu základní zkušenost s některým grafickým rozhraním (opět jako ideální bude znalost základů DirectX, neboť ho budu používat i já), avšak jeho znalost bude postačovat opravdu na minimu, neboť 2D hra asi jen těžko bude přehlídkou grafických efektů a rovněž tento seriál si v žádném případě neklade za cíl někoho naučit kvalitně vytvářet grafiku. Soustředit se budeme na zejména na návrh konceptu a jeho implementaci.



Koncept hry



Jako jeden z prvních úkolů, které na nás během vývoje potkají, je návrh konceptu, tedy upřesnění námětu hry, způsobu hraní, herních mechanismů apod. Jednoduše řečeno, jako první nás čeká rozmyslet si, jak bude gameska vypadat a jak se vlastně bude hrát. Takovému spisu se většinou říká design document a u rozsáhlejších projektů se může jednat o celkem obsáhlý spis. My si však pro jednoduchost a lepší přehlednost vystačíme s několika body, v nichž si vše podstatné shrneme. Tak tedy, jdeme na to.



Prostředí



Vše bude rozděleno do jednotlivých úrovní (levelů), které budou představovány 2D bludištěm zakresleným pomocí čtverečků tří různých typů:





  • prázdným čtverečkem - toto pole bude pro herní postavičky průchozí


  • čtverečkem s cihlami - toto pole nebude průchozí, avšak explozí bomby (viz dále) půjde toto pole "změnit" na prázdné, tedy průchozí


  • čtverečkem s ocelí - toto pole bude neprůchozí a tento jeho stav nepůjde nijak změnit











Postavy



Ve hře budou dva druhy postav - postava ovládaná hráčem (Mario) a postavy nepřátelské, které se budou řídit vlastní (jednoduchou) umělou inteligencí. Ocitne-li se hráč či něpřítel na stejném čtverečku, pak hráčova postava zemře (ztratí život, přesnou realizaci tohoto si můžeme rozmyslet až později). Hráč pak bude ovládán pomocí kurzorových šipek.



Náplň



Hlavní hrdina bude moci při pohybu po bludišti klást bomby. Po položení bomby a uplynutí určitého času bomba (jak už to tak bývá :-)) exploduje. Výbuch se bude šířit do čtyř směrů (nahoru, dolu, doleva a doprava) a narazí-li na cihlový čtvereček, pak se tento čtvereček stane čtverečkem prázdným. Pokud výbuch narazí na čtvereček ocelový, pak se jeho šíření v daném směru zastaví. Dospěje-li výbuch na čtvereček, na němž se v daný čas nachází nepřátelská postava, pak bude tato postava zabita, přesněji řečeno vyřazena ze hry.



Narazí-li výbuch na postavu hráče, pak bude hráčova postava zabita stejným způsobem, jakoby se setkala s nepřítelem. Maximální délka výbuchu bude stanovena pomocí proměnné ve struktuře bomby. Cílem hráče je zlikvidovat v každém levelu pomocí bomb všechny nepřátele, poté postupuje do levelu dalšího, případně se stáváte vítězi.



Grafika



Grafika bude použita z herní serie (Super) Mario Bros. Pro postavu hráče bude použita postava Maria (animovaná), pro nepřátele postava známé mariovské "houbičky" (rovněž animovaná). Pro grafické znázornění herního bludiště bude také použito mariovské grafiky ze zdarma dostupných zdrojů. Animovaný obrázek bomby bude vlastní (mnou nebo vámi vytvořený).



Toto by tedy byl stručný popis hry, jejíž stvoření bude naším cílem. Pro účely prvního dílu bychom se tedy mohli s tímto spokojit, zbývá zadat domácí úkoly a těšit se na pokračování... :-)



Co bude příště?



V následujícím dílu seriálu již hlavně konečně začneme s programováním - vytvoříme si pomocí několika málo funkcí okno, ve kterém naše hra poběží. Seznámíme se tedy s úplnými základy WinAPI a způsobem správy okna aplikace. Pokud Vám WinAPI nic neříká, pak se rozhodně nemusíte obávat, neboť toto, pro Vás "nutné zlo", využijeme jen okrajově k základní správě okna (vytvoření a zrušení okna, zjišťování stisknutých kláves...). Předběžná znalost tohoto rozhraní tedy rozhodně není nutná.



A Vaše domácí úkoly? Nabízí se jich hned několik... Pokud neznáte hry bombermanovského typu, nebo si je jen chcete připomenout, pak si pro inspiraci nějakou stáhněte a zahrajte si ji (na internetu je jich opravdu nepřeberně).



Pokud si budete chtít během tohoto seriálu nejen počíst, ale i zaprogramovat, pak si sežeňte (pokud ho ještě nemáte) potřebné softwarové vybavení. Konkrétně se jedná o překladač (či přímo vývojové prostředí) pro Vámi vybraný programovací jazyk a knihovny grafického rozhraní, které si pro práci vyberete (znovu opakuji, že na volbě grafického rozhraní příliš nezáleží, neboť od něj budeme požadovat skutečně jen základní služby, které se v jednotlivých rozhraních příliš neliší). Pokud si zvolíte DirectX, pak potřebné knihovny získáte v rámci tzv. DirectX SDK, které lze zdarma stáhnout z internetu. Návod jak tyto knihovny "zprovoznit" ve Vašem vývojovém prostředí by pro Vás neměl být problém na internetu získat (obvzlášť pokud se rozhodnete pro nějaké IDE od Microsoftu).



A to už je pro tento díl asi opravdu vše, nezbývá než čekat na díl příští..




jan_kohout

autor
/ jan_kohout

Publikováno: 06.05.2007


další články této kategorie





diskuze

odeslat

Nejsi automat? Napiš výsledek 1 + 5 =

Drticka

Drticka | 26.12.18 v 12:56

vypadá to dobře

Petosko

Petosko | 13.02.16 v 09:30

:)

phanka

phanka | 03.02.15 v 21:06

:-) :-)

vasa | 15.06.08 v 22:22

´´Hráč pak bude ovládán pomocí kurzorových šipek´´ xD a kdo toho hráče bude ovládat?

Aonim | 26.10.07 v 08:50

:-D

ihornak | 14.05.07 v 10:36

zavist

artman | 07.05.07 v 20:54

A co je na těch stránkách špatného?

Anonym | 07.05.07 v 20:15

O kvalitach autora svedci web jehoz je autorem:
http://www.gym-rce.cz/
no posudte sami....

Ludva | 06.05.07 v 20:10

Nazdar Tlustej:D:D:D Ty vole ty píšeš něco o hrách:D Ty kterej by se měl stydět za to nepřeberný množství bugů kterýma si mě vždycky obšťastňoval když sme kopali oba za Gamax:D:D:D Stydim se:) Tak hodně štěstí a doufám, že ten seriál bude aspon originální a ne kopie netových návodů(což očekávám).


naše databáze obsahuje: 26 944 her

Sponzoři ligy

inzerce