Სათამაშო ძრავების გამოყენება (Unity, Unreal) არკადულ სლოტებში

არკადული სლოტები მოითხოვს კინემატოგრაფიას, სტაბილურ FPS- ს და მკაცრ მათემატიკურ პატიოსნებას. Unity და Unreal დახურავს ვიზუალს, წარმოების ინსტრუმენტებს და მრავალ პლატფორმას, ხოლო სერვერი პასუხისმგებელია RNG/გადახდაზე. ქვემოთ მოცემულია გადაწყვეტილების ჩარჩო სპეციფიკით მობილური/ვებ/RS.

1) ძირითადი არქიტექტურა

```
[Unity/Unreal კლიენტი]
├─ UI/UX (UGUI/UI ToolkitUMG)
• ანიმაცია (TimelineSequencer)
├─ VFX (VFX GraphNiagara)
• სცენის/მინი თამაშების ლოგიკა (CC++)
Networking (WebSocket/HTTP, Protobuf/JSON)
TLS + pinning
[თამაშის უკანა პლანზე]
• სერვერის RNG/Slot მათემატიკა (სერტიფიკატები).
• ეკონომიკა/ბალანსი/კონფისკაცია (Remote Config)
პროგრესის/პასების/კოლექციების საცავი
• ანტიფროდი/ლიმიტები/საპასუხისმგებლო თამაში
• ანალიტიკა/AB/ექსპერიმენტები/ფიჩეფლაგები
```

პრინციპები: კლიენტი - ვიზუალური და შეყვანა; უკანა და მეტა გადახდების შედეგი სერვერზე; ყველა ჯილდო/ბალანსი კონფისკაციაშია სერვერის მოვალეობასთან. RTP უცვლელი სავალდებულოა.

2) ძრავის არჩევანი: როდის არის ერთობა, როდესაც Unreal

Unity: სწრაფი წვდომა მობილური და WebGL, ფართო SDK, Addressables, C- სტეკი, UGUI/UI Toolkit, VFX Graph. სასურველია 2D/სტილიზებული 3D, მსუბუქი კლიენტი, სწრაფი გამეორება, Title- ის დიდი რაოდენობა
ო ზოგადი კოდის ბაზით.
Unreal: High-end 3D, კინემატოგრაფია ყუთიდან, Sequencer, Niagara, ძლიერი C++ rander, bluprints დიზაინერებისთვის. სასურველია პრემიუმ 3D სცენებისთვის, რთული კამერული წარმოება, RS/კონსოლი; მობილურზე - გამოცდილი გუნდის თანდასწრებით და გააზრებული ოპტიმიზაცია.
არჩევანის კრიტერიუმები: მიზნობრივი მოწყობილობები, საჭირო სანახაობა, გუნდის კომპეტენციები, ვადები, ბილეთის/პატჩინგის ძვლები, ვებ კლიენტის მოთხოვნები.

3) Pipline შინაარსი და მონაცემები

Unity

Addressables შინაარსის ნაკადისთვის; ვერსიის კატალოგები.
ScriptableObjects გადახდების, მისიის, კოლექციის ცხრილების ქვეშ; დაღვრა Remote Config- ის მეშვეობით.
Timeline ბონუსის/დიდი ღვინოების სცენების შესავალისთვის.
VFX Graph მოგების ეფექტებისთვის საბურავების პროფილირებით.

Unreal

Pak ფაილები/Chunking პატჩებისთვის; PrimaryAsset Labels и ChunkId.
DatAble/DataAsset კონფისკაციისთვის; Gameplay Tags სახელმწიფოებისთვის.
Sequencer საკაბელო სცენებისთვის; Niagara FX- სთვის LOD- ით.
StreamableManor ასინქრონული დატვირთვისთვის.

ზოგადი: მკაცრი ვერსიის სქემა, „კოდის მონაცემების“ გამიჯვნა, „ცხელი“ პარამეტრები - მხოლოდ სერვერისგან.

4) UI/UX და კითხვა

კავშირი: UGUI (საიმედოდ) ან UI Toolkit (თანამედროვე ლეიაუტი).
Unreal: UMG + Slate კასტომიური ვიჯეტებისთვის.
ესკიზი: ერთი კონტურული მოგების მრიცხველი (ease-out), მკაფიო კონტრასტები, ნიღბები მტევნების/ხაზების განათებისთვის.
სცენის სკიპი/აჩქარება ძირითადი სიგნალების დაკარგვის გარეშე.
ხელმისაწვდომობა: FX შემცირების რეჟიმი, დისტანციური ფერის პროფილები, სუბტიტრები, გაფრთხილება გავრცელების შესახებ.

5) ანიმაციები/კამერები/VFX

