5-Wymiarowa Macierz Wartości

CYGANSOFT · DZIAŁ TECHNOLOGII GIER

Każda gra w CYGANSOFT definiowana jest przez 5 niezależnych wymiarów matematycznych. Model oparty na rozkładzie Pareto/power-law gwarantuje E[payout] = RTP × zakład w długim terminie.

📖 Model Matematyczny

E[mult | win] = RTP / HF

α = 8.0 − VOL × 6.95 (Pareto exponent)

xm = E[mult | win] × (α − 1) / α (min mult)

P(mult ≥ x) ≈ (xm / x)^α (power-law tail)

isWin = random() < HF

isJackpot = isWin && random() < JP

mult = isJackpot ? MX : pareto(xm, α)

payout = isWin ? ⌊bet × mult⌋ : 0

📏 5 Wymiarów

D1
RTP
Wyżej = lepiej ✓

Return to Player – % monet zwracanych do gracza długoterminowo

D2
VOL
Wyżej = ryzyko ⚠️

Volatility – im wyżej, tym rzadsze ale większe wygrane

D3
HF
Wyżej = lepiej ✓

Częstotliwość trafień – prob. wygranej w pojedynczej rundzie

D4
MX
Wyżej = lepiej ✓

Maksymalny pułap mnożnika wygranej

D5
JP
Wyżej = lepiej ✓

Prawdopodobieństwo wyzwolenia Jackpota

📊 Macierz Studiów & Profil Wizualny

StudioD1 – RTPD2 – ZmiennośćD3 – Hit Freq.D4 – Max MnożnikD5 – Jackpot P.E[mult|win]
🎲 Kości97.2%0.1849.0%×80.000%×1.98
🃏 Karty96.5%0.2547.0%×120.000%×2.05
🌟 Apollo Games95.5%0.8225.0%×5000.200%×3.82
🎪 Cygański Karnawał95.5%0.6535.0%×200.050%×2.73
🎰 Slots95.0%0.7826.0%×2500.120%×3.65
🤝 Multiplayer95.0%0.6050.0%×80.000%×1.90
🎒 Studio Ekwipunku95.0%0.5035.0%×500.100%×2.71
🎡 Koła94.8%0.5034.0%×480.040%×2.79
🐟 Rybki Gazowane94.0%0.6532.0%×500.050%×2.94
🔥 Cygański Obóz94.0%0.5550.0%×100.000%×1.88
⛏️ Cygańska Kopalnia94.0%0.8238.0%×490.200%×2.47
Instant93.5%0.8822.0%×10000.250%×4.25
💣 Bunkier93.5%0.8638.0%×500.150%×2.46
🔮 Tarot & Wróżby93.0%0.4025.0%×501.000%×3.72
🐉 Dragons & Nightmares92.0%0.9616.0%×20000.500%×5.75
🎩 Imperium Kartelu92.0%0.9020.0%×1000.500%×4.60

Provably Fair – Weryfikacja

Wyniki pochodzą ze schematu zobowiązanie–ujawnienie (commit–reveal) na HMAC-SHA256. Przed grą pokazujemy tylko SHA-256(serverSeed); po rotacji seedów ujawniamy serverSeed i każdą rundę można przeliczyć samodzielnie, offline. Dowód rundy zapisujemy w historii transakcji.

block_r = HMAC_SHA256(serverSeed, clientSeed + ":" + nonce + ":" + r)
bajty pobierane po 4:
  float  = b0/256 + b1/256² + b2/256³ + b3/256⁴        → [0, 1)
  uint32 = (b0<<24)|(b1<<16)|(b2<<8)|b3                  (big-endian)
  int(min,max) = rejection sampling → rozkład IDEALNIE jednostajny
commitment: serverSeedHash = SHA-256(serverSeed)

Rejection sampling odrzuca „ogon" nie dzielący się przez zakres — dzięki temu nie ma biasu modulo. Pełny weryfikator (z Twoimi aktywnymi seedami i testem na żywo) jest na /weryfikacja.