Utilisation des moteurs de jeu (Unity, Unreal) dans les slots d'arcade

Les slots d'arcade exigent cinématographie, FPS stable et honnêteté mathématique stricte. Unity et Unreal ferment le visuel, les outils de production et la multiplateforme, et le serveur est responsable des RNG/paiements. Ci-dessous, le cadre de la solution avec les détails sous mobile/Web/MS.

1) Architecture de base

```
[Client Unity/Unreal]
├─ UI/UX (UGUI/UI ToolkitUMG)
├─ d'animation (TimelineSequencer)
├─ VFX (VFX GraphNiagara)
├─ Logique de scène/mini-jeux (CC++)
└─ Networking (WebSocket/HTTP, Protobuf/JSON)
TLS + pinning
[Backend de jeu]
├─ Serveur RNG/Maths Slot (sertifits.)
├─ Economie/Balance/config (Remote Bou)
├─ Stockage de progrès/passes/collections
├─ Antifrod/limites/jeu responsable
└─ Analytique/AV/Expérimentation/Ficheflags
```

Principes : client - visuel et d'entrée ; L'issue du dos et du méta-paiement est sur le serveur ; toutes les récompenses/équilibre - dans un config avec validation de serveur. L'invariance RTP est obligatoire.

2) Sélection du moteur : Quand Unity, quand Unreal

Unity : sortie rapide sur mobile et WebGL, large store SDK, Addressables, C-pile, UGUI/UI Toolkit, VFX Graph. Préféré pour 2D/stylisé 3D, client léger, itération rapide, un grand nombre de titres
un code-base commun.
Unreal : high-end 3D, cinématique sortie de la boîte, Sequencer, Niagara, puissant C++ - rendu, bloprints pour les designers. Préféré pour les scènes 3D haut de gamme, la production de chambre complexe, la RS/console ; sur mobile - avec une équipe expérimentée et une optimisation réfléchie.
Critères de sélection : dispositifs cibles, le spectacle requis, les compétences de l'équipe, les délais, les os de la facture/patch, les exigences du client Web.

3) Contenu Pipline et données

Unity

Addressables pour le contenu en streaming ; catalogues avec versioning.
ScriptableObjects sous les tables de paiement, mission, collection ; le déversement via Remote Bou.
Timeline pour les entrées de scène bonus/big win.
VFX Graph pour les effets gagnants avec profilage par batch.

Unreal

Fichiers pak/Chunking pour les patchs ; PrimaryAsset Labels и ChunkId.
DataTable/DataAsset sous configi ; Gameplay Tags pour les états.
Sequencer pour les scènes de kat ; Niagara pour FX avec LOD.
StreamableManager pour le chargement asynchrone.

Général : schéma de version strict, séparation « vs data code », paramètres « hot » - uniquement à partir du serveur.

4) UI/UX et lisibilité

Unity : UGUI (fiable) ou UI Toolkit.
Unreal : UMG + Slate pour widgets personnalisés.
Dessin : un compteur de contours de gains (ease-out), des contrastes clairs, des masques pour mettre en surbrillance les clusters/lignes.
Skip/accélération des scènes sans perte de signaux clés.
Disponibilité : mode de réduction FX, profils de couleur daltonisme, sous-titres, alerte flash.

5) Animations/caméras/VFX

Schéma « anticipation → impact → settle », durée des grands vins ≤ 2. 5 s
Caméra : plan de travail statique + court (≤1. 2 c) événements ; limitation du roulis/zoom.
FX : Niagara/VFX Graphique avec capuchon d'émetteur, particules de GPU, tri des transparences, minimum de redondance.
Sink audio : ± 20 ms aux pics d'animation, ducking de la piste de fond lorsque vous gagnez.

6) Optimisation pour mobile/Web/MS

Objectifs du FPS : 60 (idéal), coffre-fort 30. Durée de la trame 16. 7/33. 3 ms.
Budgets de la scène (repères) :
  • Мобайл mid-range : 80-120k le tris/cadre, ≤120 draw calls, les ombres dynamiques le minimum.
  • Desctop : 180-300k tris, ≤200 -300 draw calls.
  • Textures : atlas, compression (ASTC/ETC2 sur le mobile, BCn sur le bureau), niveaux de mip, limite de 4k uniquement pour les gros backgrounds.
  • Éclairage : baked/mixed, Light Probe/Reflection Probe ; sur l'UE - débrancher le GI cher sur le mobile ; sur Unity - URP (pour les mobiles) avec des shaders simples.
  • Lodes/imposteurs : 2-3 niveaux ; un fond de culling agressif.
  • Shaders : contrôle de variabilité, préwarm ; на Unity — SRP Batcher; sur l'UE - matériaux-instances au lieu de doublons.
  • WebGL : Unity WebGL - scènes légères ; désactiver les effets post lourds, utiliser un fond statique, optimiser la taille du gang. Pixel Streaming UE - uniquement pour les canaux promotionnels/à fort débit (latence).
  • Mémoire : cible mobile ≤ 256-400 Mo par scène ; pools pour VFX/audio ; déchargement des assets lors du changement de mode.

