V3

Vývojářský deník #105 – Migrace ve verzi 1.6

16 9

Ahojte! Jsem Alex, jeden z designerů hry Victoria 3, a jsem tu, abych vám řekl něco o změnách, které plánujeme pro migraci ve verzi 1.6. Dobrovolně jsem také povolal jednoho z našich programátorů, Konrada, aby nám sdělil nějaké podrobnosti o tom, co se chystá.

 

Cíle změn
Na začátek bych rád objasnil, jaké jsou cíle těchto změn a (což je důležité) jaké nejsou. Na rozdíl od řekněme přepracování armády zde není cílem zcela změnit hratelnost obklopující migraci. Ve skutečnosti by hratelnost měla působit poněkud podobně, zejména pokud neznáte přesné detaily toho, jak to fungovalo dříve.

Jaký je tedy účel této změny? V první řadě jde o výkon. Slyšeli jsme vaše obavy ohledně tempa v polovině a na konci hry a neustále hledáme možnosti, jak zlepšit, jak dobře hra běží. Součástí toho je provádění drobných optimalizací tu a tam, ukládání té či oné hodnoty do mezipaměti, posouvání toho, kolik toho můžeme spustit paralelně, a tak dále. Dalším aspektem je podívat se na to, jaká designová rozhodnutí jsme učinili, a zvážit, zda je můžeme změnit tak, aby hratelnost stále fungovala, ale mechaniky byly výkonnější.

Tyto změny spadají do druhé kategorie. V současné verzi hry funguje migrace tak, že se pravidelně rozdělují skupiny obyvatelstva a obyvatelé se přesouvají všude možně, což má samozřejmě za následek vyšší počet obyvatel a zhoršený výkon v průběhu hry. Ve verzi 1.6 se rozdělování skupin obyvatelstva pro migraci co nejvíce vyhýbáme, abychom mohli udržet počet obyvatel na nízké úrovni.

Kromě výkonu je dalším důvodem, proč tyto změny provádíme, snaha o lepší údržbu hry a snazší práci s ní v budoucnu. Nová implementace je při práci s ní jednodušší na pochopení, což je pro nás velké plus a mimochodem by to mělo usnadnit život i modderům!

Nakonec jsme také chtěli využít příležitosti a propašovat několik vylepšení kvality života a uživatelského rozhraní, když už jsme se v tom rýpali. To najdete na konci tohoto vývojářského deníku.

 

Obecné koncepty
Než se pustím do podrobností níže, tak je důležité, abychom byli na stejné vlně, co jednotlivé pojmy znamenají a jak fungují. Migrace ve Victorii 3, jak možná víte, má dvě hlavní podoby: Migrace na trh a masová migrace.

Využili jsme také příležitosti a doladili význam několika našich pojmů!

DD105 01

Migrace na trhu probíhá výhradně v rámci vašeho trhu a je z velké části způsobena ekonomickými faktory v životě skupin obyvatelstva. Naproti tomu masové migrace jsou mechanismem, kterým skupiny obyvatelstva migrují mezi různými trhy a mají silnější kulturní zaměření.

To, jak si vybíráme, kam se lidé stěhují a kolik lidí se stěhuje, do značné míry závisí na migrační atraktivitě dané oblasti. Jedná se o ukazatel, který udává, jak moc se tam lidé chtějí stěhovat vzhledem k faktorům, jako je dostupná práce, orná půda, obchod apod. Při použití migrační atraktivity je důležitý rozdíl v migrační atraktivitě mezi dvěma oblastmi, nikoli absolutní hodnota ve vakuu. Je také třeba poznamenat, že migrační atraktivita se může poměrně rychle měnit, a zejména pokud oblast přijímá hodně migrantů, tak její migrační atraktivita pravděpodobně klesne, což pak uvolní prostor pro ostatní oblasti, které mohou migranty přijímat.

A konečně, často se setkáte se zmínkami o pojmech jako ‚skupiny obyvatelstva‘, ‚počet skupin obyvatelstva‘, ‚populace‘ apod. a je dobré chápat rozdíl mezi nimi. Skupina obyvatelstva je část populace se specifickým zaměstnáním, kulturou, náboženstvím, žijící v určité oblasti a pracující v určité budově, např. švédští protestantští inženýři pracující v nástrojárně ve Stockholmu. Počet skupin obyvatelstva je počet různých unikátních skupin obyvatelstva, které máme v budově, oblasti nebo dokonce v celé hře. To znamená, že pokud výše uvedená budova zaměstnává švédské i norské inženýry, tak pak je počet inženýrských skupin obyvatelstva v této budově dva. A konečně populace je počet jednotlivců, který je součástí jednotlivých skupin obyvatelstva. Například švédští inženýři mohou čítat 5000 osob.

Tyto obecné pojmy zůstávají mezi verzemi 1.5 a 1.6 nezměněny.

Možná jste si všimli zmínky o novém pojmu: Atraktivita masové migrace. O tom, co to znamená, se rozepíšeme dále ve vývojářském deníku.

DD105 02

 

Co se tedy změnilo?

