Кубік анлайн

Кідайце да 20 віртуальных кубікаў з любой колькасцю бакоў, ад манеткі d2 да d1000. Кожны кідок выконваецца ў вашым браўзеры з крыптаграфічна бяспечнай выпадковасцю, а агульная сума падлічваецца аўтаматычна.

Націсніце «Згенераваць» для выбару
Дадатковыя налады

Згубілі кубікі ад настольнай гульні або спатрэбіўся d20 прама пасярод сесіі? Кінуць кубік анлайн можна прама тут — гэты бясплатны генератар заменіць любы кубік, якога не аказалася пад рукой. Вызначце, колькі кубікаў трэба кінуць, у полі «Кубікі» — ад 1 да 20 — задайце колькасць бакоў для кожнага ў полі «Бакі» і націсніце «Згенераваць». Старонка адкрываецца з двума звычайнымі шасціграннымі кубікамі, таму першы кідок можна зрабіць у адзін клік. Кожны кубік адлюстроўваецца асобна, а агульная сума кідка з'яўляецца пад імі, таму для 3d6 не прыйдзецца лічыць у галаве.

Кожны кідок выконваецца вашым браўзерам праз Web Crypto API (crypto.getRandomValues), які прадстаўляе крыптаграфічна надзейныя выпадковыя значэнні з уласнай крыніцы энтрапіі вашай сістэмы, а не праз псеўдавыпадковую функцыю JavaScript накшталт Math.random(). Ператварэнне зыходнага 32-бітнага значэння ў нумар боку — гэта тое месца, дзе генератары кубікаў непрыкметна памыляюцца: вылічэнне значэння па модулі колькасці бакоў з'яўляецца самым відавочным падыходам, але яно ўносіць скажэнне, бо, калі толькі колькасць бакоў не дзеліць 2^32 без астатку, самыя малодшыя бакі выпадаюць крыху часцей за астатнія. Гэты недахоп называецца зрушэннем па модулю (modulo bias), і ён цалкам вымяральны, а не проста тэарэтычны. Дадзены інструмент, наадварот, адкідвае любое значэнне, якое перавышае найбольшае дакладнае кратнае колькасці бакоў, і цягне лік нанова — гэтая тэхніка называецца выбаркай з адхіленнем (rejection sampling). Яна патрабуе некалькіх дадатковых ітэрацый, затое забяспечвае дакладную гарантыю замест прыблізнай. Дадзеныя не адпраўляюцца на сервер, нічога не лагіруецца, і пасля загрузкі старонкі вашы кідкі працягнуць працаваць нават пры абрыве злучэння.

Два палі робяць усю працу, і яны наўпрост адпавядаюць натацыі кубікаў, якая ўжо выкарыстоўваецца ў гульнях. «Кубікі» — гэта колькасць кубікаў, якія вы кідаеце за адзін раз, ад 1 да 20. «Бакі» — гэта колькасць бакоў у кожнага з іх, ад 2 да 1000: гэтага хопіць для падкідвання манеткі d2, поўнага ролевага набору з d4, d6, d8, d10, d12 і d20, працэнтнага кубіка d100 і ўсяго, што гульня можа вынайсці за іх межамі. Любы запіс выгляду NdM — гэта і ёсць гэтыя два палі: 2d6 азначае «Кубікі» 2 і «Бакі» 6, адзіночны d20 — гэта «Кубікі» 1 і «Бакі» 20. Кідаеце 3d6 для праверкі характарыстыкі персанажа? Усталюйце «Кубікі» на 3, «Бакі» на 6, націсніце «Згенераваць», і тры бакі з'явяцца разам з іх сумай. Два перамыкачы змяняюць тое, як выглядае вынік, а не тое, чым ён з'яўляецца. Опцыя «Аніміраваныя 3D-кубікі», уключаная па змаўчанні, прымушае кубік круціцца, перш чым ён спыніцца — адключыце яе, і лічбы з'явяцца імгненна ў выглядзе простага спіса. Налада «Выпадковы колер» надае кожнаму кубіку ўласны колер замест стандартнага чырвонага, і яна працуе толькі тады, калі ўключаны «Аніміраваныя 3D-кубікі», бо ў простым спісе няма кубікаў, якія можна было б размаляваць. Кропкі малююцца толькі для шасцігранных кубікаў; любы іншы від проста паказвае лік, які выпаў на баку, паколькі шаблону кропак для сямнаццацігранніка не існуе.

