
ROYAL ROULETTE
Un ecosistema de juego en tiempo real.
Una plataforma de casino completa —15 juegos con autoridad en el servidor, salas de video y voz en vivo, una economía de regalos al estilo TikTok, una billetera cripto multicadena y un back-office para el operador— sobre ASP.NET Core .NET 10, PostgreSQL, Redis, SignalR y Next.js 16.
Royal Roulette es una plataforma de casino multijugador con una capa social de transmisión en vivo. La API en .NET 10 está estructurada en capas —API, Application, Domain, Infrastructure— con 55 controladores, cuatro hubs de SignalR y 27 migraciones de EF Core. Quince módulos de juego (ruleta, crash tipo aviator, blackjack, bacará, tragamonedas, video póquer, dados, keno, minas, plinko, hi-lo, cara o cruz, chicken cross, rueda de la fortuna, tragamonedas del oeste) obtienen su aleatoriedad de System.Security.Cryptography.RandomNumberGenerator detrás de una abstracción ISecureRandom; los juegos de rondas continuas se ejecutan como workers en segundo plano que envían las rondas a los hubs.
Las salas en vivo publican y se suscriben sobre LiveKit WebRTC con un proveedor simulado para el desarrollo sin conexión; las salas de voz tienen asientos de orador y una cola de mano levantada; un catálogo de 14 regalos con seis niveles de rareza se encola en el servidor y se renderiza con video a pantalla completa y alternativas en SVG. La billetera gestiona depósitos y retiros multicadena con saldos versionados por fila y claves de operación de cliente idempotentes. El frontend es Next.js 16 con el React Compiler, una CSP estricta, three.js, GSAP y Framer Motion.
Visión general
Lujo oscuro, mesas, salas en vivo, sistemas de juego, billetera y administración: un solo ecosistema donde cada ronda es autoritativa en el servidor y cada regalo se encola, es idempotente y está animado.
Arquitectura
Ingeniería
Sistemas de juego
- 01La ruleta y Aviator se ejecutan como workers en segundo plano del servidor, con rondas difundidas en hubs dedicados
- 02El estado volátil de Aviator, Mines, Chicken Cross, Slot, Hi-Lo, Blackjack y Video Poker vive en Redis; producción rechaza el respaldo en memoria
- 03Cada adaptador obtiene su aleatoriedad de System.Security.Cryptography.RandomNumberGenerator detrás de ISecureRandom
- 04Concurrencia de la billetera: versiones de fila, restricciones de integridad financiera y claves de operación de cliente para depósitos y retiros idempotentes
- 05CSP estricta con cámara y micrófono limitados a self; tokens de consulta de SignalR deshabilitados en producción

Salas en vivo y regalos


- 01
Publicación sobre LiveKit
Los anfitriones transmiten en vivo a través de un proveedor de medios LiveKit; un proveedor simulado mantiene todo el flujo probable sin conexión.
- 02
14 regalos, 6 niveles de rareza
De Común a Mítico. La duración de visualización va de 5,0 s → 12,0 s y el número de partículas de 15 → 100 según la rareza; seis regalos se entregan como video a pantalla completa de 720×1280 y el resto usa alternativas en SVG.
- 03
Cola autoritativa en el servidor
Los regalos son idempotentes y se encolan en el servidor antes de que el cliente los renderice, de modo que una ráfaga de toques nunca cobra dos veces ni desincroniza a los espectadores.
- 04
Créditos en vivo
Una moneda de regalos independiente con solicitudes de recarga de usuario y una cola de aprobación para administradores.
Diseño
Cada juego recibió un tratamiento cinematográfico: una rueda y mesa de ruleta 3D compuestas, un Mines de bóveda de obsidiana, un observatorio Royal Plinko, una cuadrícula de crash Aviator con su propio atlas de materiales en 4K. Diecinueve portadas de juego comparten un mismo lenguaje de 960×540.
Resultados
- 2026-03Primera migración de EF — versiones de fila de la billetera
- 2026-04KYC, desafíos, tickets de soporte, juego responsable
- 2026-05Book of Golden Sheba desplegado
- 2026-06Thunder Reels desplegado
- 2026-07Esquema del sistema en vivo
- 2026-08Salas en vivo completas — 88/100; línea base en git y puertas de CI

