Jak (a proč!) vytváříme mapy nové generace s náhodnými událostmi

V Průzkumné misi 2023 si mohli hráči poprvé vyzkoušet náhodné události na čtyřech dobře známých mapách (Himmelsdorf, Ruinberg, Prochorovka a Útočiště). Chtěli jsme vám nabídnout více taktických příležitostí, čerstvé bojové scénáře a také příležitost improvizovat v nestandardních situacích.

Po skončení testování náhodných událostí jsme analyzovali téměř 400 000 vyplněných dotazníků. A celých 86,8 % respondentů mapy s náhodnými událostmi bavily!

Tyto mapy přidáme do příštího Společného testu, takže budete mít šanci si je vyzkoušet v jejich aktuální formě ještě předtím, než se dostanou na živé servery. Prozatím přinášíme náhled do zákulisí jejich tvorby!

Nová technologie, nové mapy

Možná se ptáte: Proč jsme náhodné události přinesli pouze do čtyř map a do všech, nebo alespoň do poloviny z nich? A proč je dokončujeme až teď, šest měsíců po skončení testu v rámci Průzkumné mise?

Faktem je, že celý proces tvorby map s náhodnými událostmi je nesmírně zdlouhavý a náročný. Vyžaduje hodně času a zdrojů (designový tým, QA tým, vývojáře atp.) a také nové nástroje a pokročilé technologie. Zkrátka: Neměli jsme technické možnosti v krátkém čase implementovat náhodné události do všech existujících map.

Specificky pro tento herní prvek jsme začali vyvíjet speciální nový nástroj založený na jedné z nejpokročilejších technologií v herním průmyslu. Nástroj je stále ve „fázi prvního náčrtu“ a dále jej vyvíjíme. Proces implementace náhodných událostí však díky němu bude jednodušší, rychlejší a praktičtější. Čtěte dál a zjistěte více!

 
 

Příprava na testování

Na testování náhodných událostí jsme se začali připravovat v dubnu 2023. Přidání dynamických scénářů do vysokého množství map vyžadovalo zavést nový přístup k automatizaci i speciální nástroje pro vytváření takového obsahu. V tu dobu jsme ale zkrátka neměli technické možnosti takové dynamické scénáře vytvářet. Vybrali jsme proto jen čtyři mapy a několik událostí a ručně je nastavili pro každé bojiště.

Protože šlo pouze o úvodní testovací fázi, nesnažili jsme se finalizovat jejich tehdejší stav a mechaniky. Šlo jen o takovou předběžnou zkoušku, abychom zjistili, jaké nástroje a technologie máme a jaké budeme potřebovat.

Rychle vyšlo najevo, že manuálně nastavovat dynamické události pro více než 40 map by bylo příliš časově náročné a nepraktické. Stáli jsme proto před výzvou vytvořit nový nástroj, který by automatizoval a škáloval (zjednodušil vývoj) takového obsahu.

Core Gameplay Framework: Inovativní technologie pro vytváření herního obsahu nové generace

Abychom se výzvě mohli postavit čelem, implementovali jsme do World of Tanks technologii Core Gameplay Framework (CGF). Jde o variantu tzv. Entity Component System, jedné z nejmodernějších a nejpopulárnějších technologií ve světě herního vývoje.

Ve hře už byla tato technologie určitým způsobem přítomna, ale její funkcionalita a flexibilita zkrátka nebyly dostačující pro úplnou implementaci náhodných událostí. Výrazně jsme proto tuto technologii vylepšili a implementovali ji do World of Tanks zcela novým způsobem.

O technologii CGF

Rozbalit

Když jsme obsah tvořili dříve, mohli jsme interagovat jen s vozidly. Technologie CGF slouží jako jakýsi konstruktor, který nám umožňuje předávat různým objektům (ne vozidlům) v herním prostředí specifické vlastnosti a propojení. Umožňuje nám měnit a spravovat vlastnosti částí objektů. Díky tomu je možné interagovat s každým objektem pomocí behaviorální logiky, která se odlišuje od logiky vozidla.

CGF lze využít k vytváření funkčního herního obsahu s vysokou mírou automatizace a škálovatelnosti. S pomocí CGF nyní můžeme jednodušeji, efektivněji a také rychleji vytvářet a nastavovat náhodné události.

Sbalit

Nové nástroje

Vytvořili jsme také speciální designérské nástroje, které nám umožňují tuto technologii využít k tvorbě bohatých náhodných scénářů. Dokonce jsme implementovali nový editor podobný tomu, který využíváme ke tvorbě map.

Díky tomu mohou být objekty na mapě (mimo vozidel či statických budov) rozděleny do částí a každá může nabýt svých vlastních jedinečných vlastností a trajektorií. Řídí se obecnými zákony fyziky, ovlivňují prostředí a operují na základě stejné logiky fyziky jako naše vozidla.

Dříve jsme každý scénář s náhodnou událostí vytvářeli ručně. Díky technologii CGF a nástrojům, které s ní pracují, můžeme na serveru vytvářet náhodné události současně pro všechny hráče.

Podívejme se nyní pod pokličku téhle technologie a zjistěme, jak náhodné události vytváříme v praxi.

1. krok: Výběr mapy

Vytváření náhodných událostí začíná nejprve výběrem vhodné mapy. Je důležité poznamenat, že nebereme v úvahu popularitu mapy nebo statistiku hráči vylučovaných map. Místo toho se soustředíme na dva klíčové parametry:

  • Různorodost hratelnosti
  • Typ mapy: Otevřená, městská nebo smíšená

Vybíráme lokace s prostředím, které nabízí vícero možností a možných scénářů s náhodnými událostmi. Himmelsdorf například disponuje prostorným centrálním náměstím, kam může spadnout velký objekt, jako například zeppelin.

A jednou z nejdůležitějších herních oblasti na Prochorovce je alej, kam může třeba spadnout letadlo.

2. krok: Analýza možných událostí

V dalším kroku vytvoříme seznam všech možných náhodných událostí, které by se potenciálně na dané mapě mohly stát. Při výběru scénáře zároveň preferujeme, aby byl jedinečný. A čím jedinečnější, tím lépe.

Mimo to zhodnocujeme exkluzivitu události a to, jaké nové taktické možnosti v rámci hratelnosti otevírá. Čím více rozhodnutí může hráč v bitvě učinit, tím lépe. 

3. krok: Analýza teplotních map a výběr zóny události

Jedním z hlavních prvků postupu bitvy je umístnění vozidel na mapě. Pro implementaci scénáře s náhodnou událostí je klíčové analyzovat teplotní mapy s vyobrazením nejvyšších koncentrací hráčů v určitých oblastech. Pomáhají nám pochopit, kde na konkrétní mapě můžeme rozšířit škálu taktických možností a ozvláštnit tím hratelnost, což umožní hráčům využít různé strategie v různých fázích bitvy.

K určení nejvhodnější zóny události bereme také v úvahu vaši zpětnou vazbu a naše znalosti.

Vše, o čem jsme prozatím mluvili, je analýza a předběžná příprava. Jakmile obdržíme a zanalyzujeme všechny výše zmíněné informace, začíná opravdová práce na vytvoření náhodných událostí.

Po interakci zóny náhodné události s objektem zhodnotíme výsledný stav a formát její hratelnosti. Je-li to třeba, provedeme změny, např. přidáme nebo odstraníme cesty, krytí, budovy a podobně.

Konečným cílem je opatrně změnit herní oblast způsobem, který otevře nové, vzrušující možnosti hraní a dá hráčům možnost využít nové taktiky.

Jinak řečeno: Nezačínáme vytvářet náhodné události okamžitě třeba se spadnutím letadla nebo příjezdem vlaku. Místo toho se nejprve snažíme finalizovat herní formát v zóně události na konkrétní mapě.

4. krok: Vytvoření prototypu

Poté vytvoříme a otestujeme prototyp. Může jich být hned několik, v závislosti na tom, jaké nové herní příležitosti a taktiky daný scénář otevře. Pro testování využíváme takzvané „šedé boxy“, nejjednodušší geometrické tvary (krychle, obdélníky apod.), které slouží jako stavební materiál a nahrazují pro naše potřeby objekty.

Po otestování prototypu uděláme poslední úpravy a začneme přidávat různé detaily a objekty.

5. krok: Výběr objektů a scénářů pro náhodné události

V této fázi vybíráme:

  • Prostředí: Na zemi, ve vzduchu či ve vodě.
  • Aktivní objekt: Letadlo, vzducholoď, vlak, automobil apod.
  • Cílový (zničitelný) objekt, se kterým bude aktivní objekt interagovat: Budova, bunkr, most, molo apod.
  • Stav objektů po jejich zničení. Je nutné mít povědomí o tom, kde různé kusy objektů po jejich zničení zůstanou, jaký bude jejich počet a přesné umístění.
  • Místo a trajektorie na mapě, přičemž je nutné vzít v úvahu viditelnost a terén, aby hráč mohl vidět postup náhodné události od samého začátku.

Díky tomu pochopíme, že pokud máme jako prostředí vodu, můžeme vzít třeba loď, která narazí do mola. Pokud je prostředím vzduch, pak půjde o padající letadlo nebo vzducholoď.

Zničený objekt se může rozpadnout na jeden velký nebo vícero středně velkých fragmentů, podle konkrétního scénáře. Všechny se mohou odlomit do menších části s vlastními trajektoriemi.

6. krok (poslední): Vizualizace a dokončení scénáře

A konečně, scénář doplníme dalšími detaily a provedeme konečný výběr objektů (modelů) v závislosti na jejich relevanci pro danou událost. Pokud například potřebujeme zničit hrad velkou vzducholodí, ale takovou vzducholoď nemáme k dispozici, vyměníme jej za jiný vhodný objekt: například letadlo.

Můžeme také vybrat a vylepšit vizuální efekty, které události přidají na realističnosti, zábavnosti a filmovém dojmu. Zároveň nesmíme zapomenout, že výsledkem náhodné události by mělo být otevření nových taktických možností a hratelnost by měla být zajímavější a rozmanitější.

Hotovo! Úžasná mapa nové generace se skvělou náhodnou událostí je připravena! 

Co bude dál?

V blízké budoucnosti cílíme na vydání čtyř map (Himmelsdorf, Ruinberg, Prochorovka a Útočiště) s vyladěnými náhodnými událostmi, které budou dostupné během Společného testu. Připravte se zúčastnit se a podělit se o své názory!

Budeme dál aktivně pracovat na rozšíření množství map příští generace s náhodnými událostmi, aby mohly být do hry v blízké budoucnosti přidány. Zůstaňte s námi!

Diskutovat na Discordu

Zavřít