在街機插槽中使用遊戲引擎(Unity, Unreal)

街機插槽需要電影性,穩定的FPS和嚴格的數學誠實。Unity和Unreal關閉視覺,生產工具和多平臺,服務器負責RNG/付款。下面-在移動/web/MS下具有特定細節的解決方案框架。

1)基本架構

```
[Unity/Unreal客戶端]
├─ UI/UX (UGUI/UI ToolkitUMG)
動畫├─ (TimelineSequencer)
├─ VFX (VFX GraphNiagara)
├─場景/迷你遊戲邏輯(CC++)
└─ Networking(WebSocket/HTTP,Protobuf/JSON)
TLS + pinning
[遊戲背景]
├─服務器RNG/插槽數學(認證。)
├─ 經濟學/資產負債表/config (Remote Config)
├─進度/進度/收藏
├─ Antifrod/限制/負責任遊戲
└─ 分析/AB/實驗/ficheflagi
```

原則:客戶-視覺和輸入;自旋和元支付的結果-在服務器上;所有獎項/均衡-在具有服務器驗證的config中。RTP不變性是強制性的。

2)引擎選擇:Unity何時,Unreal何時

Unity:快速移動和WebGL,寬源SDK,Addressables,C堆棧,UGUI/UI工具包,VFX Graph。優選於2D/風格化的 3D、輕量級客戶機、快速叠代、大量Tytle
具有通用代碼基礎的ob。
虛幻:高端3D,開箱即用的電影,Sequencer, Niagara,強大的C++渲染,專為設計師設計。優選高級3D場景,復雜的室內制作,MS/控制臺;在移動上-有經驗豐富的團隊和周到的優化。
選擇標準:目標設備,所需的娛樂性,團隊能力,時機,比爾/補丁骨頭,Web客戶端要求。

3)內容管道和數據

Unity

用於內容流媒體的Addressables;轉學目錄。
付款,任務,收藏表下的ScriptableObjects;通過Remote Config展開。
時間軸用於獎金/大酒場景介紹。
VFX圖形(VFX Graph)通過戰鬥剖析獲得勝利效果。

Unreal

Pak文件/用於補丁的Chunking;PrimaryAsset Labels и ChunkId.
Configs下的DataTable/DataAsset;用於狀態的Gameplay Tags。
貓場景的Sequencer;Niagara for FX with LOD。
StreamableManager用於異步加載。

一般:嚴格的版本方案,分離「code vs data」和「熱」參數-僅來自服務器。

4) UI/UX和可讀性

Unity:UGUI(可靠)或UI Toolkit(現代layauts)。
虛幻的:UMG+Slate用於定制小部件。
渲染:一個輪廓獲勝計數器(ease-out),清晰的對比度,用於聚類/線路背光的掩碼。
跳躍/加速場景而不會丟失關鍵信號。
可用性:FX降低模式、色譜、字幕、閃爍警告。

5) 動畫/相機/VFX

「anticipation → impact → settle」方案,大葡萄酒持續時間≤ 2。5頁。
相機:靜態工作計劃+短(≤1。2 (c)事件;滾動/變焦限制。
FX: Niagara/VFX Graph帶有發射器機蓋、GPU粒子、透明分級、最小透射率。
Sink音頻:± 20毫秒到動畫的高峰,在獲勝時扣留背景軌道。

6) 在移動/Web/MS下進行優化

FPS目標:60(理想),假保險箱30。幀時間16。7/33.3毫秒。
舞臺預算(地標):

中程移動:80-120 k tris/框架,≤120 draw calls,動態陰影最小。
Desktop: 180-300k tris, ≤200 -300 draw calls。
紋理:地圖集,壓縮(ASTC/ETC2在移動上,BCn在臺式機上),mip級別,4k限制,僅適用於大型背景。
照明:烘烤/混合,光探測器/反射探測器;在UE-關閉移動設備上昂貴的GI;Unity是帶有簡單著色器的URP(用於移動)。
Lods/Imposters:2-3級;激進的洞察背景。
著色器:變異性控制,prewarm;на Unity — SRP Batcher;UE-實例材料而不是重復材料。
WebGL:Unity WebGL-輕量級場景;關閉沈重的後期效果,使用靜態背景,優化樂隊的大小。Pixel Streaming UE僅適用於促銷/高額定頻道(潛伏期)。
內存:移動目標≤每個階段256-400 MB;VFX/音頻池;在模式更改時卸載代理。

