ACV-Wars ... The racing strategy
Game design
Plzeň, 2008
Vladimír Geršl
ACV-Wars [Game design]
-2-
Obsah OBSAH .................................................................................................................. 2 1. ÚVOD ............................................................................................................ 3 2. ZÁKLADNÍ RYSY A PRINCIPY HRY.................................................................. 4 2.1 Technické detaily ....................................................................................... 4 3. GAMEFLOW................................................................................................... 5 4. VZNÁŠEDLA - DRUHY A CHOVÁNÍ ................................................................. 5 5. HERNÍ PROSTŘEDÍ ......................................................................................... 6 5.1 Vzhled krajiny...................................................................................... 6 5.2 Checkpointy ......................................................................................... 6 5.3 Ovládání hry ........................................................................................ 6 5.4 Peníze ................................................................................................... 6 5.5 Minimapa ............................................................................................. 6 6. GRAFIKA ....................................................................................................... 7 6.1 Stylizace ............................................................................................... 7 6.2 GUI ...................................................................................................... 7 6.3 Menu .................................................................................................... 8 6.4 Modely ................................................................................................. 9 6.5 Efekty ................................................................................................... 9 7. ZVUKY A HUDBA ......................................................................................... 10 8. BONUSY ...................................................................................................... 10 9. AI ............................................................................................................... 10 10. FYZIKA ................................................................................................... 11 10.1 Fyzika vznášedel ................................................................................ 11 10.2 Kolize ................................................................................................. 11 11. SÍŤOVÁ HRA ............................................................................................ 11 12. MAPA MENU ........................................................................................... 11 13. HRUBÉ ROZDĚLENÍ PRACÍ ....................................................................... 12
Game computer club
KIV/PH
ACV-Wars [Game design]
-3-
1. Úvod Toto je game design (neboli design dokument) pro hru ACV-Wars. Jsou zde popsány všechny potřebné informace o hře z hlediska hratelnosti. Nebudou zde programátorské detaily, apod. To si již musíte vyřešit sami. Většina týmu dělá poprvé v životě počítačovou hru. Z vlastni zkušenosti mohu vím, že 90% nekomerčních her se nikdy nedodělá. Je to většinou bohužel kvůli nadhodnocení sil týmu, kdy nestihnou během počátečního nadšení udělat základní model hry (který by již byl hratelný) a poté se vývoj rozplizává, až skončí úplně. Je proto důležité, aby byl náš koncept jednoduchý, hratelný už téměř od samého začátku a aby byla hra navržena tak, že ji můžeme odevzdat jak v základní verzi, tak do ní přidělávat další fíčury, pokud zbyde čas. Jelikož nás na hře bude dělat více, je potřeba se pravidelně informovat, domlouvat, ukazovat si práci – proto je založen http://acv-wars.blogspot.com kde budeme blogovat o hře a využívat to jako forum, mimoto se budeme (dokud to bude třeba) jednou týdně scházet naživo. Pro verzování hry a její vývoj budeme používat svn repozitář, který značně zjednodušuje vývoj v týmu. Obecně platí, že dělejte tu svoji část co nejobecněji, aby se dala využít i třeba v jiné hře a všechny důležité parametry vytáhněte do xml, aby se dalo při ladění „tahat za nitky“.
Obr. 1.1: Přibližná ukázka pohledu na vznášedlo a jeho poměru k velikosti sektorů + jedna z možností rozložení GUI (to bude možná spíše ve vrchní části obrazovky a bude se řešit až při dále).
Game computer club
KIV/PH
ACV-Wars [Game design]
-4-
2. Základní rysy a principy hry Bude se jednat o kombinaci závodu vznášedel a obsazovací strategie typu hry Z. Hra bude tedy vyžadovat jak postřeh a řidičské schopnosti, tak logické uvažování. Koncept hry bude v podstatě samostatně hratelná hra s boty a jako bonus bude – pokud se povede dokončit – síťová hra, kde místo botů budou živý oponenti. Hráč ovládá vznášedlo z oddáleného pohledu třetí osoby (tzn. kamera pevně vzadu nahoře za zadkem vznášedla). Jezdí po 2,5D terénu, generovaném z height mapy. Celý terén je rozdělen na malé čtverečky (velikosti vznášedla). Sektor je tvořen 10 x 10 čtverečky. Checkpoint je tvořen 1 čtverečkem. Velikost celé hrací oblasti je M x M sektorů (přičemž M bude odlišné podle počtu hráčů, ale pro 2 hráče cca 15 x 15). Na mini-mapě vidí celou herní plochu rozdělenou do sektorů (čtverce). Ty jsou obarveny buďto neutrálně (neobsazené), nebo barvou hráče, který je obsadil. Obsadit sektor lze tak, že na něm projedete checkpoint. Vždy ze tří obsazených sektorů se vytvoří trojúhelník obsazených sektorů – tzn. připadnou hráčovi i sektory uvnitř trojúhelníku. Pokud pomocí obsazených sektorů ohraničí hráč nějaké území, tak mu připadnou i sektory uvnitř tohoto prostředí (i pokud patřily protihráčovi). Z každého obsazeného sektoru plynou hráčovi peníze. Za ty lze kupovat bonusy. Bonusy pouze pomáhají hráčovi, nebo ruší protihráče – nikdy však nikoho neničí – vznášedla ve hře jsou nerozbitná. Výhra je dle vydělaných peněz (pokud zbyde čas tak i podle dalších herních módů např. kdo obsadí více jak 50% sektorů, kdo bude mít po vypršení času více sektorů, nebo kdo dokáže uhájit nějaké procenta svého území před všemi protihráči...). Pokud přebereme území, které patřilo proti-hráčovi, dostaneme peněžitý bonus za každý jeho bývalý sektor (tzn. motivace ke kontaktnímu hraní..). Vznášedla pojedou různě rychle do kopce a z kopce a bude na nich aplikovaná fyzika.
2.1 Technické detaily - Síťová struktura bude klient-server. - Budeme se snažit klást důraz i na single s boty. - Vznášedla budou nerozbitná. - Mapa bude obalena sklem a nepůjde z ní vyjet. - Crazy arkádová fyzika s "super pocitem z rychlosti". - Snaha nejprve udělat funkční základ s minimem funkcí. Bonusy apod. se budou přidávat dle časových možností..
Game computer club
KIV/PH
ACV-Wars [Game design]
-5-
3. Gameflow Na začátku si vyberu vznášedlo, které je nejrychlejší a nejhůř ovladatelné – pže jsem už profík – nastavím si počáteční peníze 1000 $, 2 oponenty a vítězství nastavím na 8000$ a hurá do hry! Moje taktika bude zabírat co největší území – sice než obsadím velké území, je větší pravděpodobnost, že mi někdo zruší nějaký z obsazených sektorů a tím nebudu moct dokončit celý troúhelník (mám 2 obsazené sektory a jedu na druhou stranu hrací plochy, obsadit poslední a tím obsadit všechny sektory uvnitř trojúhelníku – někdo mi však jeden sektor zruší – musím tedy obsadit 2 sektory...), ale vzhledem k mému výběru nejrychlejšího vznášedla je to taktické rozhodnutí. Bohužel jeden z počítačů je prevít a vždycky mi obsazuje moje sektory a tím mi kazí moji strategii – já však využívám bonusu Bomba a na svůj první a druhý obsazený sektor pokládám Bombu. Na tu sice najíždí nepřítel, ale ta ho odhodí do dáli a tím mi poskytuje čas navíc – na minimapce však vidím, že druhý soupeř se také rozjíždí k sektoru, na kterém již neleží bomba. Proto využiji dalšího bonusu – Jump. Ten mě zrychlí a vymrští ve směru mé jízdy, čímž se dostávám na druhou stranu hrací oblasti a tam obsazuji kýžený checkpoint. Nyní mám již obsazenu téměř polovinu hrací oblasti – z té mě plyne dost peněz, takže vyrážím škodit nepřátelům do té doby, než my obsazená oblast vydělá dost peněz a dokud nezvítězím...
4. Vznášedla - druhy a chování Obecně vznášedla jsou nerozbitná a pokud narazí/vybuchne bomba apod. tak se to pouze odhodí do dálky. Celé hraní bude co nejvíce arkádové a rychlé a tomu musí odpovídat i ovládání vznášedel. Bude zde kladen důraz na pocit rychlosti. Aby hra nebyla nudná, nebude však ovládání úplně simple a bude vyžadovat pár minut tréninku na základní zvládnutí a daleko více minut na profesionální ovládnutí vznášela. Celý model chování bude dělán fyzikálně, takže půjde jednoduše měnit chování vznášedla pro účely testování. Vznášedla jsou odlišena barevně – hráč vždy hraje za červeného hráče. Na začátku hry bude na výběr ze tří typů vznášedel: - Klasické ...tzn. vznášedlo které bude mít ideálně vyladěnu rychlost vs. ovladatelnost - Rychlé ...rychlé vznášedlo, které se hůře ovládá a vyhovuje strategii obsazovat co největší oblasti naráz - Ovladatelné ...pomalejší vznášedlo se skvělou ovladatelností, kde se snadno obsazujou menší území
Game computer club
KIV/PH
ACV-Wars [Game design]
-6-
5. Herní prostředí Vzhled krajiny Krajina bude generovaná z height-mapy. Jeden sektor bude cca 10x-15x větší než vznášedlo a bude čtvercová. Počet sektorů bude dělán automaticky a hráč si na začátku hry bude moci vybrat kolik jich bude daná mapa mít. Krajina bude hodně kopcovitá, aby přirozeně stěžovala jízdu vznášedel. Grafický vzhled viz kapitola 6 Grafika.
Checkpointy Při najetí na checkpoint se ukáže ikona „Checkpoint“ a pokud hráč stihne stisknout tlačítko (mezerník) než opustí daný sektor (do té doby bude také checkpoint neaktivní, aby se zamezilo konfliktům při síťové hře), připadne mu sektor. Jinak se sektor nezabere. Důvod: Jelikož se u hry bude hráč hodně odrážet atd. Tato změna udělá náročnější jízdu ve vysoké rychlosti a odstraní problém s náhodným projížděním checkpontů při odražení.
Ovládání hry Arkádové crazy ovládání, pro jehož zvládnutí však bude potřeba hru nějakou chvíli hrát. Ovládací buttony: - ovládání směru vznášedla (dopředu, otáčení, brzda se zpátečkou): šipky, popř. w, a, s, d - obsazení checkpointu: mezerník - bomba: b - jump: v - případné další bonusy: c, n, m
Peníze Zatím nelze přesně určit peníze – to je potřeba vyladit při hře, ale počáteční nástřel je takovýhle: - Za 1 sektor 1 $ za sekundu. - Za zabrání neutrálního sektoru 5 $. - Za zabrání cizího sektoru 20 $.
Minimapa Manimapa se nachází v levé horní části obrazovky (viz Obr. 6.2). Minimapa je velice zásadní pro celé hraní a orientaci hráče na hrycí ploše. Vznášedla jsou znázorněna symbolama –vypadají jako šipky natočené do směru, kterým vznášedlo právě míří. Hráč za sebou táhne čáry, ukazující aktuálně obsazované území. Mimoto jsou na mapce vidět všechny sektory a ty obsazené mají – stejně jako v „reálu“ – barvu hráče, kterému přinášejí peníze.
Game computer club
KIV/PH
ACV-Wars [Game design]
-7-
6. Grafika
Obr. 6.1: Grafická stylizace hry a ukázka modelu vznášedla.
Stylizace Future vznášedlo; bílý (lehce zrcadlový) terén potažený jemnou modrou sítí; hodně čistá grafika s efekty (zrcadlení, světla s aurami, apod.) laděná do bílé..
GUI GUI musí splňovat tyto věci: - přehledné - nezabírat zbytečně výhled hráčovi - obsahovat důležité informace Téměř konečný vzhled GUI viz Obr. 6.2. Ve vrchní části vidíme (zprava) důležitou minimapu, bonus Bomba, nápis Hit space, bonus Jump, aktuální přehled peněz hráčů. Bonusy budou šedivé, pokud na ně nebudeme mít peníze. Když budou finančně dostupné, obarví se. Pokud zmáčkneme aktivační klávesu bonusu, tak se jeho obrázek červeně vysvítí. Pokud bude možné obsadit sektor – tzn. pokud se nalézáme uvnitř checkpointu – červeně se vysvítí Hit space. Minimapa je znázorněna symbolama – vznášedla vypadají jako šipky a hráč za sebou táhne čáry, ukazující aktuálně obsazované území.
Game computer club
KIV/PH
ACV-Wars [Game design]
-8-
Obr. 6.2: Ukázka finální podoby GUI.
Menu Nadpis do menu viz Obálka tohoto dokumentu. Jinak bude menu v prostředku obrazovky, nápisy budou dělány programem a stejně tak bude i roztahováno v závislosti na svém aktuálním obsahu. Na pozadí menu bude hodně oddálený pohled na hrací plochu, která bude rotovat. Rozmístění prvků menu viz Obr. 6.3. Položky menu viz 12. Menu.
Game computer club
KIV/PH
ACV-Wars [Game design]
-9-
Obr. 6.3: Ukázka rozmístění prvků v menu.
Modely Modely bude dodávat externí grafik Bronislav Vavřinka. Hra bude obsahovat tyto modely: - 1 až 3 modely vznášedla - checkpoint (držák + středová koule) - bomba (střed bomby + obalová koule)
Efekty Efekty se budou dělat dle toho kolik zbyde času nakonci. Důležité také je, aby byla hra hratelná i na průměrných strojích a tudíž pokud bude nějaký efekt zbytečně HW náročný, nebude do hry zahrnut... Zde je výčet možných efektů: - světla s aurou - zrcadlové odrazy vznášedel na terénu - depth of field - depth of view (prostě efekt rychlosti v NFS) - víry kolem vznášedla - poloprůhlednost, animované textury - pulzování (kombinace 2 textur - jedna bez alfy, druhá částečně průhledná)
Game computer club
KIV/PH
ACV-Wars [Game design]
- 10 -
7. Zvuky a hudba Jelikož nemáme zvukaře, nebude hra obsahovat mnoho zvuků ani hudby. Konkrétně bude obsahovat - 1-2 skladby, které se bude při hře přehrávat - zvuk motoru vznášedla při jízdě - zvuk bomby - zvuk při nárazu - ?zvuk při dodělání území?
8. Bonusy Bonusy budou dodělávány dle časových možností. Každý bude stát nějaké peníze a bude buďto přímo pomáhat hráčovi, nebo škodit ostatním. V základní verzi bude určitě: - Bomba o cena 300 $ o položení tlačítkem B o při položení se kolem ní utvoří obalová koule (cca s poloměrem 1,5 vznášedla) o při najetí do obalové koule bomba odmrští vznášedlo velmi vysoko, takže hráč nebude moct chvíli hrát o bomba ubere hráčovi, který na ni najede 5x víc peněz, než kolik stojí... Pokud zbude čas bude ve hře ještě určitě: - Jump o cena 100 $ o položení tlačítkem V o vymrští hráče (cca 2x rychleji) do směru, ve kterém jede o vystřelí hráče lehce nad povrch (tzn. ideální pro zrychlení, popř. znažší vyjetí kopce) Další bonusy hra nakonec obsahovat nebude, protože by se stávala zbytečně komplexní, což jde proti jejímu základu – být akční arkádou...
9. AI AI bude obecná a bude mít dostatek „nitek“, za které půjde při testování tahat. Je důležité, aby byla obecně AI kvalitní, protože pokud se nakonec upustí od multiplayerové hry, tak musejí boti zábavní a dobrý, protože „dělaj hru“. Další co je potřeba, aby si tvůrce AI uvědomil, že jsou to v podstatě 2 hry a 2 AI v jedné hře: – jedna AI musí umět dobře řídit vznášedlo, natrefovat se na checkpointy a obecně umět vy(po)užívat herní fyziku
Game computer club
KIV/PH
ACV-Wars [Game design] –
10.
- 11 -
druhá AI musí umět volit správnou taktiku zabírání checkpointů, popř. přerušování hráčových velkých sektorů – tato AI by měla mít ještě dva poddruhy: o harvestr – tzn. ne tolik útočný protivník, který hlavně zabírá prostředí o striker – tzn. protivník, který neustále přeobsazuje hráčovi sektory, pokládá bomby a celkově je daleko kontaktnější
Fyzika
Fyzika vznášedel Crazy fyzika. Rychlá jízda, velké skoky, při nárazu do bomby ohromný odmrštění atd. Naučit se řídit vznášedlo nebude snadné – do zatáčky klouže, jinak jezdí mrtě rychle atd. Celkově musí mít fyzika táhla, přes který půjde upravovat... Jelikož je to jeden ze základních stavebních kamenů hry (spolu se systémem hry a AI), musí být fyzika – a tím pádem i řízení vznášedla – co nejakčnější a nejzábavnější. Propojení fyziky s gamestate bude již otázkou implementačí a nebude se řešit tady...
Kolize Fyzikální kolize. Při srážce se sčítají vektory rychlostí atd. ale celé o něco nadsazenější. Tzn. aby se hráči hodně odráželi. Odražení vznášedla bombou je hlavní mínus najetí na bombu – přijdeme o čas a možnost obsazování, pže poletíme vzduchem... :-)
11.
Síťová hra
Jelikož je hra v XNA, je pro vývojáře free-her blokována některá síťová funkčnost. Tudíž se musí vytvořit samostatná síťová vrstva. Bude se využívat architektury klient-server. Je potřeba myslet na zpoždění serveru a s tím souvisí nutnost udělat interpolaci pohybu, aby vznášedla, neskákala... Co se týká herních pravidel, tak ta budou zcela shodná s hrou v single-playeru, tudíž vše co se zde vyhledá, platí i pro síťovou hru. Síťová hra bude možná jak pouze proti živým protihráčům, tak i proti smíšeným protivníkům (tzn. živý protihráči + boti).
12.
Mapa menu
Mapa menu pro single player:
Game computer club
KIV/PH
ACV-Wars [Game design]
- 12 -
Main menu - new game - settings - credits - exit
New game - number of opponents (1, 2, 3, 4) - credits to win (2000, 4000, 8000, 16000) - credits on start (0, 500, 1000) - play
Settings - zvuk (on, off) - hudba (on, off) - fullscreen (on, off)
Credits Game's world, engin: Martin Dohnal Physics: Tomáš Hofhans AI: Martin Holubář Game concept, graphics: Vladimír Geršl Multiplayer menu bude stejné pro server, klient hráč se mimo hru připojí – nastaveno bude vše od serveru. Tentokrát hráč nebude hrát defaultně za červeného hráče a tudíž bude v menu napsána jeho barva a – pokud není server – nebude mít možnost nastavovat hru...
13.
Hrubé rozdělení prací
Martin Dohnal Tomáš Hofhans Martin Holubář Jan Hyka Vladimír Geršl
Bronislav Vavřinka (externista)
Game computer club
– Game´s world, Engine – Fyzika – AI – síť – Game concept, Design, 2D gfx - modely
KIV/PH