Announcement

Collapse
No announcement yet.

Poznámky vývojáře

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Poznámky vývojáře

    Producer’s Note #1
    Z data 10.5.2022

    Producer’s Note je nový formát, který má za cíl poskytnout větší transparentnost ohledně vývoje Shakes & Fidget.
    První otázka se týká právě probíhající migrace serverů. Viděli jsme, že toto téma je velmi vášnivě diskutováno, a proto bychom o něm rádi trochu pohovořili, abyste věděli, proč migrace serverů provádíme a jak budou v následujících měsících probíhat.

    Migrace z jazyka PureBasic na PHP byla technickým rozhodnutím. PHP je flexibilnější a modernější než PureBasic a umožňuje nám snadněji a v kratším čase vyvíjet nové funkce. Navíc integrace nových funkcí do nové architektury může probíhat hladce. Navíc máme přístup k několika serverovým logům, které nám poskytují dostatek vodítek k rychlejší identifikaci příčin chyb.

    Seznam migrovaných serverů možná přenáší dojem, že servery k migraci vybíráme náhodně. Ale není tomu tak. Definovali jsme několik kritérií (např. jazyk, stáří serveru, počet aktivních účtů...) a snažíme se nejprve migrovat servery, na kterých se většina těchto kritérií liší. Tím zajistíme, že získáme co nejlepší přehled o možných chybách, které mohou nastat. Čím později jsme v procesu migrace, tím větší je šance, že jsme již migrovali server s dosti podobnými charakteristikami a předchozí problémy lze předem odstranit při další migraci.
    Přestože jsou migrace serverů velmi dobře monitorovány a testovány, vždy se může stát, že 200 tisíc řádků přepsaného kódu může způsobit nějaké menší chyby. Jsme přesvědčeni, že tyto problémy lze snadno a v krátké době odstranit. Všechny tyto problémy analyzujeme, odstraníme je a čím více migrací provedeme, tím méně chyb se bude vyskytovat. V případě vysoce rizikových migrací budou tyto migrace předem testovány a interně otestovány před tím, než budou tyto migrace provozovány v ostrém prostředí. Pokud se neočekávaně vyskytnou závažné problémy, můžeme migrace serverů vždy vrátit ze záloh serverů.

    Přestože se snažíme migrovat všechny servery co nejdříve, budeme si dávat na čas, abychom tento projekt provedli s maximální pečlivostí. Nechceme dávat falešné sliby, a proto neuvádíme datum, kdy budou migrace dokončeny. Pokud však dokážeme udržet stávající tempo, jsme přesvědčeni, že se nám podaří dokončit poslední migraci serverů v rámci tohoto roku.

    Přitom bychom vás rádi informovali, že jsme si vědomi nedávných výpadků serverů s novým backendem a některých pravidelně se vyskytujících problémů ve hře. Ujišťujeme vás, že tyto problémy jsou pro nás stejně nepříjemné jako pro vás a že se jimi zabýváme s nejvyšší prioritou.

    Rádi bychom vám všem poděkovali za trpělivost a jsme velmi vděční za vaše hlášení o jakýchkoli problémech, které se během migrace objevily.
    Váš příspěvek je pro nás opravdu důležitý.

    #2
    Producer's Note #2
    Z data 1.6.2022

    Balancování je důležitou součástí herního designu. A někdy se herní prvky prostě neosvědčí tak, jak by měly. V průběhu času jsme pozorovali stávající třídy světa Shakes & Fidget a máme pocit, že některé z nich se zdají být trochu nedotažené ve srovnání s jinými třídami ve hře.

    Zatímco porovnáváme všechny třídy mezi sebou, bereme v úvahu všechny aspekty pro rozhodnutí, které změny je třeba u jednotlivých tříd provést. Cílem je získat spravedlivý a vyvážený herní zážitek bez ohledu na to, kterou třídu jste si vybrali, když jste začínali hrát hru. Abychom tohoto cíle dosáhli, zvažujeme jak vylepšení příliš slabých tříd, tak oslabení těch silných.

    Možná se ptáte, zda budou všechny třídy změněny současně. To je velmi nepravděpodobné. Za prvé je to kvůli zdrojům, které by byly zablokovány prací na kompletním reworku a pak by mohly chybět na jiné důležité úkoly. Za druhé je třeba zjistit, jaký vliv bude mít rebalancování tříd na všechny oblasti hry. Změna všech tříd najednou současně by byla v tomto ohledu jednoduše příliš riskantní. Zároveň neexistuje žádná definovaná časová osa nebo pořadí tříd pro úpravu.
    Když mluvíme o třídách, které mají být rebalancovány, a o jejich dopadu na hru samotnou, uvažujeme o tom, že se podíváme také na společníky. Určitě je tedy možné, že na ně přijde řada. V prvé řadě však budeme sledovat vliv změn hlavních tříd.
    Samozřejmě, že před spuštěním rebalancované třídy bude otestováno, zda bude rebalancování spravedlivé a hodící se k celkové hratelnosti. Používáme několik nástrojů, které nám pomohou pochopit, jaký dopad může mít přepracování třídy obecně. Kromě toho bychom však rádi získali zpětnou vazbu od zkušených hráčů. Pro každou rebalancovanou třídu tedy otevřeme na určitou dobu beta server, abychom shromáždili data, a také Vám dali možnost poskytnout feedback a umožnili nám
    zjistit, jak se Vám rebalancování líbí a co je potřeba upravit.

    První týden testování rebalancovaného Lovce démonů na našem beta serveru je za námi a již jsme od Vás získali cennou zpětnou vazbu.
    Moc Vám děkujeme za Vaše dosavadní i budoucí příspěvky.

    Comment


      #3
      Producer’s Note #3
      Z data 17.6.2022

      Nejprve bychom se Vám chtěli omluvit za nedávné problémy s výkonem a problémy, s nimiž se setkáváte na serverech s novým backendem. Ujišťujeme Vás, že pracujeme na řešeních, která by zlepšila výkon a herní zážitek, s vysokou prioritou.

      Prostřednictvím této zprávy bychom Vám rádi poskytli několik podrobnějších informací, abyste věděli, s jakými problémy se v současné době potýkáme a jaká opatření již byla provedena, o kterých přemýšlíme a které plánujeme co nejdříve provést.

      Nejprve musíme objasnit, že musíme rozlišovat mezi třemi hlavními problémy, kterým právě čelíme.

      Výpadek nového backendového serveru (15. června 2022)
      Nedávný výpadek serveru v úterý 15. června 2022 nijak nesouvisel s ostatními problémy souvisejících s novým backendem.

      Zkrátka a dobře, z našeho monitoringu jsme dostali falešné chybové hlášení, které uvádělo, že jsme měli problém s naším hlavním úložištěm, ale ukázalo se, že ve skutečnosti měly potíže některé databázové proxy servery.

      Když jsme zjistili, že oznámení o chybě bylo falešné, nasadili jsme potřebná opatření. To bohužel způsobilo vysokou latenci. Ironií je, že to je přesně opačný efekt, kterého jsme chtěli dosáhnout. Každopádně toto bylo vráceno zpět a skutečný problém s databázovými proxy servery se podařilo vyřešit a nakonec se výkon serveru vrátil k normálu.

      Nikdo není dokonalý, chyby se mohou stát. Můžeme se jen upřímně omluvit za nešťastnou událost. způsobené okolnosti, děkujeme za trpělivost a prosíme o pochopení.

      Výkon nových backendových serverů
      Zahájení migrace serverů proběhlo zpočátku poměrně hladce. Migrace malých herních světů způsobila menší problémy, které se podařilo poměrně rychle vyřešit. Čím více jsme postupovali, tím větší jistotu jsme získali a rozhodli jsme se začít migrovat větší a aktivnější servery.

      Bohužel jsme podcenili vliv množství dat, které je třeba načíst a jejich dopad na zatížení serveru. V důsledku toho se výkon nových backendových serverů začal snižovat.

      Jako protiopatření jsme zvýšili výkon serverů přidáním dalších herních serverů. Kromě toho probíhá revize a refaktorizace kódu s cílem identifikovat a optimalizovat její části, které jsou z hlediska výkonu nákladné.

      Abychom zjistili, zda mají naše kroky skutečně pozitivní dopad na výkon serveru, integrovali jsme specifické metody pro měření výkonu, abychom mohli sledovat, zda optimalizace vede k efektivnímu zlepšení. Optimalizace probíhá v iterativních krocích, což nám umožňuje sledovat, jak se optimalizace možné zlepšení podrobněji sledovat.

      Jaká jsou podrobná opatření? Redukce nadbytečných dat, stará a již nepotřebná data budou pravidelně vymazávána prostřednictvím skriptů. Probíhá optimalizace programového kódu s cílem zkrátit dobu odezvy a změníme způsob ukládání dočasných dat relace. Stejná data jsou vyžadována pro mnoho částí hry. Díky inteligentnímu ukládání do mezipaměti očekáváme, že dosáhneme extrémně lepšího výkonu.

      V některých oblastech však narážíme na určitá omezení. V současné době máme co do činění se dvěma různými kódy, které musí být kompatibilní. To nám brání v provedení některých vylepšení, která lze provést až po migraci všech serverů.

      Výskyt chyb na nových backendových serverech
      Posledním tématem, které bychom rádi probrali, jsou chyby, které se v současné době vyskytují na serverech s novým backendem.

      I když se v první řadě zaměřujeme na zlepšení výkonu serverů, chyby, které jste nahlásili, nezůstávají bez povšimnutí. Předpokládáme, že většina vyskytujících se problémů se již nebude vyskytovat, jakmile bude výkon serveru na stabilní úrovni.

      Nicméně někteří naši vývojáři se intenzivně zabývají identifikací zdrojů nahlášených chyb a pracují na řešeních, u kterých jsme mohli vidět, že problémy nesouvisí pouze s výkonem. Opět se reviduje a refaktorizuje kód tam, kde si myslíme, že by to mohlo pomoci chybu odstranit.

      Přáli bychom si, aby migrace serveru proběhla bez problémů. Bohužel realita ukazuje jiný scénář. Je to pro nás stejně nepříjemné jako pro vás, ale musíme se k současné situaci postavit čelem a řešit problémy s vysokou prioritou, aby Váš i náš život nebyl tak stresující.

      Ještě jednou si vážíme Vaší trpělivosti a děkujeme vám za pochopení a podporu, ale dokážeme také pochopit Vaše zklamání, že v současné době čelíte při hraní hry nepříjemným situacím. Pracujeme na tom!

      Comment


        #4
        Producer’s Note #4
        Z data 29.7.2022

        Hledání jehly v kupce sena snad našlo svůj konec. Po několika neúspěšných pokusech dostat výkon serveru plně pod kontrolu se zdá, že se nám konečně podařilo vypátrat hlavní příčinu.

        Ukázalo se, že serverové procesory některých našich herních serverů jsou starší generace (ZEN2), které zřejmě nemají potřebné funkce pro správu paměti pro Linux. To vedlo k nešťastnému způsobu využití paměti, který ve špičkách způsoboval 100% zatížení, a tím pádem klesl výkon serveru a hrající uživatelé zaznamenali vážné problémy s připojením a lagy.

        Abychom tento problém vyřešili, chystáme se nahradit aktuálně používané procesory procesory nové generace (ZEN3). Předpokládáme, že k výměně hardwaru dojde příští týden, ale jsme závislí na serverhostingové společnosti, a proto v tuto chvíli nemůžeme uvést přesné datum, kdy k tomu dojde.

        Do té doby v současné době provozujeme službu, která každou hodinu restartuje PHP a čistí alokovanou paměť jádra. Zdá se, že to pomáhá, ale není to žádoucí řešení.

        Děkujeme Vám za trpělivost a ještě jednou se upřímně omlouváme za špatný výkon serveru v posledních týdnech, který Vás i nás stresoval. Doufejme, že se nám podaří tuto kapitolu jednou provždy uzavřít.

        Comment


          #5
          Producer’s Note #5
          Z data 19.8.2022

          Potřebuje Shakes & Fidget další třídy? To může být kontroverzní téma. Myslíme si, že přidání nových tříd do světa Shakes & Fidget je přínosné, protože přidává do hry nový náboj a může přidat třídu, kterou si uživatelé přejí hrát, ale v současné době chybí.
          Při zavádění nové třídy je na prvním místě tvůrčí proces. Zkoumáme, které třídy by bylo zajímavé přidat a hodily by se do hry. Nová třída by navíc měla do hry přidat zajímavý aspekt a do jisté míry by měla hru změnit k lepšímu.

          Prvním krokem je podívat se, jaký hlavní atribut by měl být třídě přiřazen. Například při rozhodování o zavedení Barda jsme se rozhodli, že bychom rádi implementovali třídu, jejímž hlavním atributem bude inteligence.

          Jakmile toto rozhodnutí padne, provedeme brainstorming, abychom našli třídy, které by se hodily a co by mohly dělat. V této fázi tvůrčího procesu se může zapojit celý tým a vyjádřit svůj názor a návrhy.

          Když se vybere konkrétní třída, naše oddělení herního designu začne pracovat na detailech. V případě Barda jsme chtěli vytvořit classu, která je trochu složitější a u které je třeba, aby hráč přemýšlel o tom, jak přidělovat atributy. Kromě toho by měl Bard poskytnout hráči určité možnosti volby, jak má být hrán.

          Při vývoji musíme samozřejmě zvážit, jak by nová třída spolupracovala s ostatními již existujícími třídami. K tomu patří určité matematické a teoretické předpoklady, ale nakonec není nad skutečný playtest a zpětnou vazbu od zkušených hráčů.

          Proto využíváme naše beta servery, abychom hráčům poskytli možnost novou třídu otestovat. Z těchto testů získáváme důležitá data, která nám pomáhají vyhodnotit, zda náš teoretický přístup skutečně odpovídá očekávání. Může se velmi dobře stát, že bude třeba provést změny, pokud se ukáže, že nová třída může být příliš silná nebo příliš slabá, nebo pokud některá mechanika nefunguje podle plánu.
          Kromě shromážděných údajů se zabýváme zpětnou vazbou od hráčů, kterou získáváme buď na našich sociálních kanálech, jako je herní fórum a Discord, nebo prostřednictvím průzkumů, abychom zjistili, zda je nová třída přijímána, nebo zda je třeba ji přepracovat, aby odpovídala očekáváním hráčů.

          V určitém okamžiku dojdeme k závěru, že vývoj třídy je dokončen, a rozhodneme se ji přidat do živého herního prostředí. Po jejím zavedení budeme novou třídu dále pozorovat, abychom zjistili, zda splňuje naše očekávání a očekávání hráčů. Obvykle by tomu tak mělo být, ale v případě, že zjistíme nějaké nesrovnalosti, můžeme třídu přepracovat, aby lépe odpovídala hře.

          Comment


            #6
            Producer’s Note #6
            Z data 21.9.2022

            Možná vás zajímá, proč provádíme přepracování/vyvážení tříd. V následující poznámce výrobce bychom rádi poskytli několik informací o tom, proč se třída přepracovává, jaké problémy byly zjištěny a jak se řeší.

            Přepracování druida
            Při pohledu na druida a na to, jak si tato třída v současné době ve hře vede, jsme měli pocit, že je tato třída ve srovnání s ostatními třídami poněkud poddimenzovaná.
            V následujících pasážích rozebereme, které problémy byly zjištěny, a představíme řešení, která po přepracování druida přinesou změnu.​

            Problém: Tři formy druida nejsou dostatečně jedinečné a užitečné.​
            Řešení: Přijali jsme rozhodnutí přepracovat všechny tři formy tak, aby byly rozmanitější ve srovnání s jejich partnerskou třídou.​

            Zde je několik podrobností:
            - Z medvědí masky se stane medvědí forma​. Medvěd bude stále schopen blokovat útoky, ale s menší šancí než válečník. Aby se tento malus kompenzoval, bude se nyní medvěd moci rozčílit a způsobit tím větší poškození, čím větší poškození bylo způsobeno jemu samotnému. Stupnice zásahových bodů a maximální vyhnutí se poškození bude srovnatelné s válečníkem. Tyto změny sníží medvědovu schopnost přežití, ale posílí jeho rozložení poškození, takže koncept medvěda bude lépe odpovídat jeho tématu.
            - Z kočičí masky se stane tygří forma. Tygr bude mít dva různé stavy, bude skrytý ve stínu a bude zuřit. Na začátku každého boje bude tygr skrytý ve stínu, což mu umožní vyhýbat se útokům, ale s menší šancí než průzkumník. Po vyhnutí se útoku se tygr dostane do stavu zuřivosti, čímž ztratí šanci vyhnout se útokům, ale zvýší se šance na udělení kritického poškození. Stupnice zásahových bodů a maximální vyhnutí se poškození bude srovnatelné se zvědem. Díky těmto změnám se tygří forma více přiblíží ostatním formám, protože změny sníží její schopnost přežít, ale zároveň bude spolehlivější, pokud jde o udělování kritického poškození.
            - Z formy bez masky se stane forma orla. Tato forma neměla žádné výhody, ale byla spíše penalizací při používání. Druid nyní získá orlí formu a získá speciální útok. Místo běžného útoku bude moci orel provést střemhlavý útok, který způsobí značné poškození, ale šance na provedení střemhlavého útoku se bude snižovat s každým provedením střemhlavého útoku. Přesto bude stupnice zásahových bodů a maximální vyhnutí se poškození srovnatelné s mágem. Na začátku boje bude šance na provedení úspěšného střemhlavého útoku poměrně vysoká, ale čím častěji byl střemhlavý útok proveden, tím výrazněji se zvýší postih za poškození, stejně jako u běžných útoků. Tato změna je považována za dodatečnou a díky těmto změnám by měl být druid silnější a zajímavější na hraní.​

            Problém:​ Masky, které jsou identifikačním prvkem třídy druida, působí rušivě a většina druidů vypadá stejně, i když samotný avatar postavy byl navržen s láskou.​
            Řešení: Masky již nebudou herním prvkem, ale na obrazovce postavy se zobrazí dráp odpovídající zvolené podobě.

            Problém: Každá forma má své výhody, které tak či onak ovlivňují dovednostní body. V současné době se podle toho informace skrývají v několika tooltipech.
            Řešení: Bude zavedena obrazovka, na které bude možné vybrat formu. Na této obrazovce se zobrazí všechny potřebné informace.​

            Problém: Přístup k maskám druida má omezení na úrovni, což znamená, že výhody této třídy nejsou dostupné hned od začátku.​
            Řešení: Všechny formy budou dostupné hned od začátku.​

            Comment


              #7
              Producer’s Note #7
              Z data 22.9.2022​​

              S velkým zájmem jsme sledovali kontroverzní diskusi o rebalancovaném druidovi. Přitom jsme si všimli, že jsme změny zřejmě přestřelily. Nebylo naším záměrem vás těmito změnami znechutit. No, zdá se, že k takové situaci skutečně došlo a my bychom se za to rádi omluvili.

              Podle Vaší zpětné vazby náš herní design přezkoumal druidova čísla, přehodnotil je a upravil vyvážení. Se zveřejněním této poznámky výrobce budou změny pravděpodobně již nasazeny.

              Mějte prosím na paměti, že čísla byla v herním enginu změněna, ale může ještě nějakou dobu trvat, než se ve hře zobrazí správná čísla jednotlivých forem. Zatímco čísla jsme schopni měnit na pozadí, pro grafické úpravy musíme vytvořit nového klienta.

              Uvědomili jsme si, že by bylo lepší provést veřejný test rebalancovaného druida na beta serveru, jako to bylo provedeno například u barda. Uznáváme, že jsme udělali chybu a v budoucnu do podobných procesů zapojíme komunitu.

              Změny jsou následující:
              - V soubojích proti mágům a bardům nyní druid uděluje pouze 50 % původního poškození.
              - Tygří forma: bonus k poškození při udělení kritického poškození byl snížen na 200 % a šance na úhyb byla snížena na 35 %.
              - Orlí forma: bonus k poškození při útoku střemhlav byl snížen na 400 % a šance na opakování útoku se nyní sníží o 5 % za každý provedený útok střemhlav.

              Mohou nastat situace, kdy chování druida při úhybu nebude fungovat tak, jak bylo zamýšleno. Tento problém bude opraven nejpozději příští týden.

              I přes způsobené nepříjemnosti jdeme dál a přejeme Vám příjemný víkend!​

              Comment

              Working...
              X