One line of arithmetic
Limbo has no board, no cards and no wheel. You type a target multiplier, the engine draws a number, and you win if the number is at least your target — in which case you are paid your target times your stake. That is the entire game, and it makes limbo the easiest casino game there is to price, because the number comes from one formula with one random input.
ENGINE-VERIFIEDcurve100() in _shared/rng.ts: the outcome in hundredths is floor((0.99 ÷ (1 − u)) × 100), clamped to the range 100 to 1,000,000, where u is the uniform number in [0, 1) read from the round's HMAC — the first eight bytes of the digest as hi ÷ 2³² + lo ÷ 2⁶⁴ (u64()). demoLimboBet() in _shared/demoLocal.ts draws u at cursor 0, sets win = outcome100 ≥ target100 and pays stake × target100 ÷ 100 floored to the cent. limboGame.tsx accepts targets from 101 to 1,000,000 hundredths (×1.01 to ×10,000.00) and shows the win chance as 99 ÷ target.
Read the formula from the inside out. The random number u is spread evenly between 0 and 1. Dividing 0.99 by 1 − u turns that even spread into a curve: u near 0 gives a number near ×0.99, u near 1 gives a number that runs away towards infinity. The ×100 and the floor turn it into a figure with two decimals, and the clamp pins it between ×1.00 and ×10,000.00. The 0.99 is the house edge, and it is the only place the edge lives.
The win chance at every target
You win at target T when floor(99 ÷ (1 − u)) is at least T, written in hundredths. Because T is a whole number of hundredths, the floor makes no difference to that comparison: a value of 199.7 floors to 199 and misses a target of 200, exactly as 199.7 itself would. So the condition is simply 99 ÷ (1 − u) ≥ T, which rearranges to u ≥ 1 − 99 ÷ T. The chance of a uniform number landing there is 99 ÷ T, and that is the whole answer.
| TARGET | WIN CHANCE | ONE WIN IN | RETURN | HOUSE EDGE | SWING PER UNIT STAKED |
|---|---|---|---|---|---|
| ×1.01 | 98.02% | 1.02 rounds | 99.00% | 1.00% | 0.14 |
| ×1.10 | 90.00% | 1.11 | 99.00% | 1.00% | 0.33 |
| ×1.20 | 82.50% | 1.21 | 99.00% | 1.00% | 0.46 |
| ×1.50 | 66.00% | 1.52 | 99.00% | 1.00% | 0.71 |
| ×1.98 | 50.00% | 2.00 | 99.00% | 1.00% | 0.99 |
| ×2.00 | 49.50% | 2.02 | 99.00% | 1.00% | 1.00 |
| ×3.00 | 33.00% | 3.03 | 99.00% | 1.00% | 1.41 |
| ×5.00 | 19.80% | 5.05 | 99.00% | 1.00% | 1.99 |
| ×10 | 9.90% | 10.1 | 99.00% | 1.00% | 2.99 |
| ×20 | 4.95% | 20.2 | 99.00% | 1.00% | 4.34 |
| ×50 | 1.98% | 50.5 | 99.00% | 1.00% | 6.97 |
| ×100 | 0.99% | 101 | 99.00% | 1.00% | 9.90 |
| ×1,000 | 0.099% | 1,010 | 99.00% | 1.00% | 31.4 |
| ×10,000 | 0.0099% | 10,101 | 99.00% | 1.00% | 99.5 |
Kazanma şansı = 99 ÷ hedef, tam olarak. Dönerken = hedef × kazanma şansı = 0.99 her satırda. Dalgalanma, bir oyunun sonucunun standart sapmasıdır hisse başına, √(0.99 × hedef − 0.9801); büyüyen sayı fiyat değildir.
Ortadaki iki sütun tablonun amacıdır ve hareket etmezler. Hedef hem engel hem de ödüldür, yani onu yükseltmek kazanma şansını tam olarak ödülü yükselten oranda düşürür ve ürün 0.99'da kalır. ×1.10'da oturan bir oyuncu ve ×1,000'e ateş eden bir oyuncu, hisse başına aynı %1'i ödemektedir; biri bunu sabit bir damlama halinde ödeme yapıyor ve diğeri uzun kuraklıklarda kesilen bir boluntuyla. Son sütun farkı ölçer. ×2'de bir oyunun sonucu yaklaşık bir hisse kadar sallanır; ×1,000'de otuz bir hisse; limite kadar yüz hisse.
Bir satır ikinci bir bakışa değer. ×1.98'de kazanma şansı tam olarak %50'dir, bu da ×1.98'i ortanca sonuç yapar: tüm oyunların yarısı üstünde ve yarısı altında biter. Yuvarlak sayı ×2.00 %49.50'lik bir şansa sahip yazı tura atmaktır ve bu yarım puan, o hedefte %1 avantajın oturduğu yerdir. Diğer her hedef aynı avantajı aynı şekilde saklar — adil bir oyun, %49.5 şansı için ×2.0202 öderdi ve motor ×2'yi öder.
Bu, limbo'nun iki ondalık çarpanı olan bir zar oyunundan farklı olduğu kısımdır. Orada, ödeme seçilen şansa göre türetilir ve yuvarlanır, ve yuvarlanma bazı ayarlarda oyuncuya birkaç yüzde bir puan kaybettirebilir. Limbo'da oyuncu ödemeyi doğrudan yüzde birliklerde adlandırır, ve formül çekilen sayıyı aynı rakama karşı karşılaştırır; ödemeniz gereken ikinci bir yuvarlanma yoktur. Formüldeki floor, ekranda hangi iki ondalığın görüneceğini belirler. Doğrulayıcı makale, bir raunt kontrol ettiğinizde bu tek floor'ün neden tam olarak yeniden üretilmesi gerektiğini açıklar.
Kimse hedef almadığında sayının iniş yaptığı yer
Aynı formül, herhangi bir hedef göz önüne alınmaksızın, çekilen sayıyı kendisini tanımlar. En az ×x'e ulaşma şansı 0.99 ÷ x'tir, ×1.01 ve üzeri herhangi bir x için, ve bu ekranın gösterdiği şeyin tüm dağılımını verir.
| ARALIK | RAUNT PAYı | HAKKINDA |
|---|---|---|
| ×1.00 (her hedefin altında) | %1.98 | 50.5'te 1 |
| ×1.01'den ×1.49'a | %32.02 | 3.1'de 1 |
| ×1.50'den ×1.99'a | %16.50 | 6.1'de 1 |
| ×2.00'den ×2.99'a | %16.50 | 6.1'de 1 |
| ×3.00'den ×4.99'a | 13.20% | 1 in 7.6 |
| ×5.00 to ×9.99 | 9.90% | 1 in 10.1 |
| ×10 to ×99.99 | 8.91% | 1 in 11.2 |
| ×100 to ×999.99 | 0.891% | 1 in 112 |
| ×1,000 to ×9,999.99 | 0.0891% | 1 in 1,122 |
| ×10,000.00 (the cap) | 0.0099% | 1 in 10,101 |
Her satır 0.99 ÷ (alt sınır) eksi 0.99 ÷ (üst sınır). İlk satır 99 ÷ (1 − u) değerinin 101 yüzde altına düşme olasılığı, u < 2 ÷ 101. Son satır, kelepçenin 1,000,000 yüzdeye sabitlediği her çekilişi. Satırlar %100'e kadar eklenmiştir.
Bu satırlardan ikisi, bir limbo seansının nasıl hissettirdiğinin çoğunu açıklar. Yaklaşık elli turda biri ×1.00 gösterir, hiçbir hedefin yenemedği bir sayı: formüldeki 0.99, eğrinin ×1.01 altında başladığı anlamına gelir ve çekilişlerin en düşük %1.98'i bunu aşamaz. Ve yaklaşık on bir turda biri ×10 veya daha fazlasını gösterir; bu, saatte birden fazla kez görülecek kadar sık ve yüksek bir hedefi ulaşılabilir kılacak kadar sıktır. Ulaşılabilir — yüz bir turda biri ×100'ü geçer — ama tablo ne kadar sık olduğunu söyler ve "hatırlanmaya yeterince sık" "evet sık" değildir.
Bahis yapmadığınız turlar aynı dağılımdan çizilir; bu yüzden son sonuçlarla dolu bir ekran bir sonraki tur hakkında hiçbir bilgi taşımaz. Her tur yeni bir noncenin yeni bir HMAC'ıdır; geçmişteki ×500, bir sonraki ×500'ün tam olarak daha önce olduğu kadar olası olmasını sağlar, %0.198. Bu, kumarbaz yanılgısının en saf halidir, çünkü burada bağımsızlık istatistiksel bir varsayım değil, hash'in bir özelliğidir.
Büyük bir çarpanı takip etmenin maliyeti
Avantaj her yerde aynı olduğu için, hedef seçimi varyans seçimidir ve varyansın fiyatı kolay ifade edilir: kaç tur beklemeniz gerektiğini ve uzun bir beklemenin ne kadar olası olduğunu. Tur başına p kazanma şansı ile, N turda en az bir kazanmanın şansı 1 − (1 − p)ᴺ'dir.
| HEDEF | TUR | EN AZ BİR KAZANMA | HİÇ KAZANMA YOK |
|---|---|---|---|
| ×2 | 10 | %99.89 | %0.11 |
| ×10 | 20 | %87.57 | %12.43 |
| ×10 | 50 | %99.46 | %0.54 |
| ×100 | 100 | 63.03% | 36.97% |
| ×100 | 300 | 94.95% | 5.05% |
| ×1,000 | 1,000 | 62.86% | 37.14% |
| ×1,000 | 3,000 | 94.88% | 5.12% |
1 − (1 − 99 ÷ T)ᴺ. Desen her ölçekte tekrarlanır: hedefin kendi tur sayısına bahis koymak (×100'de 100 tur, ×1,000'de 1,000) yaklaşık %63 bir isabet şansı verir ve bunun üç katı yaklaşık %95 verir.
Bunu için bahis koyun ve aritmetik soğuklaşır. ×100'de yüz adet tek birim bahis 100 birim maliyetlidir ve ortalama 99'u geri verir — yine %1 — ama ortalama yaklaşık 100'ü geri alma şansının %63'i ve hiçbir şey geri alma şansının %37'sinden oluşur. Bu yüz tur içinde bir kere isabet eden oyuncu çok ileride değildir; iki kere isabet eden oyuncu çok ileride, sıfır kere isabet eden oyuncu da yüzün tamamını kaybetmiştir. Hedef hakkında hiçbir şey birim başına ödediğiniz %1'i değiştirmez. Sonuçların oyuncular arasında nasıl dağıldığı hakkında her şey bunu değiştirir.
Aynı tuzağın düşük hedef versiyonu martingaledir: ×2'ye bahis koyun, her kayıptan sonra ikiye katlayın ve kazanç başına bir birim toplayın. ×2'de kazanma şansı %49.50'dir, arka arkaya on kaybın 0.11% oranında gerçekleşir ve on birinci bahis 1,024 birimdir. Martingale fiyatlandırılmış bunu bir rulette çarkında çalıştırır; limbo rakamları bunun onda birinin çeyreği içindedir. Risk of ruin herhangi bir sabit bahis planının %1 avantajya karşı ne kadar süre dayandığı için genel formülü verir.
Demo ödendirme işleminden bir pratik ayrıntı: ödeme bahis × hedef sente yuvarlanmıştır, bu nedenle 0.37 bahis ×1.23'te 0.4551 değil 0.45 öder. Tam birim bahisler iki ondalık hedefli çarpım zaten kesindir ve hiçbir şey kaybolmaz; küçük tuhaf bahisler üzerinde sent fraksiyonu. Gerçek para turları para biriminin kendi kesinliğinde ödendirme yapılır.
Bir turu kendiniz kontrol edin
- Oynamadan önce, adil oyun paneli sunucu tohumunun SHA-256 parmak izini gösterir. Tohumu kendiniz döndererek ortaya çıkan tohumu açığa çıkarın ve parmak izini doğrulayın.
- Sunucu tohumu anahtar olarak ve "clientSeed-nonce-0" iletiyi kullanarak HMAC-SHA256 hesaplayın; limbo turu cursor 0 kullanır.
- Özet yığınının ilk sekiz baytını al, u ÷ 2³² + lo ÷ 2⁶⁴ şeklinde hesapla, ardından floor(0.99 ÷ (1 − u) × 100) sonucunu 100–1.000.000 aralığında sınırla. Bu sonuç yüzde birler cinsinden ifade edilir ve turla tam digit eşleşmelidir.
Açık kaynak doğrulayıcı bu üç adımı tek komutta yapar: `betkyo-verify limbo <serverSeed> <clientSeed> <nonce>` ve sonucu yüzde birler cinsinden yazdırır. Eğer oynadığınız tur sonucuyla eşleşirse, sayı hedefi yazmadan önce belirlenmişti — bu bir taahhüt kanıtının yaptığı şeydir ve tek yaptığı şey budur; hash taahhüdü kanıtının yaptığı şey bu sınırı net bir şekilde çizer.
SSS
Limbo'da kazanma olasılığı nedir?
Bu motorda, hedefine bölünen 99: ×2'de %49,50, ×10'da %9,90, ×100'de %0,99 ve ×10.000 sınırında %0,0099 (10.101'de bir). Formül kesindir çünkü çizilen sayı floor(99 ÷ (1 − u)) ve hedef yüzde birler cinsinden tam sayıdır.
Limbo'da kasa avantajı nedir?
Her hedefde %1,00. Kazanma şansı 99 ÷ hedef ve ödeme hedefse, her bahis ortalama olarak paranın %99,00'ünü geri döndürür. Hiçbir hedef çarpanı başka birinden daha iyi değer değildir; daha yüksek hedef sadece sonuçların daha çok dalgalanmasını sağlar.
Limbo için en iyi hedef çarpanı nedir?
Beklenti açısından daha iyi bir hedef yoktur — hepsinin maliyeti birim başına %1'dir. ×1,10 veya ×1,50 gibi düşük hedefler küçük miktarları sık öder; yüksek hedefler nadir ve büyük öder. Değere göre değil, ne kadar oynaklık istediğinize göre seçin ve ×100'de 100 turdaki hiçbir kazanma şansının %37 olduğunu unutmayın.
Limbo ne sıklıkla 1,00'de çöker?
Turların %1,98'inde, yaklaşık elli ikide bir. Formül 0.99 ÷ (1 − u)'den başlar, bu nedenle en düşük %1,98'lik çekilişler ×1,01'in altında bir sayı üretir ve hiçbir hedef bu turlarda kazanamaz.
Limbo'da ×2 50/50 bahsi mi?
Tam değil: %49,50. Tam %50 noktası ×1,98'dir, bu da ortanca sonuçtur. ×1,98 ve ×2,00 arasındaki yarım puanlık fark o hedefte kasa avantajıdır.
Formüldeki yuvarlama oyuncuya bir şey kaybettiriyor mu?
Hayır. floor(99 ÷ (1 − u))'daki floor sadece gösterilen iki desimali belirler; hedefler tam yüzde birler olduğundan, floor(x) ≥ T tam olarak x ≥ T olduğunda, bu nedenle kazanma şansı herhangi bir yuvarlama kaybı olmadan 99 ÷ hedef'tir. Demo ödeme sente kadar yuvarlanır, bu sadece küçük tek miktarlarında önemli olur.
KAYNAKLAR VE REFERANSLAR
- Betkyo motor kaynağı: _shared/rng.ts'de curve100() ve u64() (outcome = floor(0.99 ÷ (1 − u) × 100) 100–1.000.000 aralığında sınırlanmış; u ilk sekiz özet baytından); _shared/demoLocal.ts'de demoLimboBet() (cursor 0, win = outcome100 ≥ target100, ödeme sente kadar yuvarlanmış); limbo/limboGame.tsx'de hedef aralığı ve 99 ÷ hedef kazanma şansı gösterimi
- Bu makale için yazılan kesin hesaplamalar: her hedef için kazanma şansı 99 ÷ T, sonuç dağılımı 0.99 ÷ x, tur başına standart sapma ve en az bir kazanç olasılıkları; motorun HMAC akışının 400.000 turu curve100() aracılığıyla tekrar oynatılarak çapraz kontrol edilmiş (×10: simüle edilmiş %9.86 ve kesin %9.90; %1.01'in altında: %1.97 ve %1.98%)
- Betkyo provably-fair doğrulayıcısı (GitHub, MIT): limbo komutu serverSeed, clientSeed ve nonce'den sonucu yeniden üretir
BU MAKALEDEKİ OYUNLAR