Სათამაშო ძრავების გამოყენება (Unity, Unreal) არკადულ სლოტებში
არკადული სლოტები მოითხოვს კინემატოგრაფიას, სტაბილურ FPS- ს და მკაცრ მათემატიკურ პატიოსნებას. Unity და Unreal დახურავს ვიზუალს, წარმოების ინსტრუმენტებს და მრავალ პლატფორმას, ხოლო სერვერი პასუხისმგებელია RNG/გადახდაზე. ქვემოთ მოცემულია გადაწყვეტილების ჩარჩო სპეციფიკით მობილური/ვებ/RS.
1) ძირითადი არქიტექტურა
```
[Unity/Unreal კლიენტი]
პრინციპები: კლიენტი - ვიზუალური და შეყვანა; უკანა და მეტა გადახდების შედეგი სერვერზე; ყველა ჯილდო/ბალანსი კონფისკაციაშია სერვერის მოვალეობასთან. 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.
სცენის ბიუჯეტები (სახელმძღვანელო):
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. შეარჩიეთ ძრავა გართობის/დროის/კომპეტენციების კრიტერიუმების შესაბამისად.
დასკვნა: Unity და Unreal აჩქარებენ Arcade slots- ის წარმოებას, რაც უზრუნველყოფს მაღალ ვიზუალს და მოსახერხებელ დალაგებას. კრიტიკულია მათემატიკის ავტორიტეტული სერვერის შენარჩუნება, კონტროლირებადი სანახაობის შექმნა (კამერა/FX/აუდიო) და პროდუქტიულობის შენარჩუნება ბიუჯეტებში. ამ მიდგომით, ცრემლი რჩება გულწრფელად RTP- ს მიხედვით, მოწყობილობებზე სწრაფი და გასართობი მომსახურებით - ზუსტად ის, რაც ელოდება სექციას „არკადული ცრემლები: უფრო მეტი ვიდრე მხოლოდ როტაცია“.
1) ძირითადი არქიტექტურა
```
[Unity/Unreal კლიენტი]
├─ UI/UX (UGUI/UI Toolkit | UMG) |
---|---|
• ანიმაცია (Timeline | Sequencer) |
├─ VFX (VFX Graph | Niagara) |
• სცენის/მინი თამაშების ლოგიკა (C | C++) |
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. Addressables | Pak/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- ს მიხედვით, მოწყობილობებზე სწრაფი და გასართობი მომსახურებით - ზუსტად ის, რაც ელოდება სექციას „არკადული ცრემლები: უფრო მეტი ვიდრე მხოლოდ როტაცია“.