Arcade yuvalarında oyun motorlarını (Unity, Unreal) kullanma
Arcade yuvaları sinematografi, istikrarlı FPS ve katı matematiksel dürüstlük gerektirir. Unity ve Unreal görsel, üretim araçlarını ve çoklu platformu kapatır ve sunucu RNG/ödemelerden sorumludur. Aşağıda mobil/web/PC için özellikleri ile çözümün çerçevesidir.
1) Temel mimari
```
[Unity/Unreal Client]
İlkeler: müşteri - görsel ve girdi; Spin ve meta-ödeme sonucu - sunucuda; Tüm ödüller/denge - sunucu doğrulaması ile yapılandırma içinde. RTP değişmezliği gereklidir.
2) Motor seçimi: Unity, Unreal olduğunda
Birlik: mobil ve WebGL'ye hızlı erişim, geniş SDK yığını, Adresler, C-yığını, UGUI/UI Araç Kiti, VFX Grafiği. 2D/stylized 3D, hafif istemci, hızlı yineleme, çok sayıda Başlık için tercih edilir
Ortak bir kod tabanı olan s.
Unreal: Üst düzey 3D, kutudan çıkan sinematografi, Sequencer, Niagara, güçlü C++ markası, tasarımcılar için bluprintler. Premium 3D sahneler, karmaşık oda üretimi, PC/konsol için tercih edilir; Mobil - deneyimli bir ekip ve düşünceli optimizasyon ile.
Seçim kriterleri: hedef cihazlar, gerekli eğlence, takım yetkinlikleri, son tarihler, yapı/yama kemikleri, web istemci gereksinimleri.
3) İçerik boru hattı ve veriler
Birlik
İçerik akışı için adresler; sürüm katalogları.
Ödeme tabloları, görevler, koleksiyonlar için ScriptableObjects; Remote Config ile çözümleme.
Bonus/büyük şarap sahnesi tanıtımları için zaman çizelgesi.
Profilli kazanç efektlerini toplamak için VFX Grafiği.
Gerçek dışı
Pak dosyaları/yamalar için Chunking; PrimaryAsset Etiketleri и ChunkId.
Yapılandırmalar için DataTable/DataAsset; Devletler için Oyun Etiketleri.
Kesilmiş sahneler için sequencer; LOD ile FX için Niagara.
Eşzamansız yükleme için StreamableManager.
Genel: katı sürüm şeması, "kod vs veri", "sıcak" parametrelerin ayrılması - yalnızca sunucudan.
4) UI/UX ve okunabilirlik
Unity: UGUI (güvenilir) veya UI Toolkit (modern düzenler).
Unreal: Özel widget'lar için UMG + Slate.
Oluşturma: bir kontur puanı (hareket hızı), net kontrastlar, aydınlatıcı kümeler/çizgiler için maskeler.
Önemli sinyalleri kaybetmeden sahneleri atlayın/hızlandırın.
Kullanılabilirlik: FX aşağı modu, renk renk profilleri, altyazılar, flaş uyarısı.
5) Animasyonlar/Kameralar/VFX
Şema "aşılama - darbe - yerleşme", büyük şarapların süresi ≤ 2. 5 p.
Kamera: statik çalışma planı + kısa (≤1. 2 c) olaylar; Roll/zoom sınırlaması.
FX: Yayıcı başlığı, GPU parçacıkları, saydamlık sıralaması, minimum overdrive ile Niagara/VFX Grafiği.
Ses lavabosu: Animasyonların zirvelerine 20ms ±, kazanırken arka plan parçasını örterek.
6) Mobil/web/PC için optimizasyon
FPS hedefleri: 60 (ideal), güvenli 30 başarısız. Çerçeve süresi 16. 7/33. 3 ms.
Aşama bütçeleri (kriterler):
7) Arcade mekaniğinin mantığı
Mini oyunlar (pick/timing/aim) - sunucuda yerel mantık ve doğrulama (ödül önemliyse).
Oyunlaştırma (seviyeler/görevler/geçişler) - ilerleme sunucuda saklanır; Müşteri sadece görünümü okur.
Freespin profilinin volatilitesi (çok × biraz vs biraz × çok) sunucu tarafından kontrol edilir, istemci seçimi gösterir.
8) RNG, ödemeler, uyumluluk
Spin/bonusun sonucu kesinlikle sunucu RNG/matematiktir, istemci tarafları saklamaz, EV'yi simüle etmez.
Sunucu sonuç + kanıtlanabilir iz döndürür; müşteri - görsel.
Kısıtlama "yanlış seçim": Önceden çizildiğinde, müşteri açılış emrinin EV'yi etkilemediğini bildirmek zorundadır.
Denetim günlükleri, limitler, sorumlu hatırlatıcılar (oturum, RMG'deki depozitolar veya sosyal ortamdaki yumuşak limitler).
RTP, sahne animasyonları/zamanlaması nedeniyle değişmez.
9) Montaj, yama ve çoklu platform
Birlik
AndroID:IL2CPP + ARM64; Bölünmüş APK/ABB; Sıcak güncellemeler için Adresler Uzak Katalog.
IOS: IL2CPP + Metal; Bitcode (gerekirse), App Thinning; Ağır varlıklar için Talep Üzerine Kaynaklar.
PC/WebGL: bireysel kalite profilleri; Paketler için CDN.
Gerçek dışı
Chunking ile Pak dosyaları, olaylar/mevsimler için DLC parçaları; IoStore.
Mobil: Ağır özellikleri kapatın (tam dinamik GI/pahalı gölgeler), bir mobil oluşturucu kullanın.
Yama: Yığın seviyesinin delta yamaları, veri sürümü koddan ayrıdır.
10) Analitik, A/B, uzaktan yapılandırma
Etkinlikler: 1. ödül zamanı, bonus girişlerinin sıklığı, sahne atlama yüzdesi, FPS/bellek, ilerleme derinliği, tamamlanan görevlerin paylaşımı, "kuru" oturumlar.
A/B: cutscene süresi, FX yoğunluğu, beacon ödül değerleri, görev karmaşıklığı, UI düzenleri.
Uzaktan Yapılandırma/ficheflags: serbest bırakmadan anında düzenlemeler.
Gizlilik: toplu metrikler, GDPR/CCPA; Kişisel tanımlayıcıları devre dışı bıraktı.
11) Müşteri güvenliği
TLS sabitleme, sertifika doğrulama, tekrar oynatma koruması.
Yapılandırmaların karma imzası; Anti-kurcalama (şaşırtma/bütünlük kontrolleri).
Tüm ödüllerin/ilerlemenin sunucu doğrulaması; Ekonomik açıdan önemli operasyonlar için "kör" müşteri.
Bot tespiti: zamanlama değişkenliği, oturum anomalileri, tekrarlayan modeller için sezgisel yöntemler.
12) Takım boru hattı
Ağır varlıklar için Git + LFS/Perforce (UE); Kısa fichevets ile gövde tabanlı.
CI/CD: montaj/boyut/profil kontrolü; Adreslerin otomatik üretimi/ChunkId.
Piyasaya sürülmeden önce kapı metrikleri: FPS 60 ± 5, referans cihazlarında düşüşler olmadan, bellek kararlılığı, önyükleme süresi <5-8 s (ilk giriş), büyük şarap sahnesi ≤ 2. 5 c.
13) Sayısal yer işaretleri (başlangıç için)
Çiz mobil çağrıları: ≤120; Masaüstü ≤300.
Dokular: Anahtar arka planlar için maksimum 2k, geri kalanı ≤1k; Hep miyavlar.
Ses: kazanan temalar ≤3 c; Sistemler (ortam/SFX/UI/fanfare), kanal açma -6... - 9 dB.
Yükleme: soğuk başlangıç ≤8 c, tekrarlanan ≤3 c; Tembel FX yüklemeleri/bonusları.
Bonus Sahne: Giriş 0. 8–1. 5 c, son ödül çerçevesi ≤1 c, anında dönüş.
14) Uygulama kontrol listesi
1. Hedefler belirleyin: platformlar, FPS, müşteri büyüklüğü, bütçeler.
2. Sunucu sorumluluğunun mimarisini ve sınırlarını tanımlayın (RNG/ekonomi/ilerleme).
3. Motoru eğlence/zaman/yetkinlik kriterlerine göre seçin.
Sonuç: Unity ve Unreal, arcade slotlarının üretimini hızlandırarak yüksek görsel ve kullanışlı bir boru hattı sağlar. Sunucu otoritesini matematikte tutmak, kontrollü eğlence (kamera/FX/ses) oluşturmak ve performansı bütçelerde tutmak çok önemlidir. Bu yaklaşımla, slot RTP'de dürüst, cihazlarda hızlı ve sunumda muhteşem kalır - "Arcade slotları: sadece dönüşlerden daha fazlası" bölümünü tam olarak ne bekler.
1) Temel mimari
```
[Unity/Unreal Client]
├─ UI/UX (UGUI/UI Toolkit | UMG) |
---|---|
├─ Zaman Çizelgesi | Sequencer |
├─ VFX (VFX Grafiği | Niagara) |
├─ Sahne/Minigame Mantığı (C | C++) |
└─ ağ (WebSocket/HTTP, Protobuf/JSON) | |
│ | |
TLS + sabitleme | |
│ | |
[Oyun arka ucu] | |
├─ Sunucu RNG/Slot Matematik (Sertifikalı) | |
├─ Ekonomi/Denge/Yapılandırma (Uzaktan Yapılandırma) | |
├─ İlerlemenin/geçişlerin/koleksiyonların depolanması | |
├─ Dolandırıcılıkla Mücadele/Sınırlar/Sorumlu Oyun | |
└─ Analytics/AB/Deneyler/Phicheflags | |
``` |
İlkeler: müşteri - görsel ve girdi; Spin ve meta-ödeme sonucu - sunucuda; Tüm ödüller/denge - sunucu doğrulaması ile yapılandırma içinde. RTP değişmezliği gereklidir.
2) Motor seçimi: Unity, Unreal olduğunda
Birlik: mobil ve WebGL'ye hızlı erişim, geniş SDK yığını, Adresler, C-yığını, UGUI/UI Araç Kiti, VFX Grafiği. 2D/stylized 3D, hafif istemci, hızlı yineleme, çok sayıda Başlık için tercih edilir
Ortak bir kod tabanı olan s.
Unreal: Üst düzey 3D, kutudan çıkan sinematografi, Sequencer, Niagara, güçlü C++ markası, tasarımcılar için bluprintler. Premium 3D sahneler, karmaşık oda üretimi, PC/konsol için tercih edilir; Mobil - deneyimli bir ekip ve düşünceli optimizasyon ile.
Seçim kriterleri: hedef cihazlar, gerekli eğlence, takım yetkinlikleri, son tarihler, yapı/yama kemikleri, web istemci gereksinimleri.
3) İçerik boru hattı ve veriler
Birlik
İçerik akışı için adresler; sürüm katalogları.
Ödeme tabloları, görevler, koleksiyonlar için ScriptableObjects; Remote Config ile çözümleme.
Bonus/büyük şarap sahnesi tanıtımları için zaman çizelgesi.
Profilli kazanç efektlerini toplamak için VFX Grafiği.
Gerçek dışı
Pak dosyaları/yamalar için Chunking; PrimaryAsset Etiketleri и ChunkId.
Yapılandırmalar için DataTable/DataAsset; Devletler için Oyun Etiketleri.
Kesilmiş sahneler için sequencer; LOD ile FX için Niagara.
Eşzamansız yükleme için StreamableManager.
Genel: katı sürüm şeması, "kod vs veri", "sıcak" parametrelerin ayrılması - yalnızca sunucudan.
4) UI/UX ve okunabilirlik
Unity: UGUI (güvenilir) veya UI Toolkit (modern düzenler).
Unreal: Özel widget'lar için UMG + Slate.
Oluşturma: bir kontur puanı (hareket hızı), net kontrastlar, aydınlatıcı kümeler/çizgiler için maskeler.
Önemli sinyalleri kaybetmeden sahneleri atlayın/hızlandırın.
Kullanılabilirlik: FX aşağı modu, renk renk profilleri, altyazılar, flaş uyarısı.
5) Animasyonlar/Kameralar/VFX
Şema "aşılama - darbe - yerleşme", büyük şarapların süresi ≤ 2. 5 p.
Kamera: statik çalışma planı + kısa (≤1. 2 c) olaylar; Roll/zoom sınırlaması.
FX: Yayıcı başlığı, GPU parçacıkları, saydamlık sıralaması, minimum overdrive ile Niagara/VFX Grafiği.
Ses lavabosu: Animasyonların zirvelerine 20ms ±, kazanırken arka plan parçasını örterek.
6) Mobil/web/PC için optimizasyon
FPS hedefleri: 60 (ideal), güvenli 30 başarısız. Çerçeve süresi 16. 7/33. 3 ms.
Aşama bütçeleri (kriterler):
- Mobil orta menzil: 80-120k tris/frame, ≤120 çizim çağrıları, en az dinamik gölgeler.
- Masaüstü: 180-300k tris, ≤200 -300 beraberlik çağrıları.
- Dokular: atlaslar, sıkıştırma (mobilde ASTC/ETC2, masaüstünde BCn), mip seviyeleri, yalnızca büyük arka planlar için 4k sınırı.
- Aydınlatma: pişmiş/karışık, Işık Probu/Yansıma Probu; UE'de - mobil cihazlarda pahalı GI'yi devre dışı bırakın; Unity - Basit gölgelendiricilerle URP (mobil için).
- Loda/Mullions: 2-3 seviyeleri; agresif arka plan toplama.
- Gölgelendiriciler: değişkenlik kontrolü, ön warm; на Birliği - SRP Batcher; UE üzerinde - kopyalar yerine örnek malzeme.
- WebGL: Birlik WebGL - hafif sahneler; Ağır son efektleri kapatın, statik bir arka plan kullanın, paket boyutunu optimize edin. Pixel Streaming UE - yalnızca promosyon/yüksek bit hızı kanalları (gecikme).
- Bellek: hedef mobil ≤ sahne başına 256-400 MB; Modları değiştirirken VFX/Ses boşaltma varlıkları için havuzlar.
7) Arcade mekaniğinin mantığı
Mini oyunlar (pick/timing/aim) - sunucuda yerel mantık ve doğrulama (ödül önemliyse).
Oyunlaştırma (seviyeler/görevler/geçişler) - ilerleme sunucuda saklanır; Müşteri sadece görünümü okur.
Freespin profilinin volatilitesi (çok × biraz vs biraz × çok) sunucu tarafından kontrol edilir, istemci seçimi gösterir.
8) RNG, ödemeler, uyumluluk
Spin/bonusun sonucu kesinlikle sunucu RNG/matematiktir, istemci tarafları saklamaz, EV'yi simüle etmez.
Sunucu sonuç + kanıtlanabilir iz döndürür; müşteri - görsel.
Kısıtlama "yanlış seçim": Önceden çizildiğinde, müşteri açılış emrinin EV'yi etkilemediğini bildirmek zorundadır.
Denetim günlükleri, limitler, sorumlu hatırlatıcılar (oturum, RMG'deki depozitolar veya sosyal ortamdaki yumuşak limitler).
RTP, sahne animasyonları/zamanlaması nedeniyle değişmez.
9) Montaj, yama ve çoklu platform
Birlik
AndroID:IL2CPP + ARM64; Bölünmüş APK/ABB; Sıcak güncellemeler için Adresler Uzak Katalog.
IOS: IL2CPP + Metal; Bitcode (gerekirse), App Thinning; Ağır varlıklar için Talep Üzerine Kaynaklar.
PC/WebGL: bireysel kalite profilleri; Paketler için CDN.
Gerçek dışı
Chunking ile Pak dosyaları, olaylar/mevsimler için DLC parçaları; IoStore.
Mobil: Ağır özellikleri kapatın (tam dinamik GI/pahalı gölgeler), bir mobil oluşturucu kullanın.
Yama: Yığın seviyesinin delta yamaları, veri sürümü koddan ayrıdır.
10) Analitik, A/B, uzaktan yapılandırma
Etkinlikler: 1. ödül zamanı, bonus girişlerinin sıklığı, sahne atlama yüzdesi, FPS/bellek, ilerleme derinliği, tamamlanan görevlerin paylaşımı, "kuru" oturumlar.
A/B: cutscene süresi, FX yoğunluğu, beacon ödül değerleri, görev karmaşıklığı, UI düzenleri.
Uzaktan Yapılandırma/ficheflags: serbest bırakmadan anında düzenlemeler.
Gizlilik: toplu metrikler, GDPR/CCPA; Kişisel tanımlayıcıları devre dışı bıraktı.
11) Müşteri güvenliği
TLS sabitleme, sertifika doğrulama, tekrar oynatma koruması.
Yapılandırmaların karma imzası; Anti-kurcalama (şaşırtma/bütünlük kontrolleri).
Tüm ödüllerin/ilerlemenin sunucu doğrulaması; Ekonomik açıdan önemli operasyonlar için "kör" müşteri.
Bot tespiti: zamanlama değişkenliği, oturum anomalileri, tekrarlayan modeller için sezgisel yöntemler.
12) Takım boru hattı
Ağır varlıklar için Git + LFS/Perforce (UE); Kısa fichevets ile gövde tabanlı.
CI/CD: montaj/boyut/profil kontrolü; Adreslerin otomatik üretimi/ChunkId.
Piyasaya sürülmeden önce kapı metrikleri: FPS 60 ± 5, referans cihazlarında düşüşler olmadan, bellek kararlılığı, önyükleme süresi <5-8 s (ilk giriş), büyük şarap sahnesi ≤ 2. 5 c.
13) Sayısal yer işaretleri (başlangıç için)
Çiz mobil çağrıları: ≤120; Masaüstü ≤300.
Dokular: Anahtar arka planlar için maksimum 2k, geri kalanı ≤1k; Hep miyavlar.
Ses: kazanan temalar ≤3 c; Sistemler (ortam/SFX/UI/fanfare), kanal açma -6... - 9 dB.
Yükleme: soğuk başlangıç ≤8 c, tekrarlanan ≤3 c; Tembel FX yüklemeleri/bonusları.
Bonus Sahne: Giriş 0. 8–1. 5 c, son ödül çerçevesi ≤1 c, anında dönüş.
14) Uygulama kontrol listesi
1. Hedefler belirleyin: platformlar, FPS, müşteri büyüklüğü, bütçeler.
2. Sunucu sorumluluğunun mimarisini ve sınırlarını tanımlayın (RNG/ekonomi/ilerleme).
3. Motoru eğlence/zaman/yetkinlik kriterlerine göre seçin.
4. Configure Content Pipeline (Adresler | Pak/Parçalar), Remote Config. |
---|---|
5. Kazanılabilirlik ve kullanılabilirlik ile UI/UX uygulayın. | |
6. VFX/kameraları zamanlama/darbe/yerleşim şemasına göre monte edin, süreyi sınırlayın. | |
7. Telemetri, A/B ve performans uyarıları girin. | |
8. Hedef cihazlar için optimizasyona tabi tutulur (LOD, sıkıştırma, butching). | |
9. Yakın güvenlik (sabitleme, anti-kurcalama, sunucu doğrulama). | |
10. Cihaz testleri, sabit bütçeler, serbest bırakma kapısı yapın. | |
11. Uygulamayı güncellemeden yamayı/mevsimsel içeriği ayarlayın. | |
12. Verilerden ekonominin ve görsel yoğunluğun düzenli olarak yeniden dengelenmesi için plan yapın. |
Sonuç: Unity ve Unreal, arcade slotlarının üretimini hızlandırarak yüksek görsel ve kullanışlı bir boru hattı sağlar. Sunucu otoritesini matematikte tutmak, kontrollü eğlence (kamera/FX/ses) oluşturmak ve performansı bütçelerde tutmak çok önemlidir. Bu yaklaşımla, slot RTP'de dürüst, cihazlarda hızlı ve sunumda muhteşem kalır - "Arcade slotları: sadece dönüşlerden daha fazlası" bölümünü tam olarak ne bekler.