„anticipation - impact - settle“ სქემა, დიდი ღვინოების ხანგრძლივობა - 2. 5 ს
კამერა: სტატიკური სამუშაო გეგმა + მოკლე (1). 2 გ) მოვლენები; კრენის/ზუმის შეზღუდვა.
FX: Niagara/VFX Graph ემიტერების წვეთი, GPU ნაწილაკები, გამჭვირვალეობის დახარისხება, მინიმალური ოვერდროუ.
შოუს აუდიო: ± 20 ms ანიმაციის მწვერვალებზე, მოგების დროს ფონის ტრეკზე.

6) ოპტიმიზაცია მობილური/ვებ/RS

FPS- ის მიზნები: 60 (იდეალი), ყალბი სეიფი 30. ჩარჩოს დრო 16. 7/33. 3 ms.
სცენის ბიუჯეტები (სახელმძღვანელო):
  • Mobile mid-range: 80-120k tris/ჩარჩო, 120 draw calls, მინიმალური დინამიური ჩრდილები.
  • Desctop: 180-300k tris, 200-300 draw calls.
  • ტექსტურები: ატლასი, კომპრესია (ASTC/ETC2 mobile, BCn desctop), mip დონე, 4k შეზღუდვა მხოლოდ დიდი ფონი.
  • განათება: baked/mix, Light Probe/Reflection Probe; UE- ზე - გამორთეთ ძვირადღირებული GI მობილური; Unity - URP (mobiles) მარტივი shaders- ით.
  • Loads/imposters: 2-3 დონე; აგრესიული ფონის ფონი.
  • Shaders: ცვალებადობის კონტროლი, prewarm; на Unity — SRP Batcher; UE- ზე - დუბლიკატების ნაცვლად ინსტანციები.
  • WebGL: Unity WebGL - მსუბუქი სცენები; გამორთეთ მძიმე პოსტ ეფექტები, გამოიყენეთ სტატიკური ფონი, გამოიყენეთ ბანდლის ზომა. Pixel Streaming UE - მხოლოდ სარეკლამო/მაღალი ტირაჟის არხებისთვის (ლატენტობა).
  • მეხსიერება: სცენაზე 256-400 MB მობილური სამიზნე; აუზები VFX/აუდიო; რეჟიმების შეცვლისას ასეტების გადმოტვირთვა.

7) არკადული მექანიკის ლოგიკა

მინი თამაშები (pick/timing/aim) არის ადგილობრივი ლოგიკა და შესაბამისობა სერვერზე (თუ ჯილდო მნიშვნელოვანია).
Gamification (დონის/მისიის/პასების) - პროგრესი ინახება სერვერზე; კლიენტი მხოლოდ ფორმას კითხულობს.
ფრისპინების პროფილის ცვალებადობა (მრავალი × პატარა vs რამდენიმე × დიდი) - კონტროლდება სერვერის მიერ, კლიენტი აჩვენებს არჩევანს.

8) RNG, გადახდები, შესაბამისობა

უკანა/ბონუსის შედეგი არის მკაცრად სერვერული RNG/მათემატიკა, კლიენტი არ ინახავს სავარძლებს, არ ახდენს EV- ს სიმულაციას.
სერვერი უბრუნებს შედეგს + დადასტურებულ ტრეკს; კლიენტი - ვიზუალური.
შეზღუდვა „false choice“: pre-draw- ით, კლიენტი ვალდებულია აცნობოს, რომ გახსნის წესი გავლენას არ ახდენს EV- ზე.
აუდიტის ლოგოები, ლიმიტები, საპასუხისმგებლო შეხსენებები (სესიები, ანაბრები RMG- ში, ან რბილი ლიმიტები სოციალურ ენაზე).
RTP არ იცვლება ანიმაციის/სცენის დროის გამო.

9) შეკრება, პატჩინგი და მულტიპლატფორმი

Unity

AndroID:IL2CPP + ARM64; Split APK/ABB; Addressables Remote Catalog „ცხელი“ განახლებისთვის.
iOS: IL2CPP + Metal; Bitcode (საჭიროების შემთხვევაში), App Thinning; On-Demand Resources მძიმე ასეტებით.
PC/WebGL: ინდივიდუალური ხარისხის პროფილები; CDN ბანდებისთვის.

Unreal

Pak ფაილები Chunking- ით, DLC მონეტები მოვლენებისთვის/სეზონებისთვის; IoStore.
მობილური: გამორთეთ მძიმე ჩიპები (სრული დინამიური GI/ძვირადღირებული ჩრდილები), გამოიყენეთ მობილური რენდერი.
პატჩინგი: ჩანკის დონის დელტა პატჩი, მონაცემთა ვერსია გამოყოფილია კოდიდან.

10) ანალიტიკა, A/B, დისტანციური კონფიგურაცია