Výběr skupiny obyvatelstva
Na velmi základní úrovni je třeba vědět, jak systém dříve fungoval, že jsme vybírali malé části ze skupin obyvatelstva po celém místě a pak je přesouvali mezi jednotlivými oblastmi. Jinými slovy, migrace jako systém brala konsolidované větší skupiny obyvatelstva a měnila je na větší počet menších skupin obyvatelstva, což je špatné pro výkon.

Místo toho nyní děláme to, že když vybíráme lidi k migraci, tak se snažíme vybrat co nejvíce ‚celých‘ skupin obyvatelstva, seřadit je od nejmenšího po největší a začít je posílat do nových oblastí. Když dorazí, tak se je pokusíme sloučit se stávajícími místními skupinami obyvatelstva. Někdy je stále potřeba skupiny obyvatelstva fragmentovat, například pokud jsou příliš velké, ale snažíme se to dělat střídměji.

 

Migrační destinace
Dříve skupiny obyvatelstva migrovaly v podstatě do jakékoli oblasti, která se zdála být dostatečně atraktivní a která jim to umožňovala na základě vašich zákonů o migraci a občanství. To vedlo k velmi rozprostřenému systému migrace z mnoha oblastí do mnoha, což opět ve spojení se systémem výběru skupin obyvatelstva vedlo k jejich větší roztříštěnosti.

V novém systému umožňujeme skupinám obyvatelstva migrovat pouze do oblastí s takzvaným kulturním společenstvím pro kulturu, ke které skupina obyvatelstva patří. Pokud je k dispozici více kulturních komunit, tak posíláme migranty do všech oblastí s určitým rozpětím od oblasti s nejvyšší migrační atraktivitou a rozdělujeme je podle jejich migrační atraktivity a podle toho, zda jsou skutečně schopny přijmout tolik migrantů.

Slyšel jsem, že v Michiganu je v tomto ročním období krásně. Možná bychom tam měli vytvořit švédskou kulturní komunitu?

DD105 03

 

Kulturní společenství
Pokud jste hráli otevřenou betu verze 1.5, tak si možná vzpomenete, jak jsme se snažili zavést některé z těchto změn (a jak to doprovázely některé… zajímavé chyby se skupinami obyvatelstva ignorující migrační zákony a tak). Jednou ze změn byl tento pojem kulturních společenství. Jejich smyslem je modelovat, že je pravděpodobnější, že budete migrovat někam, kde víte, že už žijí lidé z vaší kultury. Můžete se samozřejmě přestěhovat někam jinam, ale to není tak běžné.

Máte tendenci často procházet herní pojmy, jako je tento? Pomohly vám při učení hry? Rádi si poslechneme vaše názory!

DD105 04

Kulturní komunity existují všude, kde je alespoň jedna skupina obyvatelstva dané kultury. Navíc každý měsíc existuje možnost, že se v jedné z vašich oblastí zrodí nová kulturní komunita patřící ke kultuře na vašem trhu. Pokud se do dané oblasti nikdo z této kultury nepřestěhuje, tak kulturní komunita po několika týdnech zanikne.

Je důležité si uvědomit, že relevantním faktorem pro výkonnost není velikost populace, ale spíše počet skupin obyvatelstva. To znamená, že pokud mechanika migrace přináší homogennější výsledky, tak získáme nakonec výkonnější hru, aniž bychom museli vůbec slevit z ostatních aspektů simulace (zaměstnanost, spotřeba, růst populace, kvalifikace atd.). Protože obavy, které jsme od hráčů dříve slyšeli, se vůbec netýkají toho, že simulace produkuje příliš homogenní výsledky, ale spíše někdy pohlcující směsice kulturních skupin obyvatelstva v dané oblasti, ta, tento systém nám umožňuje snížit průměrný počet kultur přítomných v každé oblasti.

Pokud se zabýváte modifikacemi, tak podmínky pro vznik kulturních komunit jsou zcela přizpůsobitelné prostřednictvím hodnoty skriptu, který se spouští každý měsíc pro každou kombinaci oblasti a kultury na trhu. Těším se na to, s čím přijdete!

 

Masová migrace
Masové migrace bývaly ve verzi 1.5 těsněji spjaty s migrací na trhu. Ve verzi 1.6 fungují více paralelně a mají svá vlastní omezení a podmínky. Při vyhodnocování toho, zda máme vyvolat masovou migraci, v podstatě procházíme následujícími kroky:

1.Pro každou kulturu projdeme země, kde má daná kultura domovinu, a vypočítáme, jaká je šance, že se z nich zrodí masová migrace. To zahrnuje odfiltrování zemí nebo kultur, které nesplňují požadavky pro masovou migraci, jako je dostatek kulturních nepokojů nebo skutečné umožnění migrace.
2.Vyberte jednu z výše uvedených způsobilých zemí jako zemi původu pro masovou migraci.
3.Vypočítejte atraktivitu masové migrace pro danou kulturu pro migraci do všech různých zemí. Jedná se o průměrnou atraktivitu přitažlivost způsobilých oblastí v cílových zemích.
4.Po přidání malého náhodného faktoru, abychom neposílali všechny masové migrace na stejné místo, vyberte zemi s nejvyšší atraktivitou masové migrace.
5.Projděte způsobilé oblasti v této zemi a vyberte tu s nejvyšší migrační atraktivitou (po přidání malého náhodného faktoru).