7)街機機械師的邏輯

迷你遊戲(pick/timing/aim)-服務器上的本地邏輯和驗證(如果獎勵有意義)。
遊戲化(級別/任務/pass)-進度存儲在服務器上;客戶端只讀取視圖。
Frispin配置文件的波動(很多×小vs ×大)-由服務器控制,客戶端顯示選擇。

8) RNG,付款,合規性

自旋/獎金結果-嚴格來說是服務器RNG/數學,客戶端不存儲蘋果酒,不模擬EV。
服務器返回結果+可證明的跟蹤;客戶端-視覺。
限制「false choice」:在預繪制中,客戶端必須告知打開順序不會影響EV。
審計記錄,限制,負責任的提醒(會話,RMG存款或社會軟限制)。
由於動畫/場景時間,RTP不會更改。

9)組裝、修補和多平臺形式

Unity

AndroID: IL2CPP + ARM64;Split APK/ABB;Addressables遠程目錄用於「熱」更新。
iOS: IL2CPP + Metal;Bitcode(如果需要),App Thinning;重型資產中的按需資源。
PC/WebGL:單獨的質量配置文件;幫派的CDN。

Unreal

帶有Chunking的Pak文件,用於活動/季節的DLC錢卡;IoStore.
移動:關閉重型攝像頭(完全動態的GI/昂貴的陰影),使用移動渲染器。
修補程序:delta-chunk level修補程序,數據版本與代碼分開。

10)分析,A/B,遠程配置

事件:獲得第一獎項的時間,獎金輸入的頻率,場景跳過百分比,FPS/內存,進度深度,完成任務的比例,「幹燥」會議。
A/B:過場動畫的持續時間,FX密度,「燈塔」獎勵值,任務復雜性,UI布局。
Remote Config/Ficheflags:即時編輯而無需發布。
隱私:GDPR/CCPA的強化指標;禁用個人標識符。

11)客戶安全

TLS定位,證書驗證,繼電器保護。
Configs的哈希簽名;反拭子(混淆/完整性檢查)。
所有獎項/進步的服務器驗證;「盲人」客戶從事具有經濟意義的業務。
機器人檢測:時間變異,會話異常,重復模式啟發式。

12)團隊管道

用於重型刺客的Git+LFS/Perforce(UE);基於trunk,帶有短鞭子。
CI/CD:檢查裝配/尺寸/配置文件;自動生成Addressables/ChunkId。
發布前的大門度量標準是:FPS 60 ± 5,參考設備上沒有縮寫,內存穩定性,加載時間<5-8 c(第一次輸入),大葡萄酒場景≤ 2。5 c.

13)數字地標(開始)

Draw calls mobile:≤120;≤300臺式機。
紋理:關鍵背景最多2k,其余≤1k;總是混蛋。
音頻:獲獎主題≤3 c;支架(ambient/SFX/UI/fanfare), ducking -6……-9 dB。
下載:冷啟動≤8 c,重新啟動≤3 c;懶惰的FX/獎金。
獎金場景:介紹0。8–1.5 c,獎品的最終框架≤1 c,即時回報。

14)實施支票

1.提交目標:平臺、FPS、客戶規模、預算。
2.定義服務器責任體系結構和邊界(RNG/經濟性/進度)。
3.根據視力/時間/能力標準選擇引擎。
4.設置內容管線(AddressablesPak/Chunks), Remote Config。
5.以可讀的贏家和可訪問性實現UI/UX。
6.按計時/沖擊/設置模式組裝VFX/相機,限制持續時間。
7.引入遙測,A/B和性能差異。
8.針對目標設備(LOD、壓縮、戰鬥)進行優化。
9.關閉安全性(pinning,反拭子,服務器驗證)。
10.進行設備測試,預算小說,發布門。
11.無需更新應用程序即可配置修補程序/季節性內容。
12.根據數據對經濟和視覺密度進行定期重組的計劃。

結論:Unity和Unreal通過提供高視覺效果和方便的管線,加快了街機插槽的生產。保持服務器權威的數學,建立可管理的視野(相機/FX/音頻)並保持性能預算至關重要。通過這種方法,該插槽在RTP上保持誠實,在設備上快速並且在發球中壯觀-正好是「拱廊插槽:不僅僅是旋轉」部分所期望的。