მოვლენები: 1-ე ჯილდოს დრო, ბონუსის შეყვანის სიხშირე, სცენის სკიპის პროცენტი, FPS/მეხსიერება, პროგრესის სიღრმე, დასრულებული მისიების წილი, „მშრალი“ სესიები.
A/B: კატის სცენების ხანგრძლივობა, FX სიმკვრივე, შუქურის ჯილდოს მნიშვნელობები, მისიების სირთულე, UI განლაგება.
Remote Config/icheflages: მყისიერი რედაქტირება გამოშვების გარეშე.
კონფიდენციალურობა: აგრეგირებული მეტრიკა, GDPR/CCPA; გამორთული პერსონალური იდენტიფიკატორები.

11) კლიენტის უსაფრთხოება

TLS pinning, სერტიფიკატის შემოწმება, raplay დაცვა.
ჰეშის კონფიგურაციის ხელმოწერა; ანტი-ტამპერი (მთლიანობის შეფუთვა/შემოწმება).
ყველა ჯილდოს/პროგრესის სერვერის შესაბამისობა; ეკონომიკურად მნიშვნელოვანი ოპერაციებისთვის „ბრმა“ კლიენტი.
ბოტების გამოვლენა: ტაიმინგის ცვალებადობა, სესიის ანომალიები, განმეორებითი ნიმუშების ევრისტიკა.

12) ბრძანების დადება

Git + LFS/Perforce (UE) მძიმე ასეტებისთვის; trunk-based მოკლე ips.
CI/CD: შეკრების/ზომის/პროფილის შემოწმება; Addressables/ChunkID მანქანების წარმოქმნა.
გამოშვებამდე Gate მეტრიკა: FPS 60 ± 5, რეფერენდუმის მოწყობილობებზე დაშვების გარეშე, მეხსიერების სტაბილურობა, დატვირთვის დრო <5-8 c (პირველი შესასვლელი), დიდი ღვინო სცენა -2. 5 c.

13) რიცხვითი მითითებები (დასაწყისისთვის)

Draw calls მობილური: 120 ევრო; დესკტოპი 300.
ტექსტურები: 2 კ მაქსიმალური ძირითადი ფონებისთვის, დანარჩენი - 1k; ყოველთვის მითები.
აუდიო: გამარჯვებული თემები 3 c; სტემები (ambient/SFX/UI/fanfare), ducking -6... - 9 dB.
ჩატვირთვა: ცივი დასაწყისი - 8 გ, ხელახალი ევრო 3 გ; ზარმაცი დატვირთვის FX/ბონუსები.
ბონუსის სცენა: შესავალი 0. 8–1. 5 გ, პრიზის საბოლოო ჩარჩო 1 წმ, მყისიერი დაბრუნება.

14) განხორციელების სია

1. მიზნების დაფიქსირება: პლატფორმები, FPS, კლიენტის ზომა, ბიუჯეტები.
2. განსაზღვრეთ სერვერის პასუხისმგებლობის არქიტექტურა და საზღვრები (RNG/ეკონომიკა/პროგრესი).
3. შეარჩიეთ ძრავა გართობის/დროის/კომპეტენციების კრიტერიუმების შესაბამისად.
4. AddressablesPak/Chunks), Remote Config კონფიგურაცია.
5. გააცნობიერეთ UI/UX მოგების კითხვით და ხელმისაწვდომობით.
6. შეაგროვეთ VFX/კამერები timing/impact/settle სქემის მიხედვით, შეზღუდეთ ხანგრძლივობა.
7. შემოიღეთ ტელემეტრია, A/B და ალერტები.
8. გაიარეთ ოპტიმიზაცია მიზნობრივი მოწყობილობებისთვის (LOD, კომპრესია, ბატჩინგი).
9. დახურეთ უსაფრთხოება (pinning, anthi temper, სერვერის სავალდებულო).
10. ჩაატარეთ მოწყობილობების ტესტები, ბიუჯეტის ფიქსი, გამოშვება.
11. პატჩინგის/სეზონური შინაარსის კონფიგურაცია განაცხადის განახლების გარეშე.
12. ეკონომიკისა და ვიზუალური სიმკვრივის რეგულარული ბალანსის გეგმა მონაცემების მიხედვით.

დასკვნა: Unity და Unreal აჩქარებენ Arcade slots- ის წარმოებას, რაც უზრუნველყოფს მაღალ ვიზუალს და მოსახერხებელ დალაგებას. კრიტიკულია მათემატიკის ავტორიტეტული სერვერის შენარჩუნება, კონტროლირებადი სანახაობის შექმნა (კამერა/FX/აუდიო) და პროდუქტიულობის შენარჩუნება ბიუჯეტებში. ამ მიდგომით, ცრემლი რჩება გულწრფელად RTP- ს მიხედვით, მოწყობილობებზე სწრაფი და გასართობი მომსახურებით - ზუსტად ის, რაც ელოდება სექციას „არკადული ცრემლები: უფრო მეტი ვიდრე მხოლოდ როტაცია“.