Noppakone

Heitä jopa 20 virtuaalinoppaa haluamallasi sivumäärällä, d2-kolikonheitosta d1000-noppaan. Jokainen heitto tapahtuu selaimessasi kryptografisesti turvallisella satunnaisuudella, ja summa lasketaan puolestasi.

Paina Generoi
Lisäasetukset

Hävisivätkö lautapelin nopat, tai puuttuuko d20 kesken roolipelisession? Tämä ilmainen noppakone korvaa kaikki nopat, joita sinulla ei ole juuri nyt käsillä. Aseta heitettävien noppien määrä kohtaan ”Nopat” — mitä tahansa 1 ja 20 väliltä — aseta jokaisen nopan tahkojen määrä kohtaan ”Sivut” ja paina ”Generoi”. Sivu aukeaa oletuksena kahdella tavallisella kuusisivuisella nopalla, joten ensimmäinen heitto on vain yhden painalluksen päässä. Jokainen noppa näytetään erikseen ja heiton summa ilmestyy niiden alle, joten 3d6 ei vaadi päässälaskua.

Jokainen heitto tapahtuu suoraan selaimessasi Web Crypto API -rajapinnan (crypto.getRandomValues) kautta. Se tuottaa kryptografisesti vahvoja satunnaislukuja järjestelmäsi omasta satunnaisuuden lähteestä, toisin kuin JavaScript-kielen näennäissatunnainen funktio kuten Math.random(). Raakadatana saadun 32-bittisen luvun muuttaminen nopan silmäluvuksi on juuri se kohta, jossa noppatyökalut menevät huomaamatta pieleen: arvon ottaminen modulo tahkojen määrä on ilmeinen tapa, mutta samalla vääristynyt. Ellei tahkojen määrä jaa lukua 2^32 tasan, pienimmät silmäluvut esiintyvät hieman useammin kuin muut. Tätä virhettä kutsutaan modulo-vääristymäksi (modulo bias), ja se on mitattavissa eikä vain teoreettinen. Tämä työkalu hylkää sen sijaan jokaisen arvon, joka ylittää tahkojen määrän suurimman tarkan kerrannaisen, ja arpoo uuden luvun — tekniikkaa kutsutaan hylkäysotannaksi (rejection sampling). Se vaatii muutaman ylimääräisen arvonnan, mutta tarjoaa tarkan takuun likimääräisen sijaan. Mitään ei lähetetä palvelimelle eikä mitään lokiteta, ja kun sivu on latautunut, heitot toimivat vaikka verkkoyhteys katkeaisi.

Kaksi kenttää tekevät kaiken työn, ja ne vastaavat suoraan pelien jo käyttämää noppanotaatiota. ”Nopat” on kerralla heitettävien noppien määrä, 1–20. ”Sivut” on jokaisen nopan tahkojen määrä, 2–1000 — riittävästi d2-kolikonheittoon, koko roolipelisettiin (d4, d6, d8, d10, d12 ja d20), prosenttinoppaan d100 ja mihin tahansa, mitä pelit keksivät näiden yli. Kaikki muodossa NdM kirjoitettu vastaa näitä kahta kenttää: 2d6 tarkoittaa ”Nopat” 2 ja ”Sivut” 6, yksittäinen d20 on ”Nopat” 1 ja ”Sivut” 20. Heitätkö 3d6 hahmon ominaisuudelle? Aseta ”Nopat” arvoon 3, ”Sivut” arvoon 6, paina ”Generoi”, ja kolme silmälukua ilmestyvät yhdessä niiden summan kanssa. Kaksi kytkintä muuttavat tuloksen ulkonäköä, eivät itse tulosta. ”Animoidut 3D-nopat”, joka on oletuksena päällä, pyörittää kuutiota jokaiselle nopalle ennen sen pysähtymistä — jos kytket sen pois päältä, luvut ilmestyvät välittömästi pelkkänä luettelona. ”Satunnainen väri” antaa jokaiselle nopalle oman värinsä vakiona olevan punaisen sijaan, ja se näkyy vain silloin, kun ”Animoidut 3D-nopat” on päällä, koska pelkässä luettelossa ei ole väritettäviä noppia. Pisteet piirretään vain kuusisivuiselle nopalle; kaikissa muissa arvottu luku näkyy suoraan tahkolla, sillä seitsentoistaiselle nopalle ei ole olemassa pistekuviota.

