
ROYAL ROULETTE
Un écosystème de jeu en temps réel.
Une plateforme de casino complète — 15 jeux à autorité serveur, salons vidéo et vocaux en direct, une économie de cadeaux façon TikTok, un portefeuille crypto multi-chaînes et un back-office opérateur — sur ASP.NET Core .NET 10, PostgreSQL, Redis, SignalR et Next.js 16.
Royal Roulette est une plateforme de casino multijoueur dotée d'une couche sociale de diffusion en direct. L'API .NET 10 est organisée en couches — API, Application, Domaine, Infrastructure — avec 55 contrôleurs, quatre hubs SignalR et 27 migrations EF Core. Quinze modules de jeu (roulette, crash aviator, blackjack, baccarat, machines à sous, vidéo poker, dés, keno, mines, plinko, hi-lo, pile ou face, chicken cross, roue de la fortune, machine à sous western) tirent leur aléa de System.Security.Cryptography.RandomNumberGenerator derrière une abstraction ISecureRandom ; les jeux à manches continues tournent comme workers d'arrière-plan qui poussent les manches vers les hubs.
Les salons en direct publient et s'abonnent via LiveKit WebRTC avec un fournisseur simulé pour le développement hors ligne ; les salons vocaux disposent de sièges d'intervenants et d'une file d'attente « main levée » ; un catalogue de 14 cadeaux à six niveaux de rareté est mis en file côté serveur et rendu en vidéo plein mouvement avec replis SVG. Le portefeuille gère les dépôts et retraits multi-chaînes avec des soldes versionnés par ligne et des clés d'opération client idempotentes. Le frontend est en Next.js 16 avec le React Compiler, une CSP stricte, three.js, GSAP et Framer Motion.
Vue d'ensemble
Luxe sombre, tables, salons en direct, systèmes de jeu, portefeuille et administration — un écosystème où chaque manche fait autorité sur le serveur et chaque cadeau est mis en file, idempotent et animé.
Architecture
Ingénierie
Systèmes de jeu
- 01Roulette et Aviator tournent comme workers d'arrière-plan côté serveur, les manches étant diffusées sur des hubs dédiés
- 02L'état de jeu volatil d'Aviator, Mines, Chicken Cross, Slot, Hi-Lo, Blackjack et Video Poker vit dans Redis ; la production refuse le repli en mémoire
- 03Chaque adaptateur tire son aléa de System.Security.Cryptography.RandomNumberGenerator derrière ISecureRandom
- 04Concurrence du portefeuille : versions de ligne, contraintes d'intégrité financière et clés d'opération client pour des dépôts et retraits idempotents
- 05CSP stricte avec caméra et microphone limités à self ; jetons de requête SignalR désactivés en production

Salons en direct & cadeaux


- 01
Publication via LiveKit
Les hôtes passent en direct via un fournisseur média LiveKit ; un fournisseur simulé garde tout le flux testable hors ligne.
- 02
14 cadeaux, 6 niveaux de rareté
De Commun à Mythique. La durée d'affichage va de 5,0 s → 12,0 s et le nombre de particules de 15 → 100 selon la rareté ; six cadeaux sont livrés en vidéo plein mouvement 720×1280, les autres utilisent des replis SVG.
- 03
File d'attente à autorité serveur
Les cadeaux sont idempotents et mis en file sur le serveur avant que le client ne les affiche, de sorte qu'une rafale de tapotements ne facture jamais deux fois ni ne désynchronise les spectateurs.
- 04
Crédits live
Une monnaie de cadeaux distincte avec demandes de recharge par l'utilisateur et file d'approbation administrateur.
Design
Chaque jeu a reçu une passe cinématographique : une roue et une table de roulette 3D composées, un Mines en coffre d'obsidienne, un observatoire Royal Plinko, une grille de crash Aviator avec son propre atlas de matériaux 4K. Dix-neuf couvertures de jeux partagent un même langage en 960×540.
Résultats
- 2026-03Première migration EF — versions de ligne du portefeuille
- 2026-04KYC, défis, tickets de support, jeu responsable
- 2026-05Book of Golden Sheba déployé
- 2026-06Thunder Reels déployé
- 2026-07Schéma du système live
- 2026-08Salons en direct terminés — 88/100 ; référence git et portes de CI

