Kutu oyununun zarlarını mı kaybettiniz, yoksa oyunun ortasında bir d20'ye mi ihtiyacınız var? Bu ücretsiz çevrimiçi zar atma aracı, elinizin altında bulunmayan her zarın yerini alır. “Zarlar” alanından kaç zar atacağınızı — 1'den 20'ye kadar herhangi bir sayı — ve “Yüzler” alanından her birinin kaç yüze sahip olduğunu ayarlayıp “Oluştur” düğmesine basın. Sayfa iki adet sıradan altı yüzlü zarla açılır, bu yüzden ilk atışınız sadece bir tık uzağınızdadır. Her zar kendi başına gösterilir ve atışın toplamı altlarında belirir, böylece 3d6 için zihinden hesap yapmanıza gerek kalmaz.
Her atış tarayıcınız tarafından, Math.random() gibi sözde rastgele (pseudo-random) bir JavaScript fonksiyonu yerine, sisteminizin kendi rastgelelik kaynağından kriptografik olarak güçlü rastgele değerler sağlayan Web Crypto API (crypto.getRandomValues) aracılığıyla yapılır. Ham bir 32-bit değerin bir yüz numarasına dönüştürülmesi, zar atma araçlarının sessizce çuvalladığı yerdir: değeri yüz sayısına göre modüler aritmetiğe (modulo) sokmak bariz yaklaşımdır ama aynı zamanda taraflıdır, çünkü yüz sayısı 2^32'yi tam bölmediği sürece, en düşük yüzler diğerlerinden biraz daha sık gelir. Bu kusura modulo bias adı verilir ve teorik olmaktan ziyade ölçülebilir bir durumdur. Bu araç ise yüz sayısının en büyük tam katının ötesindeki herhangi bir değeri çöpe atıp yeniden bir sayı çeker — bu tekniğin adı rejection sampling (reddetme örneklemesi)'dir. Birkaç ekstra çekilişe mal olur ancak yaklaşık bir garanti yerine kesin bir garanti satın alır. Bir sunucuya hiçbir şey gönderilmez, hiçbir kayıt tutulmaz ve sayfa yüklendikten sonra bağlantınız kopsa bile zar atışlarınız çalışmaya devam eder.
Tüm işi iki alan yapar ve bunlar halihazırda oyunların kullandığı zar notasyonlarıyla birebir eşleşir. “Zarlar”, aynı anda kaç zar attığınızdır (1'den 20'ye kadar). “Yüzler”, her birinin kaç yüze sahip olduğudur (2'den 1000'e kadar) — bu da d2 ile yazı tura atmaya, d4, d6, d8, d10, d12 ve d20'den oluşan tam bir rol yapma oyunu setine, yüzdelik zar d100'e ve bir oyunun bunların ötesinde icat edebileceği her şeye yeter. NdM olarak yazılan her şey bu iki alandır: 2d6, “Zarlar” 2 ve “Yüzler” 6 demektir, tek bir d20 ise “Zarlar” 1 ve “Yüzler” 20'dir. Bir karakterin stat'ı için 3d6 mı atıyorsunuz? “Zarlar” alanını 3'e, “Yüzler” alanını 6'ya ayarlayın, “Oluştur” düğmesine basın ve üç yüz toplamlarıyla birlikte gelsin. İki anahtar, sonucun ne olduğundan ziyade nasıl göründüğünü değiştirir. Varsayılan olarak açık olan “Animasyonlu 3D zarlar”, her zar için yerleşmeden önce bir küp yuvarlar — kapatırsanız sayılar anında düz bir liste halinde belirir. “Rastgele renk”, her zara standart kırmızı yerine kendine ait bir renk verir, ancak bu sadece “Animasyonlu 3D zarlar” açıkken çalışır, çünkü düz bir listenin renklendirecek zarları yoktur. Noktalar (pip) yalnızca altı yüzlü bir zar için çizilir; on yedi yüzlü bir zar için nokta deseni olmadığından, diğer her tür basitçe zardaki sayıyı yüzünde gösterir.
Sonucun altında sizi matematikten kurtaran satır durur: Σ atıştaki her zarın toplamıdır, yanında ise atışın ne kadar sürdüğü ve yerel olarak üretildiğine dair bir not yer alır. “Tümünü kopyala” sonucu panonuza kopyalar ve “Dosyaya kaydet” bir metin dosyasına yazar — her ikisi de size toplam yerine satır başına bir tane olacak şekilde tek tek yüzleri verir, böylece neyin atıldığının kaydı gerçekten neyin atıldığının kaydı olarak kalır. “Geçmiş” son 10 atışınızı kendi tarayıcınızda tutar: toplamıyla birlikte ekrana geri getirmek için birine tıklayabilir, tek bir girişi kopyalayabilir veya silebilir veya istediğiniz zaman tümünü temizleyebilirsiniz. “Temizle” düğmesi sonuç kutusunu boşaltır ve ayarlarınıza dokunmaz.
Sanal zarlar gerçek olanlardan daha mı iyidir? Adalet konusunda evet ve nedeni fizikseldir. Sıradan kalıp bir zarın noktaları oyulmuş ve boyanmıştır, oyulmuş bir nokta malzemeyi eksiltir. Bu yüzden altı yüzü — içindeki altı oyukla — çok hafif bir farkla en hafif, tam karşısındaki yüz ise en ağır taraf olur. Kumarhanelerdeki precision dice tam da bu yüzden vardır: noktaları aynı yoğunluktaki malzemeyle düz olacak şekilde doldurulur, kenarları yuvarlanmak yerine dik kesilir, milimetrenin kesirlerine kadar makinede işlenir ve buna rağmen birkaç saatlik oyundan sonra emekliye ayrılırlar. Bir oyun kutusunun içindeki zarlar bu özelliklerin hiçbirine sahip değildir ve zamanla daha da kötüleşirler — kırık bir köşe, yıllarca sallamaktan yuvarlanmış bir kenar, masa boyunca yuvarlanmak yerine bir yorganın üzerine düşen bir zar aslında hiçbir şekilde rastgeleleştirilmemektedir. Sanal bir zarın yanlış olabilecek bir geometrisi, aşınması veya üzerinde tartışılabilecek bir atış tekniği yoktur ve on bininci atışta da ilkiyle tam olarak aynı şekilde davranır. Yapamayacağı tek şey elinizde durmaktır. Dürüst özet şudur: Bu araç adalet konusunda kazanırken seremoni konusunda kaybeder.
Adil bir zar, adil bir toplamla aynı şey değildir. Bir zarın her yüzünün gelme olasılığı eşittir, ancak zarları birbirine eklediğiniz anda toplamlar eşit dağılmaktan çıkar ve bu durum insanları sürekli şaşırtır. İki altı yüzlü zar, eşit olasılıklı 36 kombinasyonda düşer; bunlardan altısı 7 ederken, sadece bir tanesi 2 ve bir tanesi 12 eder — yani tamamen adil zarlarda bir 7, bir 12'den altı kat daha sık gelir. Üçüncü bir zar eklemek bu kalıbı daha da daraltır, işte bu yüzden 3d6 ortaya doğru kümelenir ve bir değerin ekstrem olmaktan çok sıradan olması istendiğinde tasarımcılar buna başvurur. Bir altı yüzlü zarın ortalaması 3,5'tir, bu yüzden 2d6 ortalaması 7 ve 3d6 ortalaması 10,5'tir ve masadaki bu aritmetik, genellikle tek bir olasılıktan daha faydalıdır. Bunların hiçbiri bir hata ya da taraf tutma (bias) değildir: zarları toplamanın getirdiği şey basitçe budur ve her ikisi de aynı aralığı kapsadığı halde bir oyunun d12 yerine 2d6 istemesinin nedeni tam olarak budur.
Zarların hafızası yoktur. Arka arkaya gelen dört tane altı, beşinci bir altının gelme olasılığını düşürmez; bütün akşam hiç 1 göstermemiş bir zar bu yüzden bir 1 hak etmez ve hiçbir yüzün hiçbir zaman gelme “sırası” gelmiş olmaz — her atış, kendinden önceki her atıştan bağımsızdır ve zarlar bir dakika önce ne yaptıklarını bilemezler. Aksini iddia eden içgüdüye gambler's fallacy (kumarbaz yanılgısı) denir ve kendi başımıza zar sonuçları uydurmada bizi bu kadar başarısız kılan da aynı içgüdüdür: mantıklı bir atış dizisi yazmamız istendiğinde tekrarlardan kaçınırız, büyük ve küçük sayıları sırayla kullanırız ve sayıları şansın yapabileceğinden çok daha eşit bir şekilde dağıtırız. Gerçek rastgelelik ise tam tersine yığılmalar, seriler ve uzun boşluklar üretir. Şüpheli derecede düzenli görünen bir dizi, bir insanın parmak izidir.
Bu zar atma aracını neden seçmelisiniz?
- Sadece tarayıcıda zar atma: zarlar kendi cihazınızda atılır ve asla hiçbir yere gönderilmez
- Web Crypto API rastgeleliği: kriptografik olarak güvenlidir, Math.random() kullanılmaz
- Modulo bias yoktur: rejection sampling her yüzün eşit olasılıkta kalmasını sağlar
- Bir oyunun isteyebileceği her zar: aynı anda 1'den 20'ye kadar zar, d2'den d1000'e kadar
- Toplam sizin için sayılır: Σ tüm atışı toplar, bu yüzden 3d6 zihinden işlem gerektirmez
- Animasyonlu 3D zarlar, veya anında düz bir liste için kapatılabilir animasyon
- Zar başına bir renk, böylece birkaç zarı bir bakışta birbirinden ayırmak kolaylaşır
- “Geçmiş” ve “Dosyaya kaydet”: açıklamak zorunda kalabileceğiniz bir atışın kaydını tutun
- Sınırsız ve ücretsiz: kayıt yok, kullanım sınırı yok, sunucularımızda hiçbir şey yok
Zarlar, bir oyunun kimsenin seçmediği bir sayıya ihtiyaç duyduğu her yerde ortaya çıkar. Masaüstü rol yapma oyuncuları — evde ya da bir oyun kafesinde — bir saldırı zarını d20 ile atar, bir özellik için 3d6 ve yüzdelik bir kontrol için d100 atar ve zar torbasının yarısını kaybetmiş bir seans buna rağmen devam eder. Zar kaybolduğunda tavla ve mutfak masasındaki kutu oyunları da aynı şekilde işler — “Yüzler” ayarını 6, “Zarlar” ayarını 2 yapın ve oynamaya devam edin. Uzaktan veya forum üzerinden oynayan gruplar, herkesin aynı yüzlerin düştüğünü izlemesi için paylaşılan bir ekranda atış yapar. 5. sınıf matematik dersinde o klasik deney yapılır: 60 kez 2d6 atın, toplamların çetelesini tutun ve o şeklin tahtada belirmesine izin verin. Oyun tasarımcıları bir mekaniğin gerçekten de hissedildiği kadar dalgalı olup olmadığını herhangi bir şey baskıya gitmeden önce kontrol eder. Ve sayısız atış, kimin ilk başlayacağından, kahveyi kimin alacağından veya iki plandan hangisinin kazanacağından başka hiçbir şeyi belirlemez — insanların birkaç bin yıldır zarlarla aldığı şansa bırakılan kararlar.
Bu aracın bilinmeye değer birkaç dürüst sınırı vardır. Bir atış, tek bir tür zar kullanır: “Yüzler” alanındaki değer, o atıştaki her zara uygulanır, bu yüzden bir d20 ve bir d6'yı birlikte atmak bir yerine iki atış gerektirir. Çarpanlar (modifier), avantaj (advantage) veya dezavantaj (disadvantage), patlayan zarlar (exploding dice) ve bir notasyon kutusu yoktur — yüzleri ve toplamını alırsınız ve bunun üzerine eklenen kural sizin uygulayacağınız kuraldır. Σ atıştaki her zarı sayarken, “Tümünü kopyala” ve “Dosyaya kaydet” toplam yerine tek tek yüzleri kaydeder. Animasyon, yüz sayısı ne olursa olsun her zaman altı yüzlü bir küptür, çünkü bu bir dekorasyondur: üzerinde durduğu yüz, motorun zaten yapmış olduğu atıştır. Atışlar cihazınıza özeldir, bu nedenle uzaktan oynanan bir oyunda bir kişi atar ve ekranı paylaşır — bu araç sizin açıklayabileceğiniz bir atış üretir, üçüncü bir tarafın sertifikalandırabileceği bir atış değil. Ve kriptografik olarak adil bir zar hala sadece adil bir zardır: herhangi bir piyango veya kumarhane çekilişiyle bağlantısı yoktur ve kimseye avantaj sağlamaz. Bu sınırlar dahilinde, garantisi güçlüdür — her bir zarın her bir yüzü, atılan her tekil zarda tam olarak aynı şansa sahiptir.