Po tom všem vygenerujeme masovou migraci pro vybranou kulturu a zemi, kterou jsme vybrali v kroku 2, do oblasti, kterou jsme vybrali v kroku 5.

Možná jste si také všimli, že migraci nyní většinou zobrazujeme jako týdenní hodnotu namísto roční. Důvodem je to, že migrace se může mezi jednotlivými týdny poměrně rychle měnit, což bývalo matoucí nebo dokonce zavádějící, když jsme se zaměřili na roční hodnotu.

DD105 05

V tomto okamžiku, podobně jako při migraci na trh, vybíráme skupiny obyvatelstva, které chceme přesunout, snažíme se upřednostnit menší celé skupiny obyvatelstva a poslat je na cestu do jejich nového domova. Sledujeme, abychom neposílali příliš mnoho lidí z jedné oblasti nebo do jedné oblasti, abychom je při masové migraci nevylidňovali ani nezahlcovali.

 

Výsledky
Jak tedy všechny tyto změny dopadly? Prozatím nám naše vlastní testy přinesly pozitivní výsledky, kdy se počet skupin obyvatelstva ke konci hry snížil přibližně o 15-20 %. To pochází jednak ze snížení počtu roztříštěných skupin obyvatelstva, ale také z toho, že se skupiny obyvatelstva více soustředí na to, do kterých oblastí jsou posílány, což také vede k celkově poněkud menšímu počtu budov.

DD105 06

 

Nová vylepšení uživatelského rozhraní
Vsadím se, že si říkáte: ‚A co ta vylepšení uživatelského rozhraní, která jste zmínil? Dejte mi je!‘. Zdravím také všechny netrpělivé čtenáře, kteří přeskočili detaily přímo ke screenshotům a změnám uživatelského rozhraní. Jak již bylo zmíněno, s migračními změnami jsme chtěli systém také trochu zpřístupnit z pohledu uživatelského rozhraní, protože samotný vývoj ukázal, že existuje spousta informací, které se zdály být příliš těžko dostupné a pochopitelné vzhledem k tomu, jak jsou důležité.

Jednou ze změn, které osobně docela fandím, je to, že nyní jasně zobrazujeme, zda oblast nyní skutečně může přijmout masovou migraci:

DD105 07

DD105 08

Pokud vás zajímá, jaké jsou požadavky na tuto funkci, tak jsou nyní uvedeny v aktualizovaném pojmu pro cíle masové migrace:

DD105 09

Tyto požadavky nejsou nové, jen jsme je dosud řádně neodhalili. Může být samozřejmě zdlouhavé kontrolovat oblasti jednu po druhé, zda jsou způsobilé pro masovou migraci, proto jsme také přidali režim mapy, který vám to ukáže:

Nezapomeňte své oblasti integrovat, pokud chcete, aby se na ně vztahovala masová migrace! Také je pravděpodobně dobré se ujistit, že jsou správně připojeny k vašemu trhu.

DD105 10

Když už jsme u režimů mapy, tak jsme přidali také režim mapy, který vám zhruba řekne, do které země se s největší pravděpodobností bude masově migrovat:

DD105 11

Tento režim mapy zahrnuje také nový pojem atraktivita masové migrace:

Nemůžete získat masovou migraci, pokud jste tak malí, že vás lidé na mapě ani nemohou spatřit.

DD105 12

Dlouho jsem měl pocit, že ve hře chybí režim mapy, který by ukazoval, kde se lidé skutečně pohybují, a ne kde je vysoká migrační atraktivita. To teď máme!

Jak je to ale s Idahem?

DD105 13

A konečně jsme také přepracovali starý režim mapy atraktivity migrace tak, aby zobrazoval pouze oblasti na vašem trhu, a ne celý svět. To by mělo lépe informovat o rozdílu mezi migrací na trhu a masovou migrací a také ukázat, kam na vašem trhu se lidé pravděpodobně budou stěhovat a odkud:

Nyní byste měli být schopni jasněji pochopit migrační toky na vašem trhu i v jiných zemích.

DD105 14

Pro tvůrce modifikací uvádíme, že jsme také změnili strukturu, přejmenovali a odstranili několik definic (připomínáme vám, abyste vaše modifikace aktualizovali, až vyjde verze 1.6):

DD105 15

 

Příště
To je pro dnešek vše! Doufám, že se vám líbilo čtení o tom, jak pracujeme s migrací, a že se těšíte na hraní s těmito novými režimy mapy a dalšími vylepšeními, až 6. března vyjde bezplatná aktualizace na verzi 1.6! Pokud se toho již nemůžete dočkat, tak v příštím vývojářském deníku (za dva týdny) najdete kompletní seznam změn pro verzi 1.6, který bude obsahovat všechny další věci, které jsme udělali mimo migraci a vylepšení uživatelského rozhraní. Mějte se!

ZDROJ: https://forum.paradoxplaza.com/forum/developer-diary/victoria-3-dev-diary-105-migration-in-1-6.1624226/