V pořadí již třetím díle tutoriálu se podíváme na zoubek ekonomice ve hrách a ukážeme si jak pracovat s dalšími čtyřmi elementy Machinations – producent, konzument, konvertor a obchodník, kteří jsou neodvratnou součástí většiny ekonomických sýstémů her.


Andrew Rollings a Ernest Adams ve své publikaci v roce 2007 identifikovali 4 základní elementy ekonomiky ve hrách:

  • Source(producent) – produkuje zdroje
  • Drain(konzument) – spotřebovává zdroje
  • Converter(směnárník) – vyměňuje jeden typ zdroje za druhý
  • Trader(obchodník) – umožňuje hráčům vyměňovat zdroje mezi sebou nebo mezi herními elementy

Na této myšlence jsou postaveny 4 další stejnojmenné prvky Machinations. Pojďme je tedy blíže prozkoumat.

Source(Producent)

Pokud jste někdy hráli Warcraft, jistě si vzpomenete na zlaté doly. Ty pravidelně produkovali určité množství surovin, přičemž počet těchto surovin byl ovlivněn počtem dělníku v dole. Jak vyjádřit vztah mezi počtem zdrojů a rychlostí jejich produkce jsme si již ukázali v kapitole modifikátoru. Chybějící článek zlatého dolu je právě producent.

Producent produkuje suroviny v závislosti na svém typu. Opět jsou zde čtyři varianty: automatic, interactive, passive a OnStart a i tentokrát se chováním ničím neliší od ostatních prvků. Přestože je možné producentovi nastavit mód, nic se tím neovlivní. Producent pouze produkuje suroviny a to v množství rovném hodnotě všech výstupních proudů. Formát těchto labelů je možné stejně jako u skladu zadat pomocí hodnoty, náhodného výrazu nebo zlomku. Užití „draw“ nebo „all“ zde však logicky nefunguje.

Pozor ale, producent není brána. Pokud určíte výstupy producenta pomocí pravděpodobnosti, pro každý výstup je generována náhoda zvlášť! Z toho důvodu také můžete typy labelů kombinovat (což u brány nejde).

Producenta je možno použít i jako pravidelný trigger. Pokud jako výstup proudu bude modifikátor s labelem „*“, cílový prvek triggeru bude v každém intervalu aktivován jednou. Pro ukázku jak lze producenta používat, si můžete prohlédnout příklady na oficiální dokumentaci.

Drain(Konzument)

Když ve hře SimCity roste vaše město, každý měsíc musíte platit stále větší a větší peníze za údržbu (feedback loop). V pravidelném intervalu se vám tedy z bankovního účtu odečte určité množství peněz (zdrojů), které jsou navždy zničeny. Tato mechanika reprezentuje ekonomický element konzumenta.

Konzument je pravý opak producenta a to se všemi náležitostmi. Krom zásadního rozdílu, že namísto vytváření surovin je ničí, se liší ve dvou věcech:

  • Může mít specifikovaný mód a to hned ve dvou variantách – pull any a pull all. Jejich význam zůstává stejný jako všude jinde.
  • Pokud je výstupem trigger (stavový modifikátor označený jako „*“), je spuštěn až ve chvíli, kdy přijme všechny suroviny ze všech vstupních proudů (tedy na rozdíl od producenta až na konci tahu nebo intervalu).

Pro ukázky užití si opět můžete prohlédnout oficiální dokumentaci.

Converter(Směnárník)

Když ve hře Warcraft používáte zlato a jiné suroviny na nákup jednotek a budov, na scénu nastupuje konvertor. Když v Risenu proměníte několik tisíc bodů slávy za 1 bod schopnosti, používáte konvertor. Zkrátka kdekoli, kde dochází k utrácení surovin jednoho typu výměnou za suroviny typu jiného, je třeba definovat způsob výměny a k tomu v Machinations slouží právě tento element.

Konceptuálně lze konvertor vyjádřit pomocí konzumenta, triggeru a producenta následovně:

Jak je vidět, na jedné straně (vstupy) konvertor spotřebuje určité množství zdrojů a na straně druhé (výstupy) jiné množství (případně i jiného typu) surovin vyprodukuje. Možnosti, jak definovat labely vstupů a výstupů jsou tedy naprosto stejné jako v případě producenta a konzumenta.

