Turistická hra — vize a struktura
Dočasný název. Interaktivní herní modul aplikace Turinka zaměřený na turistické znalosti a dovednosti.
1. Koncept
Turistická hra je doplňkový herní modul aplikace Turinka. Inspiruje se mechanikou budovacích her (Homescapes, Gardenscapes apod.), ale zasazuje ji do světa turistiky — hráč buduje vlastní virtuální turistickou síť na mapě.
Turistické znalosti jsou prostředkem, ne cílem. Hráč neplní kvíz — vydělává si zdroje na budování. Učení probíhá přirozeně jako vedlejší produkt hraní.
Cílová skupina: dospělí turisté, členové KČT i veřejnost.
Klíčové principy
- Hra je zábava, učení je vedlejší produkt — ne naopak
- Každý hraje svým tempem, bez povinných denních výzev nebo časových limitů
- Budování je vizuálně uspokojivé — mapa se viditelně rozvíjí
- Různé kategorie přinášejí různé zdroje → přirozená motivace k rozmanitosti témat
- Propojení s reálnou turistikou přes mechaniku baterie energie
- Modul je technicky oddělený od zbytku aplikace, ale sdílí uživatelský profil
2. Herní loop
Základní smyčka hry:
Hráč chce postavit nový prvek na mapě ↓Zjistí, jaké zdroje potřebuje ↓Vybere odpovídající kategorii a vyrazí na výpravu ↓Plní úkoly (spotřebovává energii z baterie) ↓Získává zdroje + XP + případně sběratelské předměty ↓Postaví požadovaný prvek na mapěPokud hráči dojde energie, nemůže pokračovat ve výpravách a získávání zdrojů — budování se zastaví. Energii dobíjí reálnou turistikou zaznamenanou v Turince. Tím hra motivuje k pohybu venku, nikoliv k neomezenému sezení u obrazovky.
Rozšířený loop — “Postav konkrétní prvek”
Jako nadstavba základního loopu existuje zkrácená varianta: hráč klikne na tlačítko “Postavit” u konkrétního prvku na mapě. Systém automaticky sestaví sérii úkolů z kategorií odpovídajících danému prvku (náhodný výběr z poolu relevantních úkolů). Po splnění série je prvek okamžitě postaven.
Tato varianta nesdílí žádné vlastní úkoly — pouze jinak vybírá a zabaluje úkoly ze stejného poolu jako základní loop. Vývojově jde tedy o chytrý wrapper nad základní mechanikou.
3. Mapa
3.1 Hráčova mapa
Každý hráč má vlastní mapu — stylizovanou, ale georeferencovanou krajinu ČR postavenou na MapLibre GL JS s vlastními WebP dlaždicemi. Mapa odpovídá reálným GPS souřadnicím, což umožňuje propojení s ostatními moduly Turinky (trasy, POI). Mapa se chová jako standardní interaktivní mapa s vrstvami:
- Vrstva terénu — vlastní tile sada, stylizovaná namalovaná krajina ČR
- Vrstva tras — GeoJSON linie (vybudované i nevybudované trasy)
- Vrstva prvků — GeoJSON body s ikonami prvků ve třech stavech
Všechny prvky na mapě (trasy, rozcestníky, chaty, rozhledny…) jsou předem definované z adminu — hráč neumisťuje prvky volně, ale staví na předem určených pozicích. Přidávání nových prvků probíhá přes administraci, bez zásahu do frontendového kódu.
Každý prvek na mapě má jeden ze tří stavů:
- Disabled (šedé, poloprůhledné) — chybí trasa nebo rozcestník v okolí, hráč nemůže stavět
- Dostupné (šedé) — trasa existuje, hráč může kliknout a stavět
- Postavené (barevné) — hráč prvek vybudoval
Hráč klikne na konkrétní dostupný prvek a staví ho — nekliká “kam chci stavět”. Tooltip prvku zobrazuje název, popis, požadované zdroje a tlačítko “Postavit” (pokud je prvek dostupný a hráč má zdroje).
3.2 Postup budování — trasy jako základ
Mapa se nerozděluje na oblasti s podmínkami odemčení. Přirozené omezení postupu zajišťuje stavební hierarchie a tři stavy prvků:
Nejprve trasa → pak rozcestníky → pak ostatní prvky
Žádný prvek (přístřešek, chata, rozhledna, lávka…) nelze postavit bez toho, aby v jeho okolí existovala vybudovaná trasa vybavená rozcestníky. Dokud podmínky nejsou splněny, prvek zůstává ve stavu disabled. Jakmile hráč vybuduje potřebné trasy a rozcestníky, okolní prvky se automaticky přepnou do stavu dostupné. Čím více tras hráč vybuduje, tím větší plocha mapy je dostupná pro další rozvoj.
3.3 Budovatelné prvky
Prvky se dělí na trasové (jednoúrovňové) a stavby. Stavby mohou být jednoúrovňové nebo víceúrovňové — hráč je postupně vylepšuje (upgrade). U upgradů se platí pouze náklady na vylepšení, ne celková cena od nuly.
Trasové prvky (jednoúrovňové)
| Prvek | Popis | Vyžaduje |
|---|---|---|
| Trasa | Základní značená turistická cesta | — (první krok) |
| Rozcestník | Ukazatel vzdáleností a směrů | Trasu |
| Naučná tabule | Informační panel o místě nebo přírodě | Trasu + rozcestník |
Stavby — jednoúrovňové
| Prvek | Popis | Vyžaduje |
|---|---|---|
| Lávka | Překlenutí vodního toku nebo rokle | Dvě trasy na obou stranách |
| Zřícenina / hrad | Zpřístupnění historické památky | Trasu + rozcestník |
Stavby — víceúrovňové (upgrade)
| Linie | Úroveň 1 | Úroveň 2 | Úroveň 3 | Úroveň 4 | Vyžaduje |
|---|---|---|---|---|---|
| Odpočinek | Lavička | Posezení (lavičky + stůl) | Přístřešek | Altán | Trasu + rozcestník |
| Voda | Pramen | Studánka | Zastřešená studánka | — | Trasu + rozcestník |
| Ubytování | Útulna | Chatka | Chata | Hotel | Více tras + rozcestníků |
| Výhled | Vyhlídka | Malá rozhledna | Velká rozhledna | — | Trasu + rozcestník |
3.4 Zdroje a náklady
Každá herní kategorie produkuje specifický typ zdroje. Stavba prvků vyžaduje zdroje z více kategorií, což motivuje hráče hrát rozmanitě.
Kategorie → zdroje
| Kategorie | Zdroj | Koncept |
|---|---|---|
| Značení | Barvy | Značení tras, rozcestníky — barva na značky |
| Topografie | Plány | Plánování stavby, zaměření terénu |
| Příroda | Dřevo | Přírodní stavební materiál |
| Geografie | Kámen | Základy, zdi, zpevnění |
| Znalosti | Nářadí | Bez znalostí a nástrojů nic nepostavíš |
Náklady na trasové prvky
| Prvek | Barvy | Plány | Dřevo | Kámen | Nářadí |
|---|---|---|---|---|---|
| Trasa | ██ | █ | — | — | █ |
| Rozcestník | █ | █ | █ | — | ██ |
| Naučná tabule | █ | ██ | █ | — | █ |
Náklady na jednoúrovňové stavby
| Prvek | Barvy | Plány | Dřevo | Kámen | Nářadí |
|---|---|---|---|---|---|
| Lávka | — | ██ | ██ | █ | ██ |
| Zřícenina / hrad | — | ██ | █ | ██ | █ |
Náklady na upgrade staveb (cena za danou úroveň)
Odpočinek:
| Úroveň | Barvy | Plány | Dřevo | Kámen | Nářadí |
|---|---|---|---|---|---|
| Lavička | — | — | █ | — | █ |
| Posezení | — | █ | ██ | — | █ |
| Přístřešek | — | █ | ██ | █ | ██ |
| Altán | — | ██ | ██ | ██ | ██ |
Voda:
| Úroveň | Barvy | Plány | Dřevo | Kámen | Nářadí |
|---|---|---|---|---|---|
| Pramen | — | █ | — | █ | █ |
| Studánka | — | █ | █ | ██ | █ |
| Zastřešená studánka | — | █ | ██ | ██ | ██ |
Ubytování:
| Úroveň | Barvy | Plány | Dřevo | Kámen | Nářadí |
|---|---|---|---|---|---|
| Útulna | — | █ | ██ | █ | █ |
| Chatka | — | ██ | ██ | █ | ██ |
| Chata | █ | ██ | ██ | ██ | ██ |
| Hotel | ██ | ██ | ██ | ██ | ██ |
Výhled:
| Úroveň | Barvy | Plány | Dřevo | Kámen | Nářadí |
|---|---|---|---|---|---|
| Vyhlídka | — | █ | — | ██ | █ |
| Malá rozhledna | — | ██ | ██ | █ | ██ |
| Velká rozhledna | — | ██ | ██ | ██ | ██ |
██ = hlavní zdroj (větší množství), █ = vedlejší zdroj (menší množství), — = nepotřebuje Přesné číselné hodnoty budou součástí návrhu herní ekonomiky.
4. Výpravy a úkoly
4.1 Struktura výpravy
Výprava = hráč klikne na kategorii a plní sérii náhodných úkolů. Hráč volí kategorii podle toho, jaké zdroje potřebuje. Každý splněný úkol okamžitě přináší odměnu (zdroje, XP).
Výprava nemá pevný konec — hráč končí kdy chce (nemá čas, dojde baterie, má dost zdrojů). Obtížnost úkolů se postupně přizpůsobuje úrovni hráče v dané kategorii.
4.2 Herní kategorie a zdroje
| Kategorie | Téma | Zdroj |
|---|---|---|
| Značení | Turistické značky KČT, typy tras, priority, rozcestníky | Barvy, nátěrový materiál |
| Topografie | Vrstevnice, kompas, azimut, vzdálenosti, čas, mapové značky, orientace v terénu | Mapy, navigační prvky |
| Příroda | Stromy, rostliny, houby, živočichové, počasí | Dřevo, přírodní materiály |
| Geografie | Místopis ČR — vrcholy, pohoří, řeky, města, CHKO | Kámen, zemina, stavební materiál |
| Znalosti | KČT historie, pravidla, etika, výbava, bezpečnost, první pomoc | Vybavení, informační materiály |
Přesné přiřazení zdrojů kategoriím bude součástí samostatného návrhu herní ekonomiky.
4.3 Typy herních mechanismů
Úkoly nejsou jen prosté kvízy s výběrem z možností. Každá kategorie kombinuje různé typy interaktivních mechanismů:
Skládací / Kreativní
- Sestav značku — hráč dostane zadání (např. „odbočka k vrcholu”), vybere tvar šablony a nakliká barvy polí. Nebo opačně: co znamená tato značka?
- Sbal batoh — scénář výpravy (délka, roční období, terén) → hráč vybírá položky do batohu, hodnocení podle přiměřenosti výběru
Mapové / Prostorové
- Odhadni vzdálenost — dva body na mapě, hráč zadává odhad v km, bodování podle přesnosti
- Odhadni převýšení — výškový profil trasy, hráč tipuje celkové převýšení nebo porovnává dva profily
- Urči azimut — interaktivní kompasová růžice, hráč otáčí šipkou na zadaný azimut nebo určuje směr pochodu
- Kde to je? — fotka krajiny, rozhledny nebo zříceniny, hráč klikne na mapu kde si myslí, že místo leží (GeoGuessr styl)
- Přečti vrstevnice — výřez topografické mapy, otázky na výškové rozdíly nebo strmost svahu
Řazení / Párování
- Seřaď správně — drag & drop řazení (značky podle priority, vrcholy podle výšky, postup první pomoci…)
- Spoj páry — značka ↔ význam, vrchol ↔ pohoří, rostlina ↔ název
Identifikace / Vizuální
- Rychlá identifikace — série obrázků (značky, rostliny, houby), co nejrychleji správně identifikovat, čas přináší bonus body
- Co je špatně? — obrázek turistické situace, hráč klikáním označuje chyby (špatné značení, nebezpečné chování, chybějící výbava)
Odhadovací
- Odhad času na trase — parametry trasy (vzdálenost, převýšení, terén) → hráč odhaduje dobu chůze
- Odhad z fotky — jak daleko je viditelný bod, jak vysoký je kopec v pozadí
Klasický kvíz
- Výběr ze čtyř možností — pro faktografické otázky, kde jiný mechanismus nedává smysl
5. Baterie energie
Baterie energie je mechanismus propojující digitální hru s reálnou turistikou. Plnění úkolů ve výpravách spotřebovává energii. Bez energie hráč nemůže pokračovat ve výpravách — nemůže získávat zdroje a budování se zastaví.
Dobíjení
Energie se dobíjí aktivitami zaznamenanými v Turince:
- Zapsaný výlet v turistickém deníku
- Nahraná GPX trasa
- Účast na turistické akci KČT
Množství dobité energie odpovídá délce nebo náročnosti aktivity.
Co baterie ovlivňuje
Baterie omezuje pouze výpravy — tedy získávání zdrojů pro budování. Vzdělávací nebo informační části hry (prohlížení kategorií, pravidel, encyklopedie značek) zůstávají přístupné vždy.
Přesné parametry (kapacita, spotřeba na úkol, dobíjecí koeficienty) budou součástí návrhu herní ekonomiky.
6. Progrese a odměny
XP a úrovně
Hráč získává zkušenostní body (XP) za každý splněný úkol. XP se sledují zvlášť pro každou kategorii (umožňuje sledovat specializaci) i celkově. Celková úroveň hráče ovlivňuje dostupnost pokročilejších stavebních prvků. Úrovně v jednotlivých kategoriích ovlivňují obtížnost generovaných úkolů.
Žebříčky
- Celkový žebříček — podle celkových XP
- Týdenní žebříček — XP získané v aktuálním týdnu
- Žebříčky podle kategorie — kdo je nejlepší ve značení, topografii, přírodě atd.
- Žebříček budovatelů — podle počtu nebo hodnoty postavených prvků
Sběratelské předměty
Výpravy mohou přinášet sběratelské předměty — virtuální karty s turistickou tematikou (druhy značek, pohoří ČR, rozhledny, přírodniny…). Vzácnější předměty jsou odměnou za těžší úkoly nebo speciální kombinace. Sbírky jsou součástí profilu hráče.
7. Propojení s profilem Turinky
Herní modul sdílí uživatelský profil s ostatními částmi Turinky. Na profilu hráče jsou viditelné:
- Celková herní úroveň a XP
- Úrovně v jednotlivých kategoriích
- Získané sběratelské předměty
- Pozice v žebříčcích
- Náhled mapy (co hráč vybudoval)
Návštěvy map přátel
Mapy jsou primárně soukromé — každý hráč buduje vlastní. Přátelé však mohou navštívit mapu kamaráda a podívat se, jak na tom je. Prohlížení cizí mapy je read-only — bez možnosti stavět nebo zasahovat.
Reálné aktivity z Turinky (výlety, akce) slouží jako zdroj pro dobíjení herní baterie. Propojení je jednosměrné: Turinka → hra.
8. Propojení s reálnými daty aplikace
Herní mapa je georeferencovaná — odpovídá reálným GPS souřadnicím ČR. To umožňuje přímé propojení herních prvků s existujícími daty v Turince.
8.1 Trasy
Trasy, které hráč buduje ve hře, mohou odpovídat reálným významným turistickým trasám evidovaným v modulu Trasy. Výhody:
- Sdílená data — hra nemusí definovat vlastní geografická data, využívá existující databázi tras
- Vzdělávací propojení — u herní trasy se zobrazují informace z reálné trasy (délka, převýšení, zajímavá místa, fotky)
- Motivace k pohybu — hráč si ve hře trasu oblíbí a může si ji projít i ve skutečnosti (přímý odkaz do modulu Trasy)
8.2 POI (body zájmu)
Obdobně jako trasy lze propojit herní stavební prvky (rozhledny, chaty, studánky, zříceniny) s reálnými POI v databázi. Hráč po postavení prvku vidí informace o reálném místě — fotky, popis, hodnocení, návštěvnost.
8.3 Bonus za reálný průchod
Pokud hráč trasu (nebo její část), kterou ve hře buduje, skutečně projde v reálu (ověřeno přes GPX záznam nebo zápis v deníku), může získat:
- Slevu na stavební materiály — snížené náklady zdrojů na vybudování dané trasy/prvku
- Bonusové zdroje — extra materiály za reálný průchod
- Speciální sběratelský předmět — unikátní karta vázaná na kombinaci „postaveno + projito”
- XP bonus — zvýšené zkušenostní body
Tím se prohlubuje propojení digitální hry s reálnou turistikou — hra motivuje k výletům a výlety zpětně pomáhají ve hře.
9. Technická architektura
9.1 Umístění v projektu
Hra je implementována jako samostatná sekce v aplikaci Turinka s vlastním namespace, databázovým schématem a React entry pointem. Sdílí autentizaci, uživatelský profil a infrastrukturu s hlavní aplikací, ale je od ní logicky oddělena.
| Vrstva | Řešení |
|---|---|
| Namespace | App\Game\ |
| Databázové schéma | turi_game |
| Frontend bundle | Samostatný React entry point, lazy-loaded |
| API | Vlastní REST endpointy pod /api/v1/game/ |
| Sdílené | Auth, User entita, profil, infrastruktura |
9.2 Databázové tabulky
Tabulky jsou navrženy tak, aby přidávání nových typů prvků nebo kategorií nevyžadovalo změny ve struktuře — vše je datově řízené.
Znalostní báze a generátory úkolů
| Tabulka | Popis |
|---|---|
items | Znalostní báze — univerzální tabulka herních dat (značky, vrcholy, ptáci…) |
item_attributes | Číselník typů atributů s konfigurací zobrazení |
generators | Pravidla pro generování úkolů z dat (mechanismus, otázka, filtry, obtížnosti) |
Budovací prvky
| Tabulka | Popis |
|---|---|
element_types | Definice typů prvků (trasa, rozcestník, chata…) — název, popis, ikona, požadované zdroje, podmínky stavby |
resource_types | Definice typů zdrojů (dřevo, kámen, mapy…) |
collectibles | Definice sběratelských předmětů |
Hráčský stav
| Tabulka | Popis |
|---|---|
players | Herní profil hráče — celkové XP, úrovně per kategorie, stav baterie |
player_resources | Pivot: hráč × typ zdroje × množství |
player_elements | Pivot: hráč × typ prvku × pozice na mapě (GeoJSON) × stav |
player_tasks | Historie splněných úkolů hráče — výsledek, čas, získané zdroje |
player_collectibles | Pivot: hráč × sběratelský předmět |
Všechny tabulky jsou ve schématu turi_game, proto bez prefixu.
9.3 Mapa — technické řešení
Hráčova mapa je postavena na MapLibre GL JS (WebGL). Vlastní WebP tile sada tvoří stylizovanou georeferencovanou krajinu ČR. Nad terénem jsou dvě datové vrstvy:
- Vrstva tras — GeoJSON linie vybudovaných tras
- Vrstva prvků — GeoJSON body s ikonami prvků
Každý prvek na mapě má tooltip s:
- názvem a popisem prvku
- požadovanými zdroji ke stavbě
- aktuálním stavem (postaveno / lze postavit / chybí zdroje / chybí trasa)
- tlačítkem “Postavit” pokud jsou podmínky splněny
Přidávání nových typů prvků probíhá výhradně přes data v element_types — bez zásahu do frontendového kódu.
9.4 Technická proveditelnost mechanismů
| Mechanismus | Technologie | Složitost |
|---|---|---|
| Výběr z možností / kvíz | React | Nízká |
| Sestav značku (SVG editor) | React + SVG | Střední |
| Drag & drop řazení | React + dnd-kit | Střední |
| Klikání na mapu / GeoGuessr | MapLibre GL JS | Střední |
| Kompas / azimut (interaktivní) | React + SVG rotace | Střední |
| Klikání na oblasti obrázku | SVG overlay | Střední |
| Slider pro odhady | HTML range input | Nízká |
| Časový tlak | JS timer | Nízká |
| Herní mapa s vrstvami | MapLibre GL JS + GeoJSON | Střední |
| Generování úkolů ze šablon | Symfony service | Střední |
10. Tvorba a správa obsahu
Dva zdroje obsahu
Šablonové (generované) úkoly — šablona definuje typ úkolu a jeho parametry, konkrétní instance jsou generovány automaticky z databáze dat (seznam značek, seznam vrcholů, souřadnice bodů na mapě…). Zajišťuje objem a variabilitu.
Ručně kurátované úkoly — specifičtější nebo komplexnější úkoly připravené editorem. Zajišťuje kvalitu a pokrytí témat, která se špatně generují automaticky.
Správa obsahu
Obsah spravuje moderátor / editor přes administrační rozhraní. Nové kategorie, typy úkolů a stavební prvky lze přidávat průběžně bez nasazení nové verze aplikace — jsou datově řízené, ne napevno v kódu.
11. UX tok
Vstupní obrazovka hry zobrazuje hráčovu mapu s vybudovanými prvky a stavem baterie. Hráč vidí, co má postaveno, co může stavět a co mu chybí.
Navigace v modulu:
- Mapa — hlavní obrazovka, přehled světa a správa stavby
- Výpravy — výběr kategorie a spuštění výpravy (nebo “Postav konkrétní prvek”)
- Sklad — přehled dostupných zdrojů
- Sbírka — získané sběratelské předměty
- Žebříčky — porovnání s ostatními hráči
Poznámky a další kroky
Tento dokument popisuje vizi a strukturu hry. Koncept je navržen s ohledem na budoucí rozšiřitelnost — nové kategorie, typy úkolů, stavební prvky i herní mechaniky lze průběžně doplňovat dle možností a potřeb.
Možná budoucí rozšíření
Vylepšování prvků — každý typ prvku by mohl mít několik úrovní vylepšení (např. přístřešek → přístřešek s lavičkou → přístřešek s ohništěm). Vylepšení by spotřebovávalo další zdroje a přinášelo vizuální změnu na mapě i bonusové XP. Přidává hloubku a dlouhodobou motivaci k rozvoji už postavených prvků.
Údržba a opravy — v reálu se turistické trasy obnovují přibližně každé 3 roky. Ve hře by mohl existovat podobný mechanismus: postavené prvky postupně chátrají a hráč je musí udržovat (obnovit značení, opravit rozcestník…). Údržba by vyžadovala méně zdrojů než stavba nového prvku, ale zajišťovala by průběžnou aktivitu a motivaci vracet se ke hře. Zanedbané prvky by vizuálně vybledly, ale nezmizely.
Navazující úkoly (samostatně)
- Návrh herní ekonomiky — přesné zdroje, ceny prvků, spotřeba energie, dobíjecí koeficienty
- Katalog stavebních prvků — kompletní seznam s požadavky na zdroje a podmínkami stavby
- Katalog úkolů — šablony pro každý typ mechanismu a kategorii
- Technický návrh — databázové schéma detail, API endpointy, React komponenty
- UI/UX design — wireframy a vizuální styl herní mapy