Zpět na vybrané projekty

WAPP / Subway Simulator: Prague

WAPP — vývoj simulátoru a nástrojů kolem něj

Subway Simulator: Prague navazuje na moje dříve vydané hry se simulací metra a vzniká primárně pro mobily. Důležitou součástí současného vývoje jsou vlastní generátory infrastruktury a průběžná práce s assety.

Kde začala práce na simulaci metra

WAPP začal jako moje vlastní práce na softwaru a hrách. Historická etapa od dubna 2015 do ledna 2021 zahrnovala tvorbu a provoz mobilních simulátorů metra jako veřejných produktů. Jde o období mé práce, nikoli o datum vydání jednotlivých her.

Produkty jsem vedl od prvotního nápadu přes implementaci hratelnosti, mobilní UI a ovládání, prostředí stanic a tras až po vydání na Google Play a následný provoz. Průběžný vývoj propojoval samotnou simulaci s tím, jak se hra ovládá a hraje na telefonu.

Subway Simulator Prague Metro

Subway Simulator Prague Metro byla vydaná hra pro Android na Google Play, vytvořená v Unity a C#. Řízení soupravy, mobilní ovládání, stanice, trasy a okolní prostředí tvořily jeden produkt: simulaci metra určenou k hraní na telefonu.

Historická herní ukázka níže zachycuje tento produkt v provozu, s pohledem z kabiny, prostředím stanice a ovládáním na obrazovce. Patří k dřívější vydané generaci.

Subway Simulator New York

Subway Simulator New York byla další vydaná hra se simulací metra pro Android na Google Play, rovněž vytvořená v Unity a C#. Propojovala simulaci a řízení soupravy s mobilním UI, ovládáním a tvorbou prostředí stanic a tras. Nadzemní trať na ukázce nabízí jiné prostředí než pražská podzemní stanice.

Historický dosah a produktová zkušenost

Šlo o vydané a provozované mobilní produkty. Jejich vývoj od začátku do konce mi dal zkušenost s hratelností, tvorbou obsahu, mobilním ovládáním i veřejným vydáním.

Níže uvedené počty stažení z Google Play patří k těmto dvěma starším titulům. Nepopisují počet uživatelů současného Subway Simulator: Prague.

Subway Simulator Prague Metro
1 700 000+historických stažení na Google Play
Subway Simulator New York
200 000+historických stažení na Google Play

Pauza v aktivním vývoji simulátorů

Aktivní vývoj dřívějších simulátorů později skončil. Mezi touto generací a návratem k tématu v roce 2026 byla pauza. Produkty na sebe navazují, jejich vývoj však po celou dobu nepřetržitě neprobíhal.

Návrat v roce 2026: Subway Simulator: Prague

Subway Simulator: Prague je nová generace s obnoveným vývojem od roku 2026. Projekt je od té doby v aktivním vývoji a vzniká primárně pro mobily v Unity a C#. Zajišťuji produktové vedení, implementaci i tvorbu vývojových nástrojů.

Vrátil jsem se se zkušeností z vydání předchozích her a se systematičtějším přístupem k tvorbě obsahu. V této etapě řeším prostředí i způsob jeho tvorby jako jeden inženýrský problém. Opakující se infrastruktura potřebuje konfigurovatelné nástroje; assety zase vyžadují práci s geometrií, materiály a vizuálními úpravami. Současné generátory i práce s assety patří k této nové vývojové etapě.

Stanice Kačerov v Subway Simulator: Prague s osvětleným nástupištěm, obloženými sloupy a kolejemi.
Subway Simulator: Prague · Současný vývoj · Kačerov

Kačerov v současném Subway Simulator: Prague. Tato herní ukázka patří k nové vývojové etapě zahájené v roce 2026.

Problém ruční stavby každého opakujícího se prvku

Ruční stavba desítek kilometrů tunelů není rozumný pracovní postup. Tvary tunelů, koleje, kabely, držáky a další infrastruktura se opakují na dlouhých úsecích. Samostatné modelování a umisťování by znamenalo neustálé duplikování, opakované úpravy a více příležitostí k nekonzistentnímu výsledku.

Pozdější změna opakujícího se vzoru je nákladná, pokud je každý jeho výskyt vytvořen samostatně. Podstatná otázka proto zní: které vzory lze jednou vyjádřit pomocí parametrů a pravidel, a přitom zachovat prostor pro výjimky?

Konfigurovatelné generování se zachováním ruční kontroly

Rozhodnutí
Nahradit velkou část opakované stavby tunelů a infrastruktury parametrickými, opakovaně použitelnými generátory.
Důvody
  • Alternativou bylo pokračovat v ručním modelování, duplikování a umisťování opakujících se konstrukcí na dlouhých úsecích.
  • Konfigurace pomáhá udržet opakující se struktury konzistentní a usnadňuje změny společného vzoru.
  • Vygenerované úseky vytvářejí prostor pro společnou optimalizaci větších celků místo samostatného řešení každého ručně umístěného prvku.