7) Logique du mécanicien d'arcade

Mini-jeux (pick/timing/bou) - logique locale et validation sur le serveur (si la récompense est significative).
Gamification (niveaux/missions/passes) - les progrès sont stockés sur le serveur ; le client ne lit que la vue.
Volatilité du profil des frispins (beaucoup × petits vs peu × gros) - contrôlé par le serveur, le client montre le choix.

8) RNG, paiements, conformité

L'issue du dos/bonus est strictement serveur RNG/mathématiques, le client ne stocke pas les sièges, ne simule pas EV.
Le serveur renvoie le résultat + trace prouvée ; le client est un visuel.
Restriction « faux choix » : lorsque le client est pré-draw, il est tenu d'informer le client que l'ordre d'ouverture n'affecte pas EV.
Logs d'audit, limites, rappels responsables (séance, dépôts au GRR ou limites douces au social).
RTP ne change pas en raison des animations/temps des scènes.

9) Assemblage, patch et multiplatforme

Unity

AndroID:IL2CPP + ARM64; Split APK/ABB; Addressables Remote Catalogue pour les mises à jour « à chaud ».
iOS: IL2CPP + Metal; Bitcode (si nécessaire), App Thinning ; Ressources à la demande avec des assets lourds.
PC/WebGL : profils de qualité distincts ; CDN pour les gangs.

Unreal

Fichiers pak avec Chunking, DLC-Chanks pour les événements/saisons ; IoStore.
Mobile : éteindre les fiches lourdes (GI dynamique complet/ombres chères), utiliser un renderer mobile.
Patching : delta-patchs de niveau chank, la version des données est séparée du code.

10) Analytique, A/B, configuration à distance

Événements : temps jusqu'à la première récompense, fréquence des entrées bonus, pourcentage de sceps de scènes, FPS/mémoire, profondeur de progrès, proportion de missions terminées, sessions « sèches ».
A/B : durée des scènes de kat, densité FX, valeurs des récompenses « balises », complexité des missions, disposition UI.
Remote Bou/ficheflags : modifications instantanées sans sortie.
Vie privée : métriques agrégées, RGPD/CCPA ; identifiants personnels désactivables.

11) Sécurité du client

Pinning TLS, vérification de certificat, protection par relais.
Signature hash des configs ; anti-tampon (obstruction/contrôles d'intégrité).
Validation serveur de tous les prix/progrès ; client « aveugle » pour des opérations économiquement significatives.
Détection des bots : variabilité des temporisations, anomalies des sessions, heuristiques sur les schémas répétés.

12) Pipline de commandement

Git + LFS/Performance (UE) pour les assets lourds ; trunk-based avec des violettes courtes.
CI/CD : vérification de l'assemblage/dimensions/profil ; auto-génération Addressables/ChunkId.
Gate-metrics avant la sortie : FPS 60 ± 5 sans dépannage sur les appareils de référence, stabilité de la mémoire, temps de chargement <5-8 c (première entrée), scène Big Wine ≤ 2. 5 c.

13) Repères numériques (pour le démarrage)

Draw calls mobile : ≤120 ; le désistement est ≤300.
Textures : 2k maximum pour les fonds clés, le reste est ≤1k ; toujours des mipes.
Audio : thèmes gagnants ≤3 c ; stems (ambient/SFX/UI/fanfare), ducking -6... -9 dB.
Chargement : démarrage à froid ≤8 c, répétition ≤3 c ; FX/bonus fainéants.
Scène bonus : entrée 0. 8–1. 5 c, cadre final du prix ≤1 c, retour instantané.

14) Chèque de mise en œuvre

1. Fixer des objectifs : plateformes, FPS, taille du client, budgets.
2. Définir l'architecture et les limites de la responsabilité du serveur (RNG/économie/progrès).
3. Sélectionnez le moteur selon les critères de spectacle/temps/compétences.
4. Configurer le contenu en ligne (AddressablesPak/Chunks), Remote Bou.
5. Réaliser UI/UX avec la lisibilité des gains et la disponibilité.
6. Assembler VFX/caméras selon le schéma timing/impact/settle, limiter les durées.
7. Entrez la télémétrie, A/B et les alertes de performance.
8. Optimisation pour les devis cibles (LOD, compression, batch).
9. Fermer la sécurité (pinning, anti-tampon, validation serveur).
10. Faire des tests device, fix budgets, sortie gate.
11. Personnalisez le contenu de patch/saisonnier sans mettre à jour l'application.
12. Plan de rééquilibrage régulier de l'économie et de la densité visuelle selon les données.

Conclusion : Unity et Unreal accélèrent la production de slots d'arcade, offrant un visuel haut de gamme et un pipline confortable. Il est essentiel de maintenir un serveur d'autorité en mathématiques, de construire un spectacle contrôlé (caméra/FX/audio) et de maintenir les performances dans les budgets. Avec cette approche, la fente reste honnête sur RTP, rapide sur les appareils et spectaculaire dans l'alimentation - exactement ce que la section « Slots d'arcade : plus que de simples rotations » attend.