Tuloksen alla on rivi, joka säästää laskemisen vaivan: Σ on heiton kaikkien noppien summa. Sen vieressä on heiton kesto ja huomautus siitä, että tulos on tuotettu paikallisesti. ”Kopioi kaikki” siirtää tuloksen leikepöydälle ja ”Tallenna tiedostoon” kirjoittaa sen tekstitiedostoon — molemmat antavat yksittäiset silmäluvut rivi kerrallaan summan sijaan, jotta loki heitetyistä nopista pysyy lokina heitetyistä nopista. ”Historia” säilyttää 10 viimeisintä heittoasi omassa selaimessasi: napsauttamalla yhtä saat sen takaisin näytölle summan kera, voit kopioida tai poistaa yksittäisen merkinnän, tai tyhjentää koko listan milloin haluat. ”Tyhjennä” tyhjentää tuloslaatikon koskematta asetuksiisi.

Ovatko virtuaalinopat parempia kuin oikeat? Reiluuden suhteen kyllä, ja syy on fysiikassa. Tavallisen valetun nopan pisteet on porattu ja maalattu, ja jokainen poraus poistaa materiaalia, joten kuutospuoli — jossa on kuusi kuoppaa — jää hieman kevyimmäksi ja vastakkainen puoli hieman painavimmaksi. Kasinoiden precision dice -nopat (tarkkuusnopat) ovat olemassa juuri tästä syystä: niiden pisteet on täytetty tasapintaan samantiheyksisellä materiaalilla, niiden reunat on leikattu teräviksi pyöristämisen sijaan, ne on koneistettu millimetrin murto-osan tarkkuudella, ja silti ne poistetaan käytöstä muutaman tunnin pelin jälkeen. Pelilaatikon nopat eivät ole mitään näistä, ja ne huononevat ajan myötä — lohjennut kulma, vuosien ravistelun pyöristämä reuna, tai peitolle eikä pöydälle pudotettu noppa, joka ei oikeastaan edes sekoitu. Virtuaalinopassa ei ole geometriaa joka voisi olla pielessä, ei kulumista eikä heittotekniikkaa josta voisi kiistellä, ja se käyttäytyy kymmenennellä tuhannella heitolla täsmälleen samalla tavalla kuin ensimmäisellä. Se mitä se ei osaa, on levätä kädessäsi. Rehellinen yhteenveto on, että tämä noppakone voittaa reiluudessa mutta häviää tunnelmassa.

Reilu noppa ei ole sama asia kuin reilu summa. Yhden nopan jokainen tahko on yhtä todennäköinen, mutta heti kun lasket noppia yhteen, summista tulee erisuuruisia, ja tämä yllättää ihmiset jatkuvasti. Kaksi kuusisivuista noppaa voi asettua tasan 36 yhtä todennäköiseen yhdistelmään; kuusi niistä muodostaa summan 7, kun taas tasan yksi muodostaa summan 2 ja yksi summan 12 — joten 7 esiintyy kuusi kertaa niin usein kuin 12, täydellisen reiluilla nopilla. Kolmannen nopan lisääminen tiukentaa kuviota entisestään, minkä vuoksi 3d6 kasautuu keskivaiheille ja pelisuunnittelijat tarttuvat siihen, kun arvon on tarkoitus olla useammin keskimääräinen kuin äärimmäinen. Yhden kuusisivuisen nopan keskiarvo on 3,5, joten 2d6:n keskiarvo on 7 ja 3d6:n 10,5, ja tämä matematiikka on pelipöydässä yleensä hyödyllisempää kuin mikään yksittäinen todennäköisyys. Mikään tästä ei ole vääristymää: se on yksinkertaisesti sitä, mitä noppien laskeminen yhteen tekee, ja se on syy, miksi peli pyytää heittämään 2d6 eikä d12:ta, vaikka molemmat kattavat saman alueen.

