Ztratili jste kostky od deskové hry, nebo potřebujete d20 uprostřed herního sezení? Tento bezplatný online generátor nahradí jakoukoli kostku, kterou zrovna nemáte po ruce. Nastavte, kolik kostek chcete hodit, v poli „Kostky“ — od 1 do 20 — nastavte počet stran pro každou z nich v poli „Strany“ a stiskněte „Generovat“. Stránka se otevírá se dvěma běžnými šestistěnnými kostkami, takže první hod je vzdálený jen jedno kliknutí. Každá kostka se zobrazuje samostatně a celkový součet hodu se objeví pod nimi, takže u 3d6 nemusíte nic počítat z hlavy.
Každý hod vytváří váš prohlížeč prostřednictvím Web Crypto API (crypto.getRandomValues), které poskytuje kryptograficky silné náhodné hodnoty z vlastního zdroje entropie vašeho systému, nikoliv prostřednictvím pseudonáhodné funkce JavaScript jako je Math.random(). Převod surové 32bitové hodnoty na číslo strany je místo, kde generátory kostek nepozorovaně chybují: vzít hodnotu modulo počet stran je ten nejviditelnější přístup, ale je zkreslený, protože pokud počet stran nedělí 2^32 beze zbytku, padají nejnižší strany o něco častěji než ostatní. Tento nedostatek se nazývá modulo zkreslení (modulo bias) a je měřitelný, nikoliv pouze teoretický. Tento nástroj naproti tomu zahodí každou hodnotu, která přesahuje největší přesný násobek počtu stran, a táhne číslo znovu — tato technika se nazývá zamítací vzorkování (rejection sampling). Stojí to několik tahů navíc, ale získáte tím exaktní záruku namísto přibližné. Na server se nic neodesílá, nic se nezaznamenává a jakmile se stránka načte, vaše hody budou fungovat i v případě výpadku připojení.
Dvě pole odvádějí veškerou práci a přímo odpovídají notaci kostek, kterou hry již využívají. „Kostky“ udává, kolika kostkami házíte najednou, od 1 do 20. „Strany“ je počet stran každé z nich, od 2 do 1000 — dost na hod mincí d2, kompletní RPG sadu d4, d6, d8, d10, d12 a d20, procentuální d100 i na cokoliv, co si hra vymyslí nad jejich rámec. Cokoli zapsané jako NdM jsou právě tato dvě pole: 2d6 znamená „Kostky“ 2 a „Strany“ 6, jedna d20 znamená „Kostky“ 1 a „Strany“ 20. Házíte 3d6 na vlastnost postavy? Nastavte „Kostky“ na 3, „Strany“ na 6, stiskněte „Generovat“ a tři strany se objeví společně se svým součtem. Dva přepínače mění to, jak výsledek vypadá, nikoli to, čím je. Volba „Animované 3D kostky“, která je ve výchozím nastavení zapnutá, nechá každou kostku před zastavením rotovat — vypněte ji a čísla se objeví okamžitě jako prostý seznam. Nastavení „Náhodná barva“ přidělí každé kostce její vlastní barvu namísto standardní červené, a funguje pouze tehdy, když jsou zapnuté „Animované 3D kostky“, protože v prostém seznamu čísel není co obarvovat. Tečky se vykreslují pouze u šestistěnné kostky; každý jiný typ jednoduše ukazuje hozené číslo na příslušné straně, protože pro sedmnáctistěnnou kostku žádný vzor teček neexistuje.
Pod výsledkem se nachází řádek, který vám šetří počítání: Σ představuje součet všech kostek v hodu, vedle doby trvání generování a poznámky, že hod proběhl lokálně. Tlačítko „Kopírovat vše“ vloží výsledek do schránky a „Uložit do souboru“ jej zapíše do textového dokumentu — obě funkce poskytují jednotlivé strany, jednu na řádek, nikoli součet, takže záznam o tom, co padlo, zůstává skutečným záznamem padlých stran. „Historie“ uchovává 10 vašich posledních hodů přímo ve vašem prohlížeči: kliknutím na libovolný z nich jej vrátíte na obrazovku i se součtem, můžete zkopírovat či odstranit jednotlivý záznam, nebo celý seznam vymazat, kdykoli budete chtít. Tlačítko „Vymazat“ vyprázdní pole s výsledky, aniž by změnilo vaše nastavení.
Jsou virtuální kostky lepší než ty skutečné? Co se týče spravedlnosti, ano, a důvod tkví ve fyzice. Běžná odlévaná kostka má své tečky vyvrtané a nabarvené, přičemž vrtáním se odebírá materiál, takže strana s šestkou — se šesti prohlubněmi — nakonec bývá nepatrně nejlehčí a protější strana nepatrně nejtěžší. Přesně z tohoto důvodu existují kasinové precision dice (přesné kostky): jejich tečky jsou vyplněny do roviny materiálem o stejné hustotě, hrany jsou seříznuté do pravého úhlu, nikoliv zaoblené, jsou opracovány s přesností na zlomky milimetru, a přesto jsou po několika hodinách hraní vyřazeny. Kostky v krabici od deskové hry nemají ani jednu z těchto vlastností a časem se jen zhoršují: odštípnutý roh, hrana obroušená léty třepání, kostka hozená na přikrývku místo na stůl ve skutečnosti nezajišťují náhodnost vůbec. Virtuální kostka nemá žádnou geometrii, která by se mohla pokazit, neopotřebovává se a neexistuje u ní žádná technika hodu, o kterou by se dalo hádat, a při desetitisícím hodu se chová naprosto stejně jako při prvním. Co ale nedokáže, je ležet vám v dlani. Upřímné shrnutí zní, že tento generátor vítězí ve spravedlnosti, ale prohrává v atmosféře.
Spravedlivá kostka není totéž co spravedlivý součet. Každá strana jedné kostky má stejnou pravděpodobnost, ale jakmile kostky sečtete, součty přestanou být rovnocenné, a to lidi neustále překvapuje. Dvě šestistěnné kostky mohou padnout v 36 stejně pravděpodobných kombinacích; šest z nich dává součet 7, zatímco přesně jedna dává 2 a jedna dává 12 — sedmička tedy na dokonale spravedlivých kostkách padá šestkrát častěji než dvanáctka. Přidání třetí kostky toto rozložení ještě více zužuje, a proto se hody 3d6 shlukují kolem středu a designéři po nich sahají ve chvíli, kdy má být hodnota častěji běžná než extrémní. Jedna šestistěnná kostka dává v průměru 3,5, takže 2d6 dává v průměru 7 a 3d6 průměrně 10,5, a tato aritmetika bývá u stolu obvykle užitečnější než jakákoli jednotlivá pravděpodobnost. Nic z toho není zkreslení: je to prostě to, co dělá sčítání kostek, a to je důvod, proč hra vyžaduje hod 2d6 místo d12, když obě pokrývají stejný rozsah.
Kostky nemají paměť. Čtyři šestky za sebou nečiní pátou šestku méně pravděpodobnou, kostka, na které celý večer nepadla jednička, na ni proto nemá nárok, a žádná strana nikdy není „na řadě“ — každý hod je nezávislý na všech předchozích a kostky nemohou vědět, co udělaly před minutou. Instinkt, který tvrdí opak, je omyl hazardního hráče (gambler's fallacy), a stejný instinkt způsobuje, že jsme špatní ve vymýšlení hodů kostkou: když jsme požádáni o sepsání věrohodné série hodů, vyhýbáme se opakováním, střídáme vysoká a nízká čísla a rozdělujeme je mnohem rovnoměrněji, než jak to kdy dělá náhoda. Skutečná náhodnost naopak vytváří shluky, dlouhé série stejných čísel a dlouhé mezery. Posloupnost, která vypadá podezřele upraveně, je otiskem člověka.
Proč zvolit tento generátor pro házení kostkou?
- Hody probíhají pouze v prohlížeči: kostky se hází na vašem zařízení a nikam se neodesílají
- Náhodnost přes Web Crypto API: kryptograficky bezpečné, nejedná se o Math.random()
- Žádný modulo bias: algoritmus rejection sampling udržuje stejnou pravděpodobnost pro každou stranu
- Jakákoli kostka, kterou hra vyžaduje: od 1 do 20 kostek najednou, od d2 až po d1000
- Celkový součet se počítá za vás: Σ sečte celý hod, takže 3d6 nevyžaduje žádné počítání z hlavy
- Animované 3D kostky, s možností animaci vypnout pro okamžitý prostý seznam
- Vlastní barva pro každou kostku, takže lze několik kostek snadno na první pohled odlišit
- „Historie“ a „Uložit do souboru“: uchovávejte si záznam o hodech, které možná budete muset obhájit
- Neomezeně a zdarma: bez registrace, bez limitů použití, na našich serverech se nic neukládá
Kostky se objevují všude tam, kde hra potřebuje číslo, které nikdo nezvolil. Hráči stolních RPG hází na útok s d20, hází 3d6 na vlastnosti a d100 na procentuální ověření, a sezení, které ztratilo polovinu svého pytlíku s kostkami, pokračuje navzdory tomu. Člověče, nezlob se u kuchyňského stolu a deskové hry na chatě fungují úplně stejně, když se kostky někam zakutálejí — stačí nastavit „Strany“ na 6, „Kostky“ na 2 a hrát dál. Skupiny hrající na dálku si hází na sdílené obrazovce, aby všichni viděli padat ty samé strany. V 5. třídě se v hodině matematiky provádí klasický pokus: hoďte 2d6 šedesátkrát, sečtěte výsledky a nechte rozložení objevit se na tabuli. Herní designéři si ověřují, zda je mechanika tak nevyzpytatelná, jak se zdá, než půjde cokoli do tisku. A spousta hodů nerozhoduje o ničem víc než o tom, kdo hraje první, kdo kupuje kávu nebo který ze dvou plánů vyhraje — to jsou ta samá rozhodnutí naslepo, která lidé pomocí kostek činí už několik tisíc let.
Tento generátor má několik upřímných omezení, která stojí za to znát. Jeden hod používá jeden typ kostky: hodnota v poli „Strany“ se aplikuje na každou kostku v hodu, takže d20 a d6 dohromady vyžadují dva hody místo jednoho. Nejsou zde žádné modifikátory, žádné hody s výhodou nebo nevýhodou, žádné vybuchující kostky a žádné pole pro zápis notace — dostanete strany a jejich součet, a jakákoli pravidla nad tento rámec musíte přidat sami. Symbol Σ počítá každou kostku v hodu, zatímco funkce „Kopírovat vše“ a „Uložit do souboru“ zaznamenávají jednotlivé strany, nikoli součet. Animace je vždy šestistěnná krychle, ať už je počet stran jakýkoli, protože jde o dekoraci: strana, na které se zastaví, je hodem, který herní engine již provedl. Hody probíhají lokálně na vašem zařízení, takže při hře na dálku hází jeden člověk a sdílí obrazovku — tento generátor produkuje hod, který můžete vysvětlit, ne hod, který může třetí strana certifikovat. A kryptograficky spravedlivá kostka je stále jen spravedlivá kostka: nemá žádnou spojitost s loteriemi nebo losováním v kasinu a nikomu nedává výhodu. Uvnitř těchto mantinelů je záruka pevná — každá strana každé kostky má přesně stejnou šanci při každém jednotlivém hodu.