článek
Udělej si vlastní hru - úvod
Ú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í..
autor
/ jan_kohout
Publikováno: 06.05.2007
další články této kategorie
diskuze
Drticka | 26.12.18 v 12:56
vypadá to dobře
Petosko | 13.02.16 v 09:30
:)
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).