Nopilla ei ole muistia. Neljä kuutosta peräkkäin ei tee viidennestä kuutosesta epätodennäköisempää, nopalle, joka ei ole näyttänyt ykköstä koko iltana, ei olla velkaa yhtään mitään, eikä mikään silmäluku tule koskaan ”vuoroon” — jokainen heitto on riippumaton kaikista aiemmista heitoista, eivätkä nopat voi tietää, mitä ne tekivät minuutti sitten. Vaisto, joka väittää muuta, on pelurin harha (gambler's fallacy), ja se on sama vaisto, joka tekee meistä huonoja keksimään noppaheittoja itse: jos meitä pyydetään kirjoittamaan uskottava heittosarja, vältämme toistoja, vuorottelemme suurten ja pienten välillä ja levitämme lukuja paljon tasaisemmin kuin satunnaisuus koskaan tekee. Aito satunnaisuus tuottaa sen sijaan rykelmiä, putkia ja pitkiä välejä. Epäilyttävän siisti sarja kantaa ihmisen sormenjälkeä.

Miksi valita tämä työkalu nopanheittoon?

Noppia ilmestyy kaikkialle, missä peli tarvitsee luvun, jota kukaan ei valinnut. Pöytäroolipelaajat heittävät kotona tai pelikerhossa hyökkäyksensä d20:llä, ominaisuutensa 3d6:lla ja prosenttitarkistuksensa d100:lla, ja puolet noppapussistaan kadottanut ryhmä jatkaa pelaamista tästä huolimatta. Mökillä ja keittiön pöydän ääressä pelattavat lautapelit toimivat samalla tavalla noppien kadottua — aseta ”Sivut” arvoon 6, ”Nopat” arvoon 2 ja jatka pelaamista. Etä- ja foorumipelaajat heittävät jaetulla näytöllä, jotta kaikki näkevät samojen tulosten asettuvan paikoilleen. Viidennellä luokalla pidetään klassinen todennäköisyystunti: heitä 2d6 yhteensä 60 kertaa, pidä kirjaa summista ja anna kuvion muodostua taululle. Pelisuunnittelijat tarkistavat, onko mekaniikka todella yhtä altis ääripäille kuin miltä se tuntuu, ennen kuin mitään menee painoon. Ja monet heitot ratkaisevat vain sen, kuka aloittaa, kuka hakee kahvin tai kumpi kahdesta suunnitelmasta voittaa — ne heitolla ratkaistavat päätökset, joita ihmiset ovat tehneet noppien avulla useiden tuhansien vuosien ajan.

Tällä noppakoneella on muutama reilu rajoitus, jotka on hyvä tietää. Yksi heitto käyttää yhtä noppatyyppiä: kohdassa ”Sivut” oleva arvo koskee jokaista heiton noppaa, joten d20 ja d6 yhdessä vaativat kaksi heittoa yhden sijaan. Tässä ei ole muuttujia, ei etua eikä haittaa, ei räjähtäviä noppia eikä erillistä notaatiokenttää — saat silmäluvut ja niiden summan, ja mitä tahansa sääntö lisää niiden päälle, on sinun lisättävissäsi. Σ laskee jokaisen heitetyn nopan, kun taas ”Kopioi kaikki” ja ”Tallenna tiedostoon” tallentavat yksittäiset silmäluvut summan sijaan. Animaatio on aina kuusisivuinen kuutio tahkojen määrästä riippumatta, koska se on koristelua: tahko, jolle se pysähtyy, on heitto, jonka moottori on jo suorittanut. Heitot ovat paikallisia laitteellasi, joten etäpelissä yksi henkilö heittää ja jakaa näytön — tämä noppakone tuottaa heiton, jonka voit selittää, ei heittoa, jonka kolmas osapuoli voi varmentaa. Ja kryptografisesti reilu noppa on silti vain reilu noppa: sillä ei ole yhteyttä mihinkään arvontaan tai kasinopeliin, eikä se anna kenellekään etulyöntiasemaa. Näiden rajojen sisällä takuu on vahva — jokaisen nopan jokaisella tahkolla on täsmälleen sama mahdollisuus tulla valituksi, jokaisella yksittäisellä heitolla.

FAQ

Kuinka heitän noppaa verkossa?

Aseta haluamasi noppien määrä kohtaan ”Nopat”, aseta jokaisen nopan tahkojen määrä kohtaan ”Sivut” ja paina ”Generoi”. Sivu aukeaa kahdella kuusisivuisella nopalla, joten tavallinen 2d6-heitto on yhden painalluksen päässä. Jokainen noppa näkyy erikseen, ja heiton summa näkyy niiden alla.

Ovatko virtuaalinopat todella satunnaisia?

Kyllä. Jokainen heitto on peräisin selaimesi Web Crypto API -rajapinnasta (crypto.getRandomValues), joka on sama kryptografisesti turvallinen lähde jota käytetään silloin, kun satunnaisuuden on oltava ennakoimatonta. Raaka-arvot muunnetaan tahkoiksi menetelmällä nimeltä rejection sampling, joka poistaa naiivin toteutuksen aiheuttaman modulo bias -virheen. Jokaisen nopan jokaisella tahkolla on täsmälleen sama todennäköisyys, jokaisella heitolla.

Mitä noppia voin heittää?

Mitä tahansa 1–20 nopan ja 2–1000 tahkon yhdistelmää: d2-kolikonheitto, koko roolipelisetti (d4, d6, d8, d10, d12 ja d20), prosenttinoppa d100, ja mitä tahansa mitä peli keksii d1000:een asti. Noppanotaatio siirtyy suoraan kahteen kenttään — 2d6 tarkoittaa ”Nopat” 2 ja ”Sivut” 6.

Näyttääkö työkalu noppien summan?

Kyllä. Tuloksen alla oleva rivi alkaa merkillä Σ, jota seuraa heiton kaikkien noppien summa, joten 3d6 tai 4d10 ei vaadi päässälaskua. Tuloksen kopiointi tai tallentaminen antaa itse silmäluvut, yksi per rivi; summa pysyy kyseisellä rivillä laatikon alla.

Voinko käyttää sitä D&D:n ja muiden pöytäroolipelien pelaamiseen?

Kyllä, ja se on yksi yleisimmistä käyttötavoista. Aseta ”Nopat” arvoon 1 ja ”Sivut” arvoon 20 hyökkäystä tai pelastusheittoa varten, ”Nopat” 3 ja ”Sivut” 6 hahmon ominaisuudelle, ”Sivut” 100 prosenttitarkistukselle. Heitot ovat kryptografisesti reiluja, mitä noppapussin pohjalta löytyvä kolhiintunut d20 ei voi väittää olevansa.

Voinko heittää d20:n ja d6:n samassa heitossa?

Et. Kohdassa ”Sivut” oleva arvo koskee jokaista heiton noppaa, joten sekanopat vaativat yhden heiton kukin — heitä ensin d20, aseta sitten ”Sivut” arvoon 6 ja heitä uudelleen. Tässä ei myöskään ole muuttujia tai etuheittoja: noppakone palauttaa silmäluvut ja niiden summan, ja niiden päälle tulevan säännön soveltaminen on sinun vastuullasi.

Laitoin kytkimen ”Satunnainen väri” päälle, eikä mikään muuttunut. Miksi?

Koska värit sijaitsevat animoiduissa nopissa. Jos ”Animoidut 3D-nopat” on kytketty pois päältä, tulos on pelkkä numeroista koostuva luettelo, ja numerossa ei ole mitään väritettävää. Kytke animaatio takaisin päälle, ja jokainen kuutio saapuu omassa värissään vakiona olevan punaisen sijaan.

Mitä kytkin ”Animoidut 3D-nopat” tekee?

Kun se on päällä — mikä on oletusarvo — jokainen noppa piirretään kuutiona, joka pyörii ennen kuin se pysähtyy tahkolleen. Jos kytket sen pois, luvut ilmestyvät välittömästi pelkkänä luettelona, mikä on nopeampaa, kun heität toistuvasti. Kummassakaan tapauksessa animaatio ei vaikuta tulokseen, sillä se on pelkkää koristelua: moottori on jo päättänyt tuloksen ennen kuin kuutio alkaa pyöriä. Kuusisivuinen noppa piirretään tutulla pistekuviolla, kun taas jokainen muu noppa näyttää suoraan numeronsa.

Ovatko virtuaalinopat reilumpia kuin aidot nopat?

Reiluuden suhteen kyllä. Valetun nopan pisteet on porattu irti, joten sen tahkot eivät paina aivan yhtä paljon, ja reunat pyöristyvät käytössä — kasinoiden precision dice -nopat koneistetaan suorakulmaisiksi ja täytetään tasapintaan juuri tämän välttämiseksi, ja jopa ne poistetaan käytöstä muutaman tunnin jälkeen. Virtuaalinopassa ei ole mitään kuluvaa, joten jokainen tahko säilyttää täsmälleen saman todennäköisyyden ensimmäisestä heitosta kymmenenteen tuhanteen.

Miksi 7 tulee niin usein, kun heitän kahta noppaa?

Koska yhtä todennäköiset tahkot eivät tuota yhtä todennäköisiä summia. Kaksi kuusisivuista noppaa voi asettua 36 eri tavalla, ja 7 voidaan muodostaa kuudella niistä — 1+6, 2+5, 3+4 ja näiden peilikuvat — kun taas 12 voidaan muodostaa vain yhdellä tavalla. Kuusi mahdollisuutta yhtä vastaan on koko selitys, ja se pätee täydellisen reiluihin noppiin.

Heitin neljä kuutosta peräkkäin. Onko noppakone rikki?

Ei. Jokainen heitto on riippumaton sitä edeltävistä, joten neljä kuutosta peräkkäin d6:lla on tapahtuma, jonka todennäköisyys on 1 suhde 1296:een — harvinaista sinulle tänä iltana, rutiinia kaikkien tänään heittävien keskuudessa. Nopilla ei ole muistia, eikä mikään silmäluku tule koskaan vuoroon. Jos jokin, niin siististi vuorotteleva tulossarja olisi epäilyttävä.

Toimiiko se offline-tilassa, muistaako se heittoni, ja onko se ilmainen?

Kun sivu on latautunut, heitot tehdään kokonaan selaimessasi, joten katkennut yhteys ei keskeytä peliä. ”Historia” säilyttää 10 viimeisintä heittoasi omalla laitteellasi, jossa voit palauttaa, kopioida tai poistaa niitä. Työkalu on täysin ilmainen ilman kirjautumista, ja koska mitään ei siirretä, emme näkisi heittojasi vaikka haluaisimmekin.