CZFC-RP — POPIS GAMEMODU, EKONOMIKY A INTERAKCÍ ============================================= CO JSEM VYTVOŘIL --------------- CZFC-RP je česká úprava dodaného BasicRP pro multiplayer Kingdom Come: Deliverance II. Zachovává jeho ukládání postav, obchod, kostky, koně a vozy. Přidává vlastní identitu serveru, české obrazovky a hlášky, průvodce na F2, správu služby GM a další nástroje pro společné hraní příběhů. Smyslem této verze je, aby hráči měli srozumitelné ovládání a možnosti, jak se potkávat, hrát scény a pořádat výpravy, zatímco správce vybírá důvěryhodné GM. Základem ekonomiky jsou tři opakovatelné průzkumné zakázky, obchod a kostky. Zakázky fungují i pro jednoho hráče a postupně odemykají náročnější výpravy. Cechy, vlastnictví domů a simulovaný trh zatím implementované nejsou. JAK PROBÍHÁ HRA --------------- Hráč přijde na server, vytvoří si účet nebo se přihlásí. Nová postava projde editorem vzhledu v odděleném prostoru. Po dokončení se objeví ve společném světě. Existující postava pokračuje s uloženým vzhledem, inventářem, penězi a dovednostmi; uložená pozice se obnoví, pokud patří stejné mapě. F2 nebo /menu otevře pětistránkového průvodce. Vysvětlí zakázky, RP komunikaci, gesta, náhodné hody, kostky, družiny, cestování a pomoc GM. Je to informační menu ovládané klávesnicí; není to klikací obchod ani samostatný inventář. EKONOMIKA --------- Měna: groše vedené herním serverem a ukládané k účtu v databázi. Start nové postavy: - 150 grošů, - pochodeň, - vzhled vybraný v editoru. Starým účtům se peníze neresetují. Pokud má účet uložených 0 grošů, po připojení má stále 0. Opravil jsem chybu původního režimu, která v tomto případě nechala hráči znovu startovní peníze. Opakovaný respawn také nepřidává startovní částku. Kupec stojí poblíž výchozího místa a používá herní obchodní rozhraní. Aktuální nabídka při vytvoření obchodu: Pochodeň 5 grošů neomezená zásoba Běžný šíp 0,5 groše 200 kusů Obvaz 12 grošů 20 kusů Krátký meč 90 grošů 3 kusy Vybraný prošívaný kabátec 60 grošů 2 kusy Nabídka závisí také na dostupnosti odpovídajících položek v herních datech serveru. Kupec vykupuje podporované předměty kromě dokumentů, základně za polovinu jejich katalogové hodnoty. Začíná s 500 groši v pokladně; jeho peníze nejsou bezedné. Zásoba a pokladna tohoto skriptového obchodu nejsou samostatně uložené do databáze a při opětovném vytvoření obchodu po restartu/reloadu začínají znovu. Jak lze získat nebo ztratit peníze: - dokončením a odevzdáním zakázky: 25, 65 nebo 100 grošů podle náročnosti, - obchodováním s kupcem podle nabídky, zásob a jeho pokladny, - výhrou nebo prohrou v kostkách mezi hráči, - přes další standardní herní mechanismy povolené konfigurací serveru. Kostky se skutečnými sázkami používají herní minihru u stolu. Server drží sázky a rozhoduje zápas. /hod, /mince a /zkus jsou pouze RP nástroje; peníze nevyrábějí. Sázka se zadává jako celé číslo 0 až 1 000 000; engine navíc ověřuje dostupné peníze. Kůň je zatím zdarma a každý může mít jeden dočasný vlastní vůz. Jsou to pomůcky pro RP a společné cesty, nikoliv součást propracovaného trhu s dopravou. Náklad vybraný v editoru vozu je vzhled: pytle na voze samy netvoří prodejné zboží. Pravidelné platy za čekání, banky, daně a příkaz pro placení mezi hráči přidané nejsou. ZAKÁZKY A DLOUHODOBÝ POSTUP -------------------------- U výchozího místa serveru do 35 m přijmeš /zakazka pochuzka, pruzkum nebo hlidka. Trasu si volíš sám podle bezpečnosti terénu; nejde o převoz fyzického zboží. Na obrazovce vidíš průběh cesty, vzdálení od startu a čas. Vracíš se na stejné místo a odměnu vyzvedneš příkazem /zakazka odevzdat. Zakázka Celá cesta Vzdálení Min. čas Groše Pověst Podmínka Obchůzka panství 400 m 80 m 90 s 25 +1 žádná Průzkumná výprava 1 200 m 300 m 240 s 65 +2 pověst 5 Dálková hlídka 2 200 m 500 m 420 s 100 +3 pověst 12 Obchůzka je pěší; průzkum a hlídka umožňují koně. Vůz nezapočítává vzdálenost. Po úspěchu je prodleva 180 s, po zrušení/odpojení 120 s. Limit výpravy je 30 min. Server měří pohyb každé dvě sekundy, neuznává stání, podezřelé skoky v poloze, změny světa ani práci GM ve službě. Smrt či bezvědomí znamenají zrušení bez odměny. Zakázka blokuje editor vzhledu/vozu a návrat /zasekl, dokud ji nezrušíš. Pověst se ukládá k účtu. Hodnosti: Nováček od 0, Spolehlivý posel od 5, Zkušený průzkumník od 12 a Opora panství od 30. /povest ukazuje tvůj postup. Jde o veřejný postup postavy, nikoliv automatické zvýšení bojových statistik. Odměna, pověst a počet zakázek se zapisují společně s penězi. Při selhání zápisu se data znovu nabídnou k uložení při dalším ukládání; při výpadku databáze a pádu procesu nelze zaručit zachování ještě nepotvrzené odměny. PROPOJENÍ S WEBEM ---------------- Webová Síň slávy čte stejnou databázi jako gamemode. Ukazuje deset postav podle pověsti, poté počtu zakázek a jména; zařadí až postavy s dokončenou zakázkou. Zobrazuje jméno, hodnost, pověst a počet zakázek. Neukazuje hesla ani peněženky. Výsledky se cachují přibližně minutu. Web nemůže přidělovat odměny či práva GM. Počet připojených hráčů web získává odděleně z HTTP rozhraní herního serveru. Když zdroj neodpovídá, ukazuje nedostupnost; nevymýšlí online hráče ani výsledky. INTERAKCE MEZI HRÁČI ------------------- 1. Mluvení v okolí Běžná zpráva dosáhne 20 m, /septat 3 m a /s 40 m. Oddělené virtuální světy se přes tyto zprávy neslyší. Hlasový chat je ponechaný podle server.toml. 2. Popis akcí a situace /me popíše jednání postavy, /do situaci, /ame krátkou akci nad hlavou. /b je lokální komunikace mimo postavu. Server neurčuje, co si druhá postava myslí ani jak musí reagovat; to je prostor pro dohodu a RP. 3. Gesta Mávání, poklona, potlesk, tanec, pozdrav, přikývnutí a ukazování. Použij kruhové menu na G nebo české příkazy, například /zamavat. Využívají skutečná gesta podporovaná KCD-MP, viditelná okolním hráčům. 4. Náhoda ve scéně /hod [počet stran], /mince a /zkus mají výsledek určený serverem. /zkus má 50% šanci; nepočítá statistiky postavy. Okolí vidí výsledek. Mezi pokusy je pauza 8 s. Hráči se předem domluví, co hod rozhoduje. 5. Družina Pozvánky, přijetí, odmítnutí, společný chat, změna vedoucího a odchod. Dobré pro výpravu, družinu žoldnéřů nebo doprovod kupce. 6. Kostky Dva hráči u stolu, dobrovolná sázka a skutečná kostkařská minihra. Základní cíl: 1 500 bodů. Čas na tah: 90 s. Výzva platí 60 s. Odpojení ruší nevyřízené výzvy, aby se nepřenesly na cizí připojení. 7. Kůň a vůz /kun přivolá uloženého koně, /vuz otevře výběr modelu a dílů vozu. Další hráči mohou cestovat společně a měnit dostupná místa na stojícím voze. Vůz při odpojení majitele zmizí. Kůň se ukládá k účtu. 8. Bezvědomí a přenášení /nest a /polozit pomáhají odnést bezvědomého spoluhráče. Systém neznamená hotové povolání léčitele ani automatické léčení. Kapsářství a strhávání jezdců jsou připravené z BasicRP, ale výchozí stav je vypnuto. GM A VEDENÍ PŘÍBĚHU ------------------ Majitel vybírá GM podle trvalého ID účtu. Samotná přezdívka oprávnění nedává. Po přihlášení je GM mimo službu. Příkazem /gm zapne nástroje a označení: - [GM] nad hlavou a v lokálním chatu, - zlatá barva jména, - vlastní indikátor GM VE SLUŽBĚ. Další /gm označení i administrátorská práva odebere. /report umožní hráči soukromě požádat o pomoc. /gmodpoved je odpověď GM. /a slouží právě sloužícím GM. /scena je místní vypravěčská zpráva. /udalost zve celý server na společné RP; hráč si pozvánku může kdykoliv vypsat. Příklad večerního programu: GM vyhlásí doprovod kupeckého vozu. Hráči se sejdou, vytvoří družinu, dohodnou role a cestu. Během výpravy GM popisuje situace přes /scena. Hráči používají gesta, místní chat a domluvené hody. Večer mohou zakončit kostkami v hospodě. Trasa, cíl a případná odměna nejsou v této verzi automatický questový systém. CO HLÍDÁ KÓD A CO HLÍDÁ KOMUNITA ------------------------------- Kód ověřuje přihlášení, oprávnění GM, některé časové limity, vstupy do příkazů, dosah místního chatu a vazbu výzev ke kostkám na konkrétní připojené hráče. Zakazuje přivolání koně a otevření editorů vzhledu/vozu v probíhajícím boji. RP důvod násilí, férovost příběhu, metagaming a chování komunity automaticky nepozná. Proto jsou /pravidla, reporty a služba GM součástí návrhu. V režimu není přidaná automatická bezpečná zóna ani zákaz veškerého PvP. GM ve službě není automaticky nesmrtelný a nese odpovědnost za použití nástrojů. JAK JE TO TECHNICKY UDĚLANÉ ------------------------- - Vlastní serverový skript gamemodes/czfc-rp.lua; originál BasicRP zůstává. - Pět klientských Lua skriptů pro přihlášení, vzhled, vůz, zakázku a průvodce. - UI je složené z nativních panelů a textů KCD-MP, není to webový prohlížeč. - Databáze rozšiřuje BasicRP o pověst, počet zakázek a čas další zakázky. Chybějící sloupce přidá inicializace gamemodu. Klient nepřiděluje práva GM. - Lokální konfigurace server.toml je přepnutá na nový gamemode. - Automatické testy ověřují chování skriptů nad simulovaným API; skutečnou hru je potřeba vyzkoušet se dvěma klienty před veřejným nasazením. DALŠÍ SMYSLUPLNÉ ROZŠÍŘENÍ (ZATÍM NENÍ IMPLEMENTOVANÉ) ----------------------------------------------------- Další krok může být kurýrní zakázka s NPC nebo přeprava skutečného nákladu: jasný začátek, ověřený cíl, čas na cestu, serverem ověřené splnění a uložená odměna. Na to mohou navázat ceny koní, opravy, zásobování kupců a práce dalších hráčů. Teprve potom dává smysl rozšiřovat ekonomiku o cechy, vlastnictví a spravované obce.