Igazságosak a Mini Kraken dobásai? Betekintés a dobómotorba
Előbb-utóbb minden asztalnál felmerül: meg van bundázva ez az egész? Íme egy őszinte, szakzsargon nélküli körkép arról, hogyan választ számot a Mini Kraken – miért igazságos, hogyan ellenőrizheted magad, és mit nem tesz...
Igazságosak a Mini Kraken dobásai? Betekintés a dobómotorba
Előbb-utóbb az asztalnál valaki hangosan is kimondja: "Kizárt, hogy ez véletlen. Ez az izé utál engem." Egy digitális kocka nem tud igazi fán végigcsörögni, így amikor csőstül jön a balszerencse, teljesen természetes, hogy felmerül a kérdés: vajon az alkalmazás nem nyomja-e meg a mérleg egyik serpenyőjét.
Jogos a kérdés. Egyenes választ érdemel, úgyhogy álljon itt rögtön az elején: a Mini Kraken kockái igazságosak. Minden oldalnak egyenlő az esélye, semmit sem tolunk el, és – ami ritkaság – egy dobást ténylegesen le is ellenőrizhetsz magadnak. Ez a cikk közérthető nyelven mutatja be, pontosan hogyan is működik ez, hogy legközelebb, amikor szóba kerül a téma, legyen valami kézzelfoghatóra hivatkoznod.
Mit is jelent pontosan az "igazságos"
Mielőtt a saját motorunkról beszélnénk, érdemes tisztázni, hogy egyáltalán mitől igazságos egy kocka.
Egy igazságos d20 egyetlen dolgot jelent: mind a húsz oldala egyformán valószínű – tiszta 1:20 esély, minden egyes dobásnál. Nem "nagyjából egyenlő". Nem "átlagosan egyenlő, kicsit a ház javára billentve". Pontosan egyenlő. Egy igazságos d6 mindegyik oldalnak 1:6 esélyt ad; egy igazságos d100-nak 1:100-at. Ez a teljes definíció.
Figyeld meg, mit nem ígér az igazságosság. Nem ígéri, hogy mind a húsz szám előjön, ha húszszor dobsz. Nem ígéri, hogy egy rossz sorozat hamarosan "kiegyenlítődik". Nem ígéri, hogy az eredmény egyenletesnek fog érződni. Az igazságosság mindig csak az egyes dobások esélyeiről szóló állítás – és ebből nem engedünk.
A motor a motorháztető alatt
A Mini Kraken nem valami házi kiskaput használ a dobáshoz. Minden dobás – a weboldalon, a karakterlapjaidon, a virtuális asztalon és a Fortuna Discord-boton keresztül – ugyanazon a közös dobómotoron fut, amely egy kiforrott, nyílt forráskódú dobókönyvtárra épül, és évek óta szolgálja az asztali szerepjátékosokat.
Ez két okból is számít. Először is, egy nyílt forráskódú alap azt jelenti, hogy a matek nem valami zárt dobozba rejtett rejtély; olyan kód, amit bárki elolvashat, tesztelhet és darabjaira szedhet. Másodszor pedig azt jelenti, hogy nem találunk fel újra valami kényes dolgot. A véletlenszerűség pontosan az a terület, ahol az ügyeskedő házi megoldások hajlamosak apró torzításokat becsempészni, és a jól bevált könyvtárak épp azért léteznek, hogy erre senkinek se legyen szüksége.
A lényeg az, hogy mit tesz a motor, amikor számra van szüksége.
Hogyan választódik ki egy szám – és miért nincs benne rejtett torzítás
Íme az a rész, amiről a legtöbben soha nem hallanak, pedig valójában ez az "igazságos-e?" kérdés szíve-lelke.
A kockadobás meghamisításának naiv módja az, hogy fogsz egy véletlen értéket, és a maradékos osztással vágod méretre – ez a programozói megfelelője annak, hogy "osztunk, és a maradékot vesszük". Gyors, és majdnem igazságos. Csakhogy van egy híres hibája, amit modulo torzításnak hívnak: mivel a tartomány, amiből indulsz, ritkán osztható maradék nélkül a kocka oldalainak számával, néhány oldal a többinél egészen picivel valószínűbb lesz. Egyetlen d20-nál ez az elhajlás parányi, de valós, és pontosan az a fajta láthatatlan mérlegbillentés, amitől a "bundázás" vádja megtapad.
A mi motorunk elutasítja ezt a kiskaput. Ahelyett, hogy egy kényelmetlen számot erőltetne bele, egy gyakran elutasításos mintavételezésnek (rejection sampling) nevezett technikát alkalmaz. Egyszerűen fogalmazva: ha egy nyers véletlen érték abba a parányi, maradékként megmaradó sávba esik, amely elbillentené az esélyeket, a motor eldobja, és csendben újat húz. Csak azokat az értékeket tartja meg, amelyek tökéletesen egyenletesen képezhetők le a kocka oldalaira. Az eredmény egy teljesen torzításmentes eloszlás – minden oldal a saját, pontos, becsületes valószínűségén landol. Az alkalmankénti újrahúzást soha észre sem veszed; a másodperc töredéke alatt lezajlik. De épp emiatt egy Mini Kraken-d20 annyira egyenletes, amennyire a matematika csak engedi.
Ez az egész válasz technikai gerince. Az "igazságos" itt nem marketingszó; hanem annak a tulajdonsága, ahogyan a szám kiválasztódik.
A 3D-s kockák becsületes színjáték
A Mini Krakent a valódi 3D-s fizikai kockái teszik ismertté, amelyek végiggurulnak a képernyőn, majd megállapodnak – és itt egy józan ember joggal gyanakodhat. Ha egy fizikai szimuláció dönti el, hol áll meg a kocka, nem lehetne-e úgy behangolni az animációt, hogy alacsony számokon álljon meg?
Nem – és ennek az események sorrendje az oka. A motor először választja ki a számot. Az animációnak utána mondjuk meg, hogy azon álljon meg. A guruló kocka, amit nézel, egy olyan eredmény hűséges előadása, amelyről egy pillanattal korábban már döntött – igazságosan – ugyanaz a torzításmentes motor, amit fentebb leírtunk. A fizika a hangulatért van – a kielégítő csörgésért és gurulásért, amit a puszta szöveges eredmények elsimítanak –, nem az eredmény meghatározásáért. Ez látványosság a becsületes matek tetején, és szó szerint képtelen megbillenteni a számot, hiszen a szám már létezik, mielőtt a kocka elindulna.
Egy motor mindenütt – hogy egy dobás ugyanazt jelentse
A bizalom egy finom forrása a következetesség. Egyes platformokon egy dobás az egyik helyen máshogy viselkedik, mint egy másik helyen. A Mini Krakenen egy d20 az d20, akár a karakterlapodon koppintasz rá, akár a virtuális asztalra dobod, akár egy Discord-csatornába gépeled, ahol a Fortuna figyel.
Ez azért van, mert mindezek a felületek ugyanazt a motort hívják. Nincs egy "barátságos" dobó a weboldalhoz és egy másik a Discordhoz. Egy dobás pontosan ugyanazt jelenti az egész ökoszisztémában, ami egyszerre kényelem és garancia: nincs olyan különleges mód, amelyben az esélyek csendben megváltoznának.
Egy dobást ténylegesen le is ellenőrizhetsz
Íme a funkció, amely a "higgy nekünk"-et "nézz utána magad"-dá változtatja.
A motor támogatja a determinisztikus visszajátszást. Egyszerűen fogalmazva: egy dobás egy mag (seed) nevű apró kiindulási értékhez köthető, és ugyanaz a mag mindig pontosan ugyanazt az eredménysorozatot állítja elő. Add meg a motornak kétszer ugyanazt a magot, és minden alkalommal azonos kockákat kapsz. Ez a bundázott rendszer szöges ellentéte: egy bundázott dobónak titkolnia kell, hogyan működik, míg a miénk átadhatja neked a receptet, és bizonyíthatja, hogy ugyanazok a bemenetek mindig ugyanazt, reprodukálható kimenetet adják. A véletlenszerűség, amit vissza tudsz játszani, olyan véletlenszerűség, amit auditálni tudsz.
Amit soha nem teszünk
Az igazságosság éppúgy önmérséklet kérdése, mint technikáé. Úgyhogy egyértelműen, íme, amit a Mini Kraken kockái nem tesznek:
- Nincs "kockakarma". Soha nem tartjuk nyilván, hogy peched volt, hogy aztán titokban egy jó dobással kompenzáljunk – és fordítva sem. Minden dobás független, pontosan úgy, ahogy a valódi kockáknál.
- Nincs rejtett kozmetikázás. Nincs láthatatlan "simítás", amely megnyirbálná a szélsőségeidet, hogy az eredmények kellemesebbnek érződjenek. Egyes eszközök ezt csendben megteszik. Mi nem; egy sorozat az egy sorozat.
- Nincsenek titkos módosítók. Az egyetlen alkalmazott bónusz az, amelyet magában a dobásban látsz – a lapod módosítói, az előny és így tovább. Semmit sem adunk hozzá vagy vonunk ki a sötétben.
- Nincs célzás. A motor nem tudja és nem is érdekli, ki vagy. Nem kedvesebb a Játékmesterhez, és nem kegyetlenebb az új játékoshoz. Fogalma sincs, hogy egyáltalán mi az a "játékos".
A kockák közömbösek. Épp ez a közömbösség a lényeg.
"De az én dobásaim akkor is furák"
Lehet, hogy tényleg annak érződnek – és ez az érzés valós akkor is, amikor a kockák tökéletesek. A valódi véletlenszerűség göröngyös: sokkal gyakrabban termel sorozatokat, csomósodásokat és kegyetlen időzítést, mint amire a megérzésünk számít, az emlékezetünk pedig a katasztrófákba kapaszkodik, miközben csendben elhajítja a felejthető, átlagos dobásokat. Egy igazságos d20 néha simán a kezedbe nyom három 1-est egymás után; ez nem a torzítás bizonyítéka, hanem annak, hogy a véletlenszerűség épp a dolgát végzi.
Az "igazságos" és az "igazságosnak érződik" közötti szakadék elég nagy ahhoz, hogy külön cikket érdemeljen – lásd a Miért érződnek bundázottnak az igazságos kockák írást a pechsorozatok mögötti pszichológiáról. És ha empirikusan is ki szeretnéd elégíteni a benned lakó szkeptikust, a becsületes teszt a mennyiség: dobj egy d20-szal néhány százszor, és nézd, ahogy a szórás egyenletessé lapul. Egy tucatnyi dobás mindig göröngyösnek fog tűnni; ezer viszont elárulja az igazságot.
Dobj magabiztosan
Szóval igazságos a Mini Kraken? Igen – tervezésből, nem ígéretből. Minden oldal egyformán valószínű, az egyes számok mögötti matek tizedesig torzításmentes, a 3D-s animáció csak egy már becsületesen kiválasztott eredményt ad elő, ugyanaz a motor fut mindenütt, egy dobás pedig reprodukálható és ellenőrizhető, nem pedig vakhitre bízandó.
A kockák nem szeretnek és nem is utálnak. Egyszerűen csak gurulnak. A Mini Krakenen pedig egyenesen gurulnak – így abbahagyhatod a gépezet feletti tűnődést, és visszatérhetsz a történethez, ott, ahol a jó dolgok igazából történnek.