Ste izgubili kocke iz družabne igre ali potrebujete d20 sredi igre vlog? To brezplačno spletno orodje za metanje kock nadomesti vsako kocko, ki je nimate pri roki. V polje „Kocke“ vpišite, koliko kock želite vreči — poljubno število od 1 do 20 — v polje „Strani“ pa, koliko strani ima vsaka od njih, in pritisnite „Generiraj“. Stran se odpre z dvema navadnima šeststranskima kockama, zato je prvi met en sam klik stran. Vsaka kocka je prikazana posebej, skupna vsota meta pa se izpiše pod njimi, tako da 3d6 ne zahteva računanja na pamet.
Vsak met opravi vaš brskalnik prek Web Crypto API (crypto.getRandomValues), ki zagotavlja kriptografsko močne naključne vrednosti iz sistemskega vira naključnosti, in ne prek psevdonaključne funkcije JavaScript, kot je Math.random(). Pretvorba surove 32-bitne vrednosti v številko strani je mesto, kjer spletne kocke tiho zgrešijo: jemanje ostanka te vrednosti pri deljenju s številom strani je najbolj očiten in hkrati pristranski pristop, kajti če število strani ne deli 2^32 brez ostanka, najnižje strani padejo nekoliko pogosteje od preostalih. Ta napaka se imenuje modulo bias in je merljiva, ne le teoretična. To orodje namesto tega zavrže vsako vrednost nad največjim točnim večkratnikom števila strani in ponovno izžreba — tehnika se imenuje rejection sampling. To stane nekaj dodatnih žrebov, prinese pa točno jamstvo namesto približnega. Na strežnik se ne pošlje nič, nič se ne beleži, in ko se stran enkrat naloži, vaši meti delujejo naprej tudi ob prekinjeni povezavi.
Vse delo opravita dve polji, ki se natančno ujemata z zapisom kock, ki ga igre že uporabljajo. Polje „Kocke“ pove, koliko kock vržete naenkrat, od 1 do 20. Polje „Strani“ pove, koliko strani ima vsaka od njih, od 2 do 1000 — dovolj za met kovanca d2, celoten komplet za igre vlog d4, d6, d8, d10, d12 in d20, odstotno d100 in vse, kar si igra izmisli čez to. Karkoli je zapisano kot NdM, sta prav ti dve polji: 2d6 pomeni „Kocke“ 2 in „Strani“ 6, posamezna d20 pa „Kocke“ 1 in „Strani“ 20. Mečete 3d6 za lastnost lika? Nastavite „Kocke“ na 3, „Strani“ na 6, pritisnite „Generiraj“ in vse tri strani prispejo skupaj s svojo vsoto. Dve stikali spreminjata videz rezultata, ne pa tega, kar rezultat je. „Animirane 3D kocke“, privzeto vklopljene, pokažejo, kako se kocka prevrača po zraku, preden obstane — izklopite jih in številke se takoj izpišejo kot preprost seznam. „Naključna barva“ da vsaki kocki svojo barvo namesto običajne rdeče in se pokaže samo, dokler so „Animirane 3D kocke“ vklopljene, saj preprost seznam nima kock, ki bi jih pobarval. Pike so narisane samo pri šeststranski kocki; vsaka druga vrsta pokaže vrženo številko naravnost na strani, saj za sedemnajststransko kocko ustaljenega vzorca pik ni.
Pod rezultatom je vrstica, ki vam prihrani računanje: Σ je vsota vseh kock v metu, ob njej pa piše, koliko časa je met trajal, in opomba, da je nastal lokalno. „Kopiraj vse“ postavi rezultat na odložišče, „Shrani v datoteko“ pa ga zapiše v besedilno datoteko — oboje vam da posamezne strani, po eno v vrstici, in ne vsote, tako da zapis o tem, kaj je padlo, ostane zapis o tem, kaj je padlo. „Zgodovina“ hrani vaših zadnjih 10 metov kar v vašem brskalniku: kliknite enega, da ga skupaj z vsoto vrnete na zaslon, kopirajte ali izbrišite posamezen vnos ali kadar koli izpraznite ves seznam. „Počisti“ sprazni polje z rezultatom, vaše nastavitve pa pusti pri miru.
So virtualne kocke boljše od pravih? Glede poštenosti da, razlog pa je fizikalen. Navadna vlita kocka ima pike izvrtane in pobarvane, vsaka izvrtana pika pa odvzame material, zato je stran s šestico — s šestimi vdolbinami — na koncu čisto malenkost najlažja, nasprotna stran pa čisto malenkost najtežja. Precision dice iz igralnic obstajajo prav zaradi tega: njihove pike so zapolnjene v ravnino z materialom enake gostote, robovi so odrezani pod pravim kotom in ne zaobljeni, izdelane so na delček milimetra natančno, pa jih kljub temu po nekaj urah igre umaknejo iz uporabe. Kocke iz škatle družabne igre nimajo nobene od teh lastnosti in se s časom le slabšajo — odkrušen vogal, rob, zaobljen od let stresanja v dlani, kocka, ki pade na odejo, namesto da bi se kotalila po mizi, v resnici sploh ni naključen. Virtualna kocka nima geometrije, ki bi bila lahko napačna, se ne obrablja in ne pušča prostora za prepire o tehniki metanja, pri desettisočem metu pa se vede enako kot pri prvem. Česar ne zmore, je ležati v vaši dlani. Poštena ocena je, da to orodje zmaga pri poštenosti in izgubi pri obredu.
Poštena kocka ni isto kot poštena vsota. Vsaka stran ene kocke je enako verjetna, a v trenutku, ko kocke seštejete, vsote nehajo biti enako verjetne, in to ljudi nenehno preseneti. Dve šeststranski kocki padeta v 36 enako verjetnih kombinacij; šest jih da vsoto 7, natanko ena da 2 in natanko ena 12 — torej se 7 pojavi šestkrat pogosteje kot 12, in to pri popolnoma poštenih kockah. Dodana tretja kocka vzorec še zoži, zato se 3d6 zgošča okoli sredine in zato oblikovalci iger posežejo po njem, kadar naj bo vrednost pogosteje običajna kot skrajna. Ena šeststranska kocka ima povprečje natanko 3,5, zato ima 2d6 povprečje 7 in 3d6 povprečje 10,5, ta računica pa je za mizo navadno bolj uporabna od katere koli posamezne verjetnosti. Nič od tega ni pristranskost: to je preprosto tisto, kar naredi seštevanje kock, in prav zato igra zahteva 2d6 namesto ene same d12, kadar obe pokrivata isti razpon.
Kocke nimajo spomina. Štiri šestice zapored ne naredijo pete šestice nič manj verjetne, kocka, ki cel večer ni pokazala enke, si je s tem ni prislužila, in nobena stran nikoli ne postane „pričakovana“ — vsak met je neodvisen od vseh metov pred njim, kocke pa ne morejo vedeti, kaj so počele pred minuto. Nagon, ki trdi nasprotno, se imenuje zmota igralca na srečo (gambler's fallacy), in to je isti nagon, zaradi katerega smo slabi v izmišljanju metov: ko nas prosijo, naj zapišemo verjeten niz metov, se izogibamo ponovitvam, menjavamo visoke in nizke številke ter jih razporedimo veliko bolj enakomerno, kot to kdaj koli stori naključje. Pristno naključje namesto tega ustvarja gruče, dolge nize in dolge premore. Zaporedje, ki je videti sumljivo urejeno, je prstni odtis človeka.
Zakaj izbrati to orodje za metanje kock?
- Metanje samo v brskalniku: kocke padejo na vaši napravi in se nikamor ne pošljejo
- Naključnost prek Web Crypto API: kriptografsko varna, ne Math.random()
- Brez modulo bias: rejection sampling ohranja vsako stran enako verjetno
- Katera koli kocka, ki jo igra zahteva: od 1 do 20 kock naenkrat, od d2 do d1000
- Vsota preračunana namesto vas: Σ sešteje ves met, zato 3d6 ne zahteva računanja
- Animirane 3D kocke ali izklopljena animacija za takojšen preprost seznam
- Ena barva na kocko, da več kock med seboj ločite na prvi pogled
- „Zgodovina“ in „Shrani v datoteko“: shranite zapis o metu, ki ga boste morda morali utemeljiti
- Neomejeno in brezplačno: brez registracije, brez omejitev uporabe, nič na naših strežnikih
Kocke se pojavijo povsod, kjer igra potrebuje število, ki ga ni izbral nihče. Igralci namiznih iger vlog vržejo napad z d20, mečejo 3d6 za lastnost in d100 za odstotno preverjanje, družba, ki je izgubila polovico vrečke s kockami, pa igra kljub temu naprej. Družabne igre na kuhinjski mizi in na vikendu delujejo enako, ko kock zmanjka — nastavite „Strani“ na 6, „Kocke“ na 2 in igrajte naprej. Skupine, ki igrajo na daljavo, mečejo na deljenem zaslonu, da vsi vidijo padati iste strani. V petem razredu učitelji izpeljejo klasično uro verjetnosti: vrzite 2d6 60-krat, seštejte vsote in pustite, da se oblika sama nariše na tablo. Oblikovalci iger pred oddajo v tisk preverijo, ali mehanika res daje tako razpršene izide, kot se zdi. Veliko metov pa odloči le to, kdo začne, kdo plača kavo ali kateri od dveh načrtov zmaga — odločitve, prepuščene naključju, kakršne ljudje s kockami sprejemajo že nekaj tisoč let.
To orodje ima nekaj odkritih omejitev, ki jih velja poznati. En met uporabi eno samo vrsto kocke: vrednost v polju „Strani“ velja za vsako kocko v njem, zato d20 in d6 skupaj zahtevata dva ločena meta namesto enega. Ni modifikatorjev, ni prednosti (advantage) ali slabosti (disadvantage), ni eksplodirajočih kock in ni polja za vnos zapisa — dobite strani in njihovo vsoto, vsako pravilo vrh tega pa je vaše. Σ sešteje vsako kocko v metu, medtem ko „Kopiraj vse“ in „Shrani v datoteko“ zapišeta posamezne strani namesto vsote. Animacija je vedno šeststranska kocka ne glede na število strani, saj je okras: stran, na kateri obstane, je met, ki ga je pogon že opravil. Meti so lokalni na vaši napravi, zato pri igri na daljavo ena oseba meče in deli zaslon — to orodje ustvari met, ki ga znate pojasniti, ne meta, ki bi ga lahko potrdila tretja oseba. Kriptografsko poštena kocka pa je še vedno le poštena kocka: nima nobene zveze z loterijo ali žrebom v igralnici in nikomur ne daje prednosti. Znotraj teh meja je jamstvo trdno — vsaka stran vsake kocke ima natanko enako možnost, pri prav vsakem metu.