Пад вынікам знаходзіцца радок, які пазбаўляе вас ад вылічэнняў: Σ — гэта сума ўсіх кубікаў у кідку, побач з якой пазначаны час генерацыі і пазнака пра тое, што кідок выкананы лакальна. Кнопка «Капіяваць усё» змяшчае вынік у буфер абмену, а «Захаваць у файл» запісвае яго ў тэкставы дакумент — абедзве функцыі выдаюць асобныя бакі, па адным на радок, а не суму, таму лог таго, што было кінута, застаецца менавіта логам бакоў, якія выпалі. «Гісторыя» захоўвае 10 вашых апошніх кідкоў прама ў браўзеры: націсніце на любы з іх, каб вярнуць яго на экран разам з сумай, скапіюйце або выдаліце асобны запіс, альбо ачысціце ўвесь спіс, калі захочаце. Кнопка «Ачысціць» пусцее поле з вынікамі, не кранаючы вашыя налады.

Ці лепш віртуальныя кубікі за сапраўдныя? У плане сумленнасці — так, і прычына крыецца ў фізіцы. У звычайнага адлітага кубіка кропкі высвідроўваюцца і зафарбоўваюцца, а высвідроўванне выдаляе матэрыял. У выніку бок з шасцёркай — з шасцю паглыбленнямі ў ім — аказваецца ледзь прыкметна лягчэйшым за астатнія, а супрацьлеглы яму бок — ледзь прыкметна цяжэйшым. Precision dice (прэцызійныя кубікі) у казіно існуюць менавіта з гэтай прычыны: іх кропкі запаўняюцца ўпоравень матэрыялам той жа шчыльнасці, краі зразаюцца пад прамым вуглом, а не закругляюцца, яны апрацоўваюцца з дакладнасцю да доляў міліметра, і ўсё роўна іх выводзяць з гульні пасля некалькіх гадзін выкарыстання. Кубікі з скрынкі з настольнай гульнёй не валодаюць ніводнай з гэтых характарыстык і з цягам часу становяцца толькі горш: адколаты ражок, сцёртае гадамі ўтрасення рабро, кубік, кінуты на коўдру замест стала, насамрэч наогул не забяспечваюць выпадковасць. У віртуальнага кубіка няма геаметрыі, якая магла б сапсавацца, няма зносу і няма тэхнікі кідка, пра якую можна было б спрачацца, і на дзесяцітысячны раз ён паводзіць сябе гэтак жа, як і на першы. Чаго ён не можа — дык гэта ляжаць у вас у руцэ. Сумленнае рэзюмэ такое: гэты генератар выйграе ў сумленнасці, але прайграе ў атмасферы.

Сумленны кубік — гэта не тое ж самае, што сумленная сума. Кожны бок аднаго кубіка выпадае з аднолькавай верагоднасцю, але як толькі вы складаеце кубікі разам, сумы перастаюць быць роўнаверагоднымі, і гэта ўвесь час заспявае людзей знянацку. Два шасцігранныя кубікі кладуцца ў 36 роўнаверагодных камбінацыях; шэсць з іх у суме даюць 7, у той час як роўна адна камбінацыя дае 2 і адна дае 12 — таму 7 выпадае ў шэсць разоў часцей, чым 12, на ідэальна сумленных кубіках. Даданне трэцяга кубіка яшчэ мацней звужае размеркаванне, вось чаму 3d6 групуюцца вакол сярэдзіны і чаму геймдызайнеры звяртаюцца да іх, калі значэнне павінна быць звычайным часцей, чым экстрэмальным. Адзін шасцігранны кубік у сярэднім выдае 3,5, таму 2d6 дае ў сярэднім 7, а 3d6 — 10,5, і гэтая арыфметыка за сталом звычайна больш карысная, чым любая асобная верагоднасць. Нішто з гэтага не з'яўляецца скажэннем: проста так працуе складанне кубікаў, і менавіта з гэтай прычыны гульня патрабуе кідка 2d6, а не d12, калі абодва пакрываюць адзін і той жа дыяпазон.

