Je, umepoteza kete za mchezo wako wa bodi, au unahitaji d20 katikati ya kipindi cha mchezo wa dhima (role-playing)? Kizalishi hiki cha kete mtandaoni bila malipo kinachukua nafasi ya kete yoyote ambayo hauna hivi sasa. Kwenye uwanja wa «Kete» weka idadi ya kete unazotaka kurusha — nambari yoyote kati ya 1 na 20 — kwenye uwanja wa «Pande» bainisha kila moja ina pande ngapi, na ubonyeze «Tengeneza». Ukurasa hufunguka na kete mbili za kawaida zenye pande sita, hivyo urushaji wa kwanza upo mbali kwa kubofya mara moja tu. Kila kete huonyeshwa kivyake, na jumla kamili ya kete zote huonekana chini yake moja kwa moja, ili 3d6 isihitaji tena kuhesabu akilini.
Kila urushaji hutekelezwa na kivinjari chako kupitia Web Crypto API (crypto.getRandomValues), ambayo hutoa thamani thabiti ya nasibu ya kiwango cha kriptografia moja kwa moja kutoka kwenye chanzo cha nasibu cha mfumo wako, badala ya kitendakazi bandia cha JavaScript cha nasibu kama Math.random(). Kubadilisha thamani ghafi ya bidi 32 hadi idadi ya pande ndipo ambapo kete pepe huwa na makosa ya kimya kimya: kuigawanya kwa idadi ya pande na kuchukua masalio (modulo) ni njia iliyo wazi zaidi lakini pia yenye upendeleo, kwa sababu ikiwa idadi ya pande haigawanyi 2^32 sawasawa, pande za chini zitaanguka mara nyingi kidogo kuliko zingine. Dosari hii inaitwa modulo bias, na inaweza kupimwa, si ya kinadharia tu. Badala yake, zana hii hutupa thamani yoyote inayozidi kigawo kikubwa zaidi cha idadi ya pande na kuteka tena — mbinu inayoitwa rejection sampling. Hii inahitaji kuteka mara chache za ziada, lakini inatoa hakikisho kamili badala ya makadirio. Hakuna kitu kinachotumwa kwenye seva, hakuna kitu kinachohifadhiwa kwenye kumbukumbu, na mara ukurasa unapopakia mirusho yako inaendelea kufanya kazi hata kama muunganisho wako wa intaneti utakatika.
Nyanja mbili hufanya kazi yote, na zinalingana moja kwa moja na nukuu za kete zinazotumiwa na michezo tayari. «Kete» inamaanisha unarusha kete ngapi kwa wakati mmoja, kutoka 1 hadi 20. «Pande» inamaanisha kila moja ina pande ngapi, kutoka 2 hadi 1000 — inatosha kwa urushaji sarafu d2, seti kamili ya dhima (d4, d6, d8, d10, d12, na d20), asilimia d100, na kitu kingine chochote ambacho mchezo unaweza kufikiria zaidi ya hapo. Chochote kilichoandikwa katika muundo wa NdM kwa kweli ni nyanja hizi mbili: 2d6 inamaanisha kuweka «Kete» iwe 2 na «Pande» iwe 6, huku d20 pekee inamaanisha «Kete» 1 na «Pande» 20. Unarusha 3d6 kwa ajili ya sifa ya mhusika? Weka «Kete» hadi 3 na «Pande» hadi 6, bonyeza «Tengeneza», na pande zote tatu zitaonekana pamoja na jumla yazo. Swichi mbili hubadilisha jinsi matokeo yanavyoonekana, si yaliyomo. «Kete za 3D Zilizohuishwa», ambayo imewashwa kwa chaguomsingi, huchora mchemraba unaozunguka kwa kila kete hadi isite — izime, na nambari zitaonekana mara moja kama orodha rahisi. «Rangi nasibu» huipa kila kete rangi yake tofauti badala ya rangi nyekundu ya kawaida, na inafanya kazi tu wakati «Kete za 3D Zilizohuishwa» imewashwa, kwa sababu orodha rahisi haina kete za kupaka rangi. Madoa yanachorwa kwa kete yenye pande sita pekee; aina nyingine yoyote inaonyesha nambari iliyoanguka moja kwa moja kwenye upande, kwani hakuna mpangilio wa kawaida wa madoa uliopo kwa kete ya pande kumi na saba.
Mstari ulio chini ya matokeo unakuokoa kutokana na hesabu: Σ ni jumla ya kila kete iliyojumuishwa kwenye urushaji, ikiambatana na muda uliochukua kufanya urushaji na kidokezo kwamba ilitengenezwa ndani ya kifaa chako. Kitufe cha «Nakili Vyote» huweka matokeo kwenye ubao wako wa kunakili, na «Hifadhi kwenye faili» huandika kwenye faili la maandishi — yote yanakupa pande za kibinafsi, moja kwa kila mstari badala ya jumla pekee, ili rekodi ya urushaji wako ibaki kuwa rekodi kamili ya kile kilichoanguka hasa. «Historia» huweka mirusho yako 10 ya mwisho moja kwa moja kwenye kivinjari chako: bofya kimojawapo ili kirejeshe kwenye skrini pamoja na jumla yake, nakili au ufute ingizo moja, au ufute orodha nzima unapotaka. Kitufe cha «Futa» kinafuta matokeo kwenye dirisha lakini huacha mipangilio yako ikiwa haijaguswa.
Je, kete pepe ni bora kuliko za asili? Kwa upande wa haki — ndiyo, na sababu ni ya kimwili. Kete ya kawaida iliyoundwa ina madoa yaliyochimbwa na kupakwa rangi, na kila tundu lililochimbwa huondoa nyenzo kidogo, hivyo basi upande wa sita — pamoja na mashimo yake sita — huishia kuwa mwepesi zaidi kwa kiasi kidogo sana, na upande ulio kinyume chake kuwa mzito zaidi kwa kiasi kidogo sana. precision dice za Kasino zipo kwa sababu hii haswa: madoa yao yanajazwa na nyenzo yenye msongamano sawa hadi kwenye uso tambarare, kingo zao hukatwa pembe mraba badala ya mviringo, hutengenezwa kwa umakini wa sehemu ndogo ya milimita, na hata hivyo baada ya saa chache za kucheza huondolewa mchezoni. Kete zilizo kwenye sanduku la mchezo wa bodi hazina sifa hizi na zinaharibika kadiri zinavyotumika — kona iliyovunjika, kingo zinazokuwa za duara baada ya kusuguliwa kwa mikono kwa miaka mingi, kete ikirushwa kwenye blanketi badala ya meza, kimsingi hii si nasibu hata kidogo. Kete pepe haina umbo la kijiometri litakalokosea, haichakai, wala haiachi nafasi ya kujadili mbinu ya kurusha, na hufanya kazi katika urushaji wake wa elfu kumi jinsi ilivyofanya kwenye urushaji wake wa kwanza. Kile isiyoweza kufanya — ni kukaa vizuri kwenye kiganja cha mkono wako. Hitimisho la uaminifu ni kwamba kizalishi hiki kinashinda katika haki lakini kinashindwa kwenye mila.
Kete ya haki na jumla ya haki si kitu kimoja. Kila upande wa kete moja una nafasi sawa ya kuanguka, lakini unapoanza kuongeza kete pamoja, jumla hupoteza usawa huu, na huwashangaza watu kila mara. Kete mbili za pande sita huanguka kwenye mchanganyiko 36 unaowezekana kwa usawa; 6 kati ya hizo zinajumlishwa kuwa 7, wakati njia moja tu inatengeneza 2 na njia moja tu inatengeneza 12 — hivyo 7 huonekana mara sita zaidi ya 12, na hii ni kweli hata kwa kete zilizo sawa kabisa. Kuongeza kete ya tatu hufanya muundo huu kuwa mwembamba zaidi, na hivyo kufanya matokeo ya 3d6 kukusanyika karibu na katikati, na hii ndiyo sababu wabunifu wa michezo wanaitumia pale wanapohitaji thamani iwe ya wastani badala ya kukithiri. Wastani wa kete ya pande sita ni 3.5 haswa, kwa hivyo wastani wa 2d6 ni 7, na wastani wa 3d6 ni 10.5, na kwenye meza hesabu hii mara nyingi ni muhimu zaidi kuliko uwezekano wowote ule. Haya yote si dosari wala upendeleo: hivi ndivyo kujumlisha kete kunavyofanya kazi, na ndiyo maana mchezo huomba 2d6 badala ya d12 moja ingawa zote mbili hufunika safu inayokaribia kufanana.
Kete hazina kumbukumbu. Kurusha sita mara nne mfululizo hakupunguzi uwezekano wa kupata sita kwa mara ya tano hata kidogo, kete ambayo haikuonyesha 1 usiku kucha haijachuma moja kwa sababu hiyo, na hakuna upande ambao «zamu» yake inafika — kila urushaji unajitegemea kabisa na ule uliopita, na kete hazijui zilichokifanya dakika moja iliyopita. Hisia inayoonyesha kinyume chake inaitwa gambler's fallacy, na hisia hiyo hiyo ndiyo maana sisi ni wabaya sana katika kubuni matokeo ya kete wenyewe: tunapoombwa kuandika mlolongo unaoaminika wa mirusho, tunaepuka kurudia, tunabadilisha nambari kubwa na ndogo na tunazisambaza kwa usawa zaidi kuliko ambavyo nasibu ya kweli ingefanya. Kinyume chake, nasibu halisi huzalisha makundi, mfululizo mrefu, na mapengo marefu. Mlolongo unaoonekana kuwa nadhifu kutiliwa shaka kwa kweli ni alama ya binadamu.
Kwa nini uchague kizalishi hiki cha kete?
- Urushaji unaofanywa kwenye kivinjari pekee: kete hurushwa kwenye kifaa chako na hazitumwi popote
- Nasibu ya Web Crypto API: salama kwa kiwango cha kriptografia, hakuna matumizi ya Math.random()
- Hakuna modulo bias: mbinu ya rejection sampling huweka nafasi ya kila upande kuwa sawa kikamilifu
- Kete yoyote ambayo mchezo unaitisha: kete 1 hadi 20 kwa wakati mmoja, kutoka d2 hadi d1000
- Jumla inayojumlishwa kwa ajili yako: Σ hujumlisha urushaji wote, hivyo 3d6 haihitaji uhesabu
- Kete za 3D Zilizohuishwa, au uzime uhuishaji ili kupata orodha rahisi ya nambari papo hapo
- Rangi za kibinafsi kwa kila kete, ili kete nyingi ziweze kutofautishwa kwa urahisi kwa mtazamo mmoja
- «Historia» na «Hifadhi kwenye faili»: weka kumbukumbu ya urushaji ambao unaweza kuhitaji kuueleza baadaye
- Bila kikomo na bila malipo: hakuna kujiandikisha, hakuna kikomo cha matumizi, na hakuna data kwenye seva zetu
Kete huonekana popote ambapo mchezo unahitaji nambari ambayo hakuna aliyeichagua. Wachezaji wa dhima kwenye meza hushambulia kwa d20, hurusha 3d6 kwa sifa ya mhusika na d100 kwa ukaguzi wa asilimia, na kundi ambalo limepoteza nusu ya mfuko wao wa kete linaweza kuendelea na mchezo wao. Michezo ya bodi iliyotandazwa kwenye meza ya jikoni huendelea vilevile baada ya kete kupotea — weka tu «Pande» hadi 6 na «Kete» iwe 2 na uendelee kucheza. Vikundi vinavyocheza kwa mbali hurusha kete kwenye skrini inayoshirikiwa ili kila mtu aone ni pande zipi zilizoanguka. Walimu hufanya darasa maarufu la uwezekano: rusha 2d6 mara 60, hesabu jumla na uachie mpangilio ujichore kwenye ubao. Wabunifu wa michezo hukagua ikiwa mbinu ya uchezaji kweli hutoa matokeo yenye mabadiliko makubwa jinsi inavyoonekana, kabla mchezo haujachapishwa. Na idadi kubwa ya mirusho husuluhisha tu nani atacheza kwanza, nani atanunua kahawa au ni mpango gani kati ya miwili unashinda — haya ni maamuzi yanayoachwa kwa hatima ambayo watu wameyatumia kwa maelfu ya miaka kwa kete.
Zana hii ina vizuizi vya wazi ambavyo ni muhimu kuvijua. Aina moja tu ya kete inatumika katika urushaji mmoja: thamani kwenye uwanja wa «Pande» inatumika kwa kila kete kwenye urushaji huo, hivyo kurusha d20 na d6 pamoja itahitaji mirusho miwili tofauti badala ya mmoja. Hakuna virekebishaji, hakuna urushaji wa faida (advantage) au hasara (disadvantage), hakuna kete zinazolipuka (exploding dice) na hakuna kisanduku cha kuandika nukuu za kete — unapata pande zilizoanguka na jumla yazo, na kanuni yoyote inayoongezwa baada ya hapo ni jukumu lako mwenyewe. Σ inahesabu kila kete iliyojumuishwa kwenye urushaji, na vitufe vya «Nakili Vyote» na «Hifadhi kwenye faili» vinaandika pande za kibinafsi badala ya jumla. Uhuishaji huonyesha kila wakati mchemraba wa pande sita bila kujali idadi ya pande, kwani ni mapambo tu: kule inaposimama ni urushaji ambao injini tayari imeutengeneza. Urushaji hufanyika ndani ya kifaa chako, kwa hivyo unapocheza kwa mbali mtu mmoja hurusha kete na kushiriki skrini yake — zana hii inazalisha urushaji ambao unaweza kuueleza, wala si ule ambao mtu wa tatu anaweza kuuthibitisha. Na bila shaka, kete yenye haki kwa kiwango cha kriptografia bado ni kete yenye haki tu: haina uhusiano na bahati nasibu yoyote au droo ya kasino na haitoi faida kwa mtu yeyote. Ndani ya mipaka hii, uhakikisho huo ni thabiti — upande wowote wa kete yoyote una nafasi sawa kabisa ya kuanguka, kwenye urushaji wowote ule.