Kompromisy
  • Samotný generátor vyžaduje více práce při návrhu a přináší vlastní složitost.
  • Přechody, hranice a okrajové případy potřebují výslovná pravidla místo individuálního umisťování.
  • Systém musí zůstat dostatečně pružný pro výjimky a ruční opravy.

Generování zajišťuje opakující se strukturu. Ruční práce dál patří do postupu všude, kde je potřeba výjimka, oprava nebo vizuální úprava.

Koncepční vývojový postup

Posloupnost ukazuje, jak ze zadaných parametrů vzniká vygenerovaná infrastruktura a jak na ni navazují vizuální a technické iterace v Unity. Jde o koncepční postup, nikoli o úplný diagram interní architektury.

  1. Zadané parametry
  2. Generátory a nástroje
  3. Tunel / koleje / infrastruktura
  4. Scéna v Unity
  5. Iterace a testování

Hotové nástroje přímo u scény v Unity

Současný generátor podporuje parametrické segmenty tunelů, hranaté i kulaté varianty a přechody mezi jejich tvary. Generované koleje a související infrastruktura zahrnují napájecí kolejnici; podle potřeby lze ručně nastavit odsazení začátku a konce.

Kabely se generují po segmentech, s variantami kabelů i jejich prověšení, držáky, jejich umístěním na příslušných hranicích a pravidly omezujícími opakování. Z opakujícího se vizuálního vzoru tak vzniká systém, který musí řešit i návaznost sousedních částí.

Nástroje umožňují rychlé iterace přímo v Unity. Práce s parametry pomáhá udržovat opakovanou stavbu konzistentní a současně zachovává kontrolu nad scénou. Při vývoji primárně pro mobily představuje společné zpracování větších generovaných úseků také příležitost k optimalizaci; nejde zde o tvrzení o dosaženém nárůstu výkonu.

Editor Unity se zakřiveným tunelem, kolejemi a kabely vedle nastavení generátoru tunelu.
Subway Simulator: Prague · Současný generátor tunelu

Pohled do editoru Unity propojuje nastavení generátoru s výslednou scénou tunelu a podporuje vizuální i technické iterace.

Praktická 3D práce, která pomáhá pokračovat ve vývoji

Zvládnu dostatek 3D práce na to, abych si připravil assety, upravil geometrii a materiály a nemusel blokovat vývoj kvůli každé menší změně.

Jde o základní, praktickou práci s assety: dříve ve SketchUpu, nyní v Blenderu. Zahrnuje opravy geometrie, přípravu assetů, materiálů a textur. Při přípravě pomáhá vylepšování textur a zvýšení rozlišení s AI; podle potřeby následují drobné opravy v GIMPu.

Díky této schopnosti zůstávají menší úpravy assetů součástí vývojové iterace. Model stanice v Blenderu patří do stejného procesu jako generovaná infrastruktura a scéna v Unity.

Model stanice Kačerov v Blenderu s vybraným sloupem nástupiště a seznamem objektů scény.
Subway Simulator: Prague · Současná příprava assetů

Příprava assetu stanice v Blenderu doplňuje nástroje a herní prostředí ukázané v dalších částech této studie.

Pomoc AI v současné vývojové etapě

AI pomáhá při současném rozdělování problémů, psaní kódu a implementaci; podle potřeby také při revizích a testování. Další využití má při vylepšování textur, zvýšení rozlišení a přípravě assetů.

Tato využití patří k současnému vývojovému postupu. Nepřisuzuji je historickým vydáním WAPP. Produktová rozhodnutí, chování nástrojů i výsledná scéna dál vyžadují inženýrské posouzení a iterace.

Současný stav

Současný Subway Simulator: Prague zůstává v aktivním vývoji. Základ generování a vývojových nástrojů existuje a projekt dál prochází iteracemi.

Ukázky zachycují vzájemně se doplňující části této práce: stanici ve hře, generování infrastruktury v Unity a přípravu assetů v Blenderu. Společně vysvětlují současný přístup k vývoji i systémy, které kolem simulátoru vznikají.

Inženýrské poznatky

Tato práce potvrzuje tři praktické poznatky, které propojují produktovou odpovědnost se způsobem tvorby produktu.

  • Opakující se vzory je vhodné formalizovat dříve, než se rozmnoží napříč scénou.
  • Opakovaně použitelné nástroje potřebují výslovná pravidla pro hranice a prostor pro ruční kontrolu.
  • Dostatečná vlastní práce s assety pomáhá propojit vizuální a technické iterace.

WAPP / Subway Simulator: Prague · Prohlížeč obrázků