У кубікаў няма памяці. Чатыры шасцёркі запар не робяць пятую шасцёрку менш верагоднай, калі кубік за ўвесь вечар ні разу не паказаў адзінку, гэта не значыць, што яна яму належыць, і ніводны бок ніколі не «чакае сваёй чаргі» больш за іншыя — кожны кідок не залежыць ад усіх папярэдніх, і кубікі не могуць ведаць, што яны рабілі хвіліну таму. Інстынкт, які сцвярджае адваротнае, — гэта памылка гульца (gambler's fallacy), і той жа самы інстынкт робіць нас нікудышнымі генератарамі кідкоў: калі нас просяць напісаць праўдападобную серыю вынікаў, мы пазбягаем паўтораў, чаргуем высокія і нізкія значэнні і размяркоўваем лічбы значна раўнамерней, чым гэта калі-небудзь робіць выпадковасць. Сапраўдная выпадковасць, наадварот, спараджае навалы, серыі аднолькавых значэнняў і доўгія прабелы. Паслядоўнасць, якая выглядае падазрона акуратнай — гэта адбітак пальца чалавека.

Чаму варта абраць гэты генератар кубікаў?

Кубікі з'яўляюцца ўсюды, дзе гульні патрэбен лік, які ніхто не выбіраў. Гульцы ў настольныя ролевыя гульні — дома ці ў анцікафэ з клубам настолак — робяць кідок атакі на d20, кідаюць 3d6 для вызначэння характарыстыкі і d100 для працэнтнай праверкі, і сесія, якая страціла палову свайго мяшочка з кубікамі, працягваецца нягледзячы ні на што. Настольныя гульні на кухні працуюць гэтак жа, калі кубікі кудысьці зніклі — усталюйце «Бакі» на 6, «Кубікі» на 2 і гуляйце далей. Дыстанцыйныя групы кідаюць косці на агульным экране, каб усе бачылі адны і тыя ж бакі, што выпалі. У 5 класе на ўроку матэматыкі праводзяць класічны дослед: кіньце 2d6 60 разоў, падлічыце сумы і дазвольце форме размеркавання праявіцца на дошцы. Геймдызайнеры правяраюць, ці сапраўды механіка мае такі вялікі роскід, як здаецца, перш чым што-небудзь пойдзе ў друк. І мноства кідкоў вырашаюць не больш чым тое, хто ходзіць першым, хто купляе каву або які з двух планаў перамагае — тыя самыя рашэнні ўсляпую, якія людзі прымалі з дапамогай кубікаў на працягу некалькіх тысяч гадоў.

У гэтага генератара ёсць некалькі сумленных абмежаванняў, пра якія варта ведаць. Адзін кідок выкарыстоўвае адзін від кубікаў: значэнне ў полі «Бакі» прымяняецца да кожнага кубіка ў кідку, таму d20 і d6 разам запатрабуюць двух кідкоў замест аднаго. Тут няма мадыфікатараў, кідкоў з перавагай (advantage) або перашкодай (disadvantage), кубікаў, што выбухаюць (exploding dice), і поля для ўводу натацыі — вы атрымліваеце бакі і іх суму, а любыя правілы звыш гэтага вы прымяняеце самі. Значок Σ падлічвае кожны кубік у кідку, у той час як «Капіяваць усё» і «Захаваць у файл» запісваюць асобныя бакі, а не суму. Анімацыя заўсёды ўяўляе сабой шасцігранны куб, незалежна ад колькасці бакоў, таму што гэта дэкарацыя: бок, на якім ён спыняецца, — гэта кідок, які рухавічок ужо здзейсніў. Кідкі выконваюцца лакальна на вашай прыладзе, таму для дыстанцыйнай гульні адзін чалавек кідае кубікі і дэманструе экран — гэты генератар робіць кідок, які вы можаце растлумачыць, а не той, які можа сертыфікаваць трэці бок. І крыптаграфічна сумленны кубік — гэта ўсё яшчэ проста сумленны кубік: ён не мае ніякага дачынення да розыгрышаў латарэй або казіно і нікому не дае перавагі. У гэтых межах гарантыя надзейная — кожны бок кожнага кубіка мае абсалютна аднолькавыя шанцы пры кожным асобным кідку.

FAQ

Як кідаць кубікі анлайн?

Пазначце неабходную колькасць кубікаў у полі «Кубікі», задайце колькасць бакоў для кожнага з іх у полі «Бакі» і націсніце «Згенераваць». Старонка адкрываецца з двума шасціграннымі кубікамі, таму звычайны кідок 2d6 здзяйсняецца ў адзін клік. Кожны кубік адлюстроўваецца асобна, а агульная сума кідка паказана пад імі.

Ці сапраўды віртуальныя кубікі выпадковыя?

Так. Кожны кідок зыходзіць з Web Crypto API вашага браўзера (crypto.getRandomValues), той жа самай крыптаграфічна бяспечнай крыніцы, якая выкарыстоўваецца, калі выпадковасць павінна быць непрадказальнай. Зыходныя значэнні супастаўляюцца з бакамі з дапамогай алгарытму rejection sampling, які ўстараняе modulo bias, уласцівы наіўным рэалізацыям. На кожны кідок кожны бок кожнага кубіка нясе ў сабе абсалютна аднолькавую верагоднасць.

Якія кубікі я магу кідаць?

Любую камбінацыю ад 1 да 20 кубікаў з колькасцю бакоў ад 2 да 1000: манетку d2, поўны ролевы набор з d4, d6, d8, d10, d12 і d20, працэнтны d100 і ўсё, што можа прыдумаць гульня, аж да d1000. Натацыя кубікаў наўпрост пераносіцца на два палі — 2d6 азначае значэнне 2 у полі «Кубікі» і 6 у полі «Бакі».

Ці паказвае генератар агульную суму кубікаў?

Так. Радок пад вынікам пачынаецца са значка Σ, за якім ідзе сума кожнага кубіка ў кідку, так што 3d6 або 4d10 не патрабуюць вылічэнняў у галаве. Пры капіяванні або захаванні выніку вы атрымліваеце самі бакі, па адным на радок; сума застаецца ў радку пад блокам з кубікамі.

Ці магу я выкарыстоўваць яго для D&D і іншых настольных ролевых гульняў?

Так, і гэта адно з самых частых прымяненняў. Усталюйце «Кубікі» на 1 і «Бакі» на 20 для кідка атакі або выратавальнага кідка (saving throw), «Кубікі» 3 і «Бакі» 6 для праверкі характарыстыкі, «Бакі» 100 для працэнтнага кідка. Гэтыя кідкі крыптаграфічна сумленныя, чым наўрад ці можа пахваліцца кубік d20 з адколатымі краямі, што заваляўся на дне мяшочка.

Ці магу я кінуць d20 і d6 у адным кідку?

Не. Значэнне ў полі «Бакі» прымяняецца да кожнага кубіка ў кідку, таму для змяшаных кубікаў спатрэбіцца па адным кідку на кожны — спачатку кіньце d20, затым усталюйце «Бакі» на 6 і кіньце зноў. Тут таксама няма мадыфікатараў або кідкоў з перавагай: генератар вяртае значэнні бакоў і іх суму, а адпаведныя правілы гульні вы прымяняеце самастойна.

Я ўключыў «Выпадковы колер», але нічога не змянілася. Чаму?

Таму што колеры існуюць толькі на аніміраваных кубіках. Калі опцыя «Аніміраваныя 3D-кубікі» выключана, вынікам будзе просты спіс лікаў, а лік размаляваць нельга. Уключыце анімацыю назад, і кожны куб выпадзе ва ўласным колеры замест стандартнага чырвонага.

Што робіць перамыкач «Аніміраваныя 3D-кубікі»?

Калі ён уключаны — а гэта налада па змаўчанні — кожны кубік адмалёўваецца ў выглядзе куба, які круціцца перад тым, як напасці на свой бок. Выключыце яго, і лічбы з'явяцца імгненна ў выглядзе простага спіса, што зручней пры частых кідках. У любым выпадку анімацыя — гэта толькі дэкарацыя: рухавічок ужо вызначыў вынік да таго, як куб пачаў круціцца. Шасцігранны кубік малюецца са знаёмым узорам з кропак, тады як любы іншы кубік проста паказвае свой лік.

Ці з'яўляюцца віртуальныя кубікі больш сумленнымі, чым сапраўдныя?

У плане сумленнасці — так. У адлітага кубіка кропкі высвідроўваюцца, таму яго бакі важаць крыху па-рознаму, а краі сціраюцца ад выкарыстання. Казіно выкарыстоўваюць precision dice — кубікі з прамымі краямі, запоўненыя матэрыялам упоравень менавіта для таго, каб пазбегнуць гэтага, і нават іх выводзяць з гульні праз пару гадзін. Віртуальнаму кубіку няма ў чым зношвацца, таму кожны бок захоўвае абсалютна аднолькавую верагоднасць з першага па дзесяцітысячны кідок.

Чаму пры кідку двух кубікаў так часта выпадае 7?

Таму што роўныя верагоднасці бакоў не азначаюць роўных верагоднасцей сум. Два шасцігранныя кубікі могуць упасці ў 36 камбінацыях, і 7 можна атрымаць у шасці з іх (1+6, 2+5, 3+4 і іх люстраныя варыянты), тады як 12 можна атрымаць толькі адным спосабам. Суадносіны шасці шанцаў супраць аднаго служаць вычарпальным тлумачэннем, і яны справядлівыя для абсалютна сумленных кубікаў.

У мяне выпала чатыры шасцёркі запар. Генератар зламаны?

Не. Кожны кідок не залежыць ад папярэдніх, таму чатыры шасцёркі запар на d6 — гэта падзея з шанцам 1 да 1296. Гэта рэдкасць для вас сёння ўвечары, але звычайная справа сярод усіх, хто кідае кубікі сёння. У кубікаў няма памяці, і ніводны бок ніколі не чакае сваёй чаргі. Хутчэй, падазронай была б паслядоўнасць вынікаў, што роўна чаргуюцца.

Ці працуе гэта афлайн, ці запамінае кідкі і ці бясплатна гэта?

Як толькі старонка загрузіцца, кідкі выконваюцца цалкам у вашым браўзеры, таму абрыў злучэння не перапыніць гульню. Функцыя «Гісторыя» захоўвае апошнія 10 кідкоў на вашай прыладзе, дзе вы можаце аднавіць, скапіяваць або выдаліць іх. Генератар цалкам бясплатны, без рэгістрацыі, і паколькі ніякія даныя не перадаюцца, мы не змаглі б убачыць вашыя кідкі, нават калі б захацелі.