Stejně jako u konzumenta může být jeho výstupem i trigger a může být v jednom ze dvou módů: pull all a pull any. K uskutečnění transakce však vždy dojde až po uspokojení všech vstupních proudů takže v případě pull any módu jsou dostupné suroviny pouze zkonzumovány a uchovány. Jakmile obdrží suroviny ze zbylých proudů, uskuteční příslušné množství transakcí. Např. následující situace:

Jakmile ve skladu B dojdou suroviny, jsou i nadále odebírány ze skladu A. Pokud ale později dodáme suroviny ze skladu C a pošleme je do konvertoru, je vyprodukováno příslušné množství surovin v závislosti na tom, kolik jich bylo předtím přijato ze skladu A.

Trader(Obchodník)

Obchodník je takový element, který výměnou za určité množství surovin jednoho typu vrátí určité množství suroviny jiného typu za podmínky, že obě strany mají dostatek surovin na uskutečnění transakce. V tom spočívá zásadní rozdíl mezi konvertorem a obchodníkem, ačkoli se na první pohled zdají stejní.

Konceptuálně lze vyjádřit obchodníka následovně:

Při spuštění červené brány jsou odebrány 3 suroviny ze skladu A, jenž je majetkem hráče 1, a jsou přesunuty do skladu B (majetek hráče 2). Poté je triggerem spuštěna černá brána, která přesune 2 suroviny z poolu C hráče 2 do poolu D hráče 1. Jakmile sklad C nemá dostatek surovin na uskutečnění transakce (>=2), je červená brána zablokována a není možné transakci uskutečnit.

Obchodník však koncept žene mnohem dál a umožňuje i složitější kombinace, kdy například výměnou za 50 zlata a 100 dřeva dostanete 100 kamene. Kombinovat lze takřka cokoli (viz. níže).

Obchodník může být také tzv. nekompletní. To nastane v případě, že má méně než 2 vstupy nebo 2 výstupy. Pokud je brána nekompletní, chová se naprosto stejně, jako konvertor.

Poslední vymožeností tohoto elementu je mód. Ten může být dvou typů:

  • Pull all – striktní obchodník, který uskuteční transakci jen a pouze tehdy, pokud je na obou stranách dostatek potřebných surovin
  • Pull any – transakce se uskuteční i přesto, že není dostatek surovin na obou stranách. Chybějící suroviny jsou ignorovány a vymění se jich pouze tolik, kolik jich je reálně dostupných.

Zdá se, že se obchodník příliš neliší od konvertora. A svým způsobem je to i pravda. Ovšem jeden zásadní rozdíl by tu byl – zatímco konvertor zkonzumuje určité množství a jiné množství surovin vytvoří, obchodník operuje vždy se stálým počtem a neexistuje způsob, jak by některé suroviny zničil nebo rozmnožil (v případě že není nekompletní, pak se chová stejně jako konvertor).

Například v běžných RPG hrách je většina obchodníků ve skutečnosti reprezentována konvertorem. Vždy s chutí odkoupí vše, co hráč nabízí a vzhledem k nekonečnému množství zlata prakticky duplikují suroviny. I když stále hráč jen vyměnil 1 surovinu (např. zbroj) za 50 surovin zlata, toto zlato bylo vygenerováno.

Pokud by ale měl vendor omezené množství zlata, jednalo by se o obchodníka. Nebylo by možné suroviny duplikovat ani ničit. Jakmile mu zlato dojde, žádná další transakce se neuskuteční a tím pádem se ani nevygeneruje nová surovina zlata, která by přibyla do ekonomického koloběhu hry. Obchodníci tedy zajišťují, že se množství surovin v oběhu po transakci nezmění, zatímco konvertor nikoliv.

Z toho důvodu se u modelů single player mechanik obchodník příliš často nevyskytuje a jedná se spíše o vzácnost. V multiplayeru má však silné zastoupení (například Osadníci z Katanu jsou postaveni na elementu obchodníka).

Na závěr ještě uvádím pár příkladů z praxe:

V části A si můžete všimnout asi nejtypičtější varianty obchodníka a také prvního zásadního užití color codingu. Když si diagram vyzkoušíte, je vidět, že zdroje z červených vstupních proudů vedou opět pouze jen do červených výstupních proudů apod. Více o color codingu si povíme později, nicméně v případě obchodníka je to stěžejní prvek, který budete jistě potřebovat.

V části B pak vidíte ukázku první záludnosti obchodníka. Na první pohled se může zdát, že se suroviny rozdělí rovnoměrně. Levý hráč obětuje 2 černé a 3 červené výměnou za 3 černé a 2 červené. Když si diagram vyzkoušíte, uvidíte ale, že tomu tak není. Namísto toho levý hráč obdrží 5 červených a pravý 5 černých. Kompletní obchodník pro každý typ (barvu) může mít definováno vždy 2 a více vstupů, ale pouze 1 výstup! Ostatní výstupy ignoruje a všechny suroviny směřuje do jednoho konkrétního.

V části C a D tedy vidíte dvě možná řešení. Buďto naleznete způsob, jak tyto suroviny rozlišit na více než 2 typy a operovat s nimi (část C, zde nahradila černá a červená pravého hráče surovina modrá a zelená), nebo zkombinujete dva obchodníky, jejich akci navážete na bránu a tu podmíníte tak, aby nešla spustit v případě, že některá ze stran nemá dostatek surovin všech typů na uskutečnění transakce.

Warcraft v kostce

Když nyní známe i 4 základní ekonomické elementy Machinations, pojďme si ukázat, jak by to mohlo fungovat v praxi. Zde je zjednodušený model ekonomického systému hry Warcraft 3:

V centru všeho stojí základní ekonomické suroviny – zlato a dřevo. Ty můžete investovat do dvou pilířů – peoni, kteří zajistí vyšší příjem, nebo armáda, která vás bude bránit před útokem nepřátel. Peony můžete umisťovat buďto do dolů, nebo je posílat do lesa. A můžete také směňovat suroviny se spoluhráčem při určitém stanoveném poměru cen.

Model je to opravdu velmi zjednodušený a chybí zde spousta mechanik a pravidel, ovšem pro ilustraci základních ekonomických elementů Machinations je dostačující. Kompletní model si ukážeme a rozebereme v některém z příštích článků. Zkuste si nyní model zahrát a opět identifikovat maximum prvků. Především jaký je rozdíl mezi nákupem peonů/armády a výměnou surovin se spoluhráčem.

Určitě jste všichni poznali dva producenty.  Oba jsou v módu automatic, ale suroviny začnou reálně produkovat až po přidělení peona na příslušnou oblast (stavový modifikátor zvýší příjem o 1 surovinu za interval s každým peonem).

Konzument zde hraje prakticky jen ilustrační roli. Je spuštěn náhodným triggerem s pravděpodobností 15%, kdy zkonzumuje jednu jednotku (pokud hráč nějakou vlastní).

Co je mnohem podstatnější jsou ony tlačítka buy a sell. Všechny smění určité množství surovin za jiný. V případě peona vymění 50 zlata a dřeva za jednoho pracovníka. V případě armády zase 100 zlata a 50 dřeva. A v případě prodeje vymění 50 jednotek dřeva za 100 jednotek zlata a naopak. V čem je tedy rozdíl?

Představte si, že máte 600 dřeva. Zkuste je všechny vyměnit se spoluhráčem za zlato. Brzy přijdete na to, že to nejde. Po deseti transakcích hráči dojde zlato a další transakce není možná, dokud není zase spoluhráči vráceno prostřednictvím koupě dřeva. Obchodník tedy zajistil, že se množství surovin v rámci transakce nezvýšilo.

Nyní si za těch 600 dřeva kupte peony. Snadno si lze všimnout, že konvertor suroviny nepřesouvá, ale generuje. Pouze spolknul 600 dřeva a 600 zlata a vyprodukoval 8 peonů. Také si doporučuji dávat pozor na mód pull all, jinak bude k transakcím docházet, i když nebudete mít dostatek surovin.

Také si všimněte barev a jakým způsobem ovlivňují konvertory a obchodníky. Ačkoli se color codingu budeme do hloubky věnovat až o něco později, získáte alespoň tušení, jak se používá. V příštím posledním díle tutoriálu se podíváme na zbývající elementy Machinations a pokryjeme zbytek možností nástroje. Takže stay tuned, za dva dny jsme zpátky 🙂

žádný komentář k “Machinations Tutorial III. – Ekonomika ve hrách”
  1. celoush napsal:

    Opravdu výborná věc…

  2.  
Zanechej komentář

K zanechání komentáře ke článku musíte být přihlášen. Přihlásit »