Jak fungují techniky NarutoLARPu

Techniky a jejich infrastruktura jsou veřejně viditelné v repozitáři gitlab.com/narutolarp/database-public. Níže vysvětlím jak tento repozitář funguje.

Jak techniky vidí hráči

Začneme od konce, a to jak a kde jsou techniky zobrazeny. Máme 3 způsoby zobrazení:

A máme 3 místa kde je možné techniky vidět:

První (hlavní) místo je samotný web narutolarp.cz, kam putují jen vybrané verze technik (každá verze zde má své číslo, např 10.6 je verze na které se hrál ročník 2023). Současná oficiální verze technik je vždy k prokliknutí na stránce Informace narutolarp.cz/rules.php#rules_3.
Např pro verzi 10.6 tyto odkazy vypadají takto:

Druhé místo je testovací web narutolarp.gitlab.io (na ročníku 2023 byl používaný jako hlavní protože jsem nestíhal :D). Tam se po schválení náhrává každá změna která se v repozitáři provede, takže může obsahovat i rozpracované změny. Tento web je určen spíše pro vývoj/testování/feedback, běžného hráče toto místo zajímat nemusí.
Nemá verze ani historii, zobrazuje vždy nejnovější změny (u verze je napsané datum poslední změny).

Třetí místo je u každého na jeho vlastním počítači. Tedy repozitář si kažný může stáhnout (nebo naklonovat), udělat změny, a rovnou si je prohlédnout. Viz další kapitola Jak s technikami pracovat - protože zkontrolovat si své změny je nezbytnou částí každé větší změny (ale na opravu překlepů nebo balancing čísel to samozřejmě nutné není).

Jak s technikami pracovat

V první řadě je nutné mít účet na gitlab.com. Je to mezi programátory široce používaný nástroj, je zdarma, a jde se přihlásit o pomocí jiných účtů. Při registraci jen pozor na klasické "chci dostávat novinky mailem"

Nejjednoduší způsob jak udělat změnu je přes webové rozhraní gitlabu. To je vhodné na menší změny, opravy textů, drobné balancování (změny čísel), etc.
Udělal jsem pár screenshotů: Jak editovat přes webové rozhraní (krok za krokem).

Ale pro větší změny je lepší si repozitíř stáhnout na svůj PC, a pracovat tzv lokálně.

Co je potřeba k lokální práci s technikama:

Definice technik (XML)

Začátkem všeho je definice technik. Tedy jak se techniky zapisují, a jak jsou uložené. Oprostíme se zcela od pomocných textů, nápověd a formátování, a zaměříme se pouze na to, co technika skutečně je: tedy kolik dává zranění, kolik stojí chakry, jak se sesílá, jak se jmenuje, apod.
Techniky jsou uložené ve složce /public/data a jsou zapsané v jazyku XML, rozdělené do několika souborů.

Soubor definice.xml

První je soubor definice.xml, který obsahuje definice důležitých pojmů. Zde je pro nás hlavní atribut id který budeme potřebovat při definici technik samotných.

Definice zásahu rukou
<zásah id="ruka">
    <jméno>Rukou</jméno>
    <popisek>Zásah bezezbraně. Předloktí musí být oděno
        měkčeným chráničem a zásah nesmí býtveden zatnutou
        pěstí.</popisek>
</zásah>
Definice skrytí
<klíčové-slovo id="skrytí">
    <jméno>Skrytí</jméno>
    <popisek>úroveň skrytí je znázorněna zdviženou rukou s příslušným počtem zvednutých
        prstů nebo nasazenou barevnou stuhou (1 = zelená, 2 = žlutá, 3 = červená).
        Technika a efekt skrytí končí když skrytá postava obdrží nebo udělí platný zásah,
        nebo se dotkne herního předmětu který již nemá u sebe.</popisek>
</klíčové-slovo>

Soubor specialni-schopnosti.xml

Druhý je soubor specialni-schopnosti.xml, který definuje všechny speciální schopnosti ve hře, a do kterých vesnic patří. Opět má každá speciální schopnost svoje id, na které se budeme později odkazovat (id="opila-pest")

Definice speciální schopnosti Opilá pěst
<quirk-mechanicky value="2" id="opila-pest" není-ve-hře="true">
    <name>Opilá pěst</name>
    <playstyle> několik technik, primárně boj beze zbraně </playstyle>
    <village ref="valley">
        <flavour>Toto je styl taijutsu, který je možný pouze tehdy, když je
            uživatel pod vlivem ...</flavour>
    </village>
</quirk-mechanicky>
Zobrazení speciální schopnosti Opilá pěst
Screnshot techniky Potácení

Soubory strom-*.xml

A nakonec je zde jeden soubor pro každý strom. V těchto souborech jsou definovány samotné techniky. Například soubor strom-Taijutsu.xml, který definuje strom Taijutsu, neboli Boj beze zbraně. Každý strom má taky své id, ale navíc ma definice všech technik, a to jak speciálních, tak veřejných.
Níže vidíme srovnání definice a zobrazení u jedné konkrétní techniky. Všimněme si následujících míst:

Definice techniky Potácení
<technika id="technika-potaceni">
    <jméno>Potácení</jméno>
    <úroveň>5</úroveň>
    <typ-efektu ref="posílení" />
    <cena ref="život">1</cena>
    <speciální-schopnost ref="opila-pest" />
    <flavour />
    <pasivní>
        <atribut ref="max-život">1</atribut>
    </pasivní>
    <obranná>
        <zásah ref="ruka" />
        <zásah ref="zbraň-nablízko" />
        <zásah ref="zbraň-nadálku" />
        <zásah ref="koule" />
        <heslo ref="úhyb" />
    </obranná>
</technika>
Zobrazení techniky Potácení
Screnshot techniky Potácení

XML Schema (XSD)

Každý XML soubor má své schéma, tedy soubor který určuje co v něm může být a co ne. Schémata jsou ve složce /public/data/schemas. Při změně schématu je typicky potřeba změnit i dotčené XML soubor/y, a změnit i zobrazovací logiku, aby byla schopná přijmat nové schéma (složka /skilltree).

Zobrazení technik (Elm)

To jak se techniky zobrazují je definováné ve složce /skilltree.

Plány do budoucna

Kompletně strukturuovat techniky (textové části přenést do struktury).

Provádět analýzu nad technikami.

Zlepšit tento článek.

Motivace pro zvolené technologie