Әзірлеушілер слоттарды мобильді құрылғыларға қалай бейімдейді
Мобильді слот - бұл десктоптың кішірейтілген көшірмесі емес. Ол 5-6 ″ экрандарда оқылуы, жанасу кезінде сезімтал болуы, бюджеттік құрылғыларда тұрақты жұмыс істеуі, браузерлердің/OS шектеулерін құрметтеуі және батареяны «жемеуі» тиіс. Төменде - жүйелік жоспар: UX және графикадан желіге, аудио және QA дейін.
1) UX саусақ және кішкентай экран
Өлшемдері мен жанасу аймақтары: интерактивті ≥ 44-48 px; сыни кнопкалар - бас саусақтар аймағында (төменгі жартысы, қолына байланысты оң/сол шеті).
Safe areas: «аралар», Dynamic Island, дөңгелектерді есепке алу; жоғарғы элементтерге арналған ішкі жақтау (safe inset).
Бағыттары: портрет - baseline; ландшафт - жеке лейауттар/HUD қайта жинақтау. Ұтысты санау кезінде «ауыстыруды» бұғаттаңыз.
Көру иерархиясы: таңбалар және ұтыс> фон және әсерлер. Мәтіннің қарама-қайшылығы, MSDF қаріптері, сандарға арналған аутлайн.
Бір қолды басқару: негізгі CTA төменде; ставкалар панелі және бас саусақтың қашықтығындағы «Spin».
Скип және турбо: міндетті; жасырмаңыз. Сезімтал адамдар үшін «аз қозғалыс» қосыңыз.
Бос жай-күй және кеңестер: қысқаша, әрекет ету орны бойынша, модальдермен артық жүктемесіз.
2) Responsive-лейауттар және бейімделетін тор
Грид: 4-6 баған + Spin/ставка үшін бекітілген «зәкірлер».
Аспектілері: 16:9, 19. 5:9, 20:9 - позициялардың жеке пресеттері; «қысқа» жағы бойынша масштабтау.
Камера және маскалар: барабандар терезесі пиксель-дизайн бойынша өзгеріссіз; фон - маңызды мазмұнсыз созылады/кадрланады.
Мәтін: диапазондағы авто-фит (min/max), сөздерді ауыстыру, сандар/валюталардың ICU-форматтары.
3) Өнімділік: мақсат - 60 FPS қызусыз
Кадр бюджеті: 16. 7 мс. Анимациялар - «кадр бойынша» емес, тайм-драйв.
Батчинг: атластар, материалдар бойынша топтастыру/блендинг; draw calls.
Overdraw: мөлдір «жаймаларды» кесіп, маскалар/стенсилдерді пайдаланыңыз.
Жады: объектілер пулы, бөлшектерді қайта пайдалану; ASTC/ETC2/BCn + fallback бар текстуралар.
LOD: budget-GPU-дағы ауыр шейдерлерді/постэффектілерді ажырату; жеңілдетілген аялар.
GC-дәнекерлеу: анимациялық циклдарда аллокацияларды болдырмау; эмитенттерді алдын ала жүктеу/алдын ала жасау.
Бейне қойылымдар: қысқа циклдар, төмен битрейт, қайырылу/фондық жұмыс кезінде тоқта.
Жылу және батарея: ауыр көріністердің ұзақтығын қысқартыңыз, фон таймерлерінің жиілігін шектеңіз.
4) Графика және ассеттер
Атластар: 2048-4096 px, хэш аттары бойынша (cache-busting), UI/FX-ті жеке топтаңыз.
Текстуралар: қысылған форматтар (iOS/жаңа Android үшін ASTC; Android үшін ETC2; BCn - десктоп/WebGL2); WebP/PNG резерв ретінде.
Қаріптері: MSDF/SDF + көптеген PNG жинақтарының орнына шейдер (glow/outline) стильдері.
Бөлшектер: additive-блендинг, қысқа өмір, пуллинг.
Пост-эффектілер: half/quarter-res bloom, жұмсақ виньетка; әлсіз девайстарда өшіру.
Барабандардың спрайт-табақтары: pre-baked және «жұқа», артық бос орындарсыз; скролл үшін пиксель-снап.
5) Аудио, діріл және жүйелік шектеулер
Автоплей саясаты: дыбыс тек қимылмен басталады; түсінікті «дыбыс/тыныштық» тумблерді көрсетіңіз.
Микшер: пайдаланушының дауысымен ducking; бір мезгілдегі SFX лимиті.
Haptics: барабан табанындағы қысқа діріл үлгілері/үлкен ұтыс; «жабық» опциясы.
Өңдік режім: background/бұғаттау кезінде анимация/аудио үзілісі.
6) Желі және офлайн-тұрақтылық
Сыни жол: 'spin '/' bonus' - сыртқы тәуелділіксіз қысқа RPC; джиттермен экспоненциалды ретраялар.
Теңсіздік: write-операциялардағы кілт (мөлшерлеме/төлем) - қайталау → сол нәтиже.
Service Worker (вебте): ассеттер кеші, қысқа TTL манифесі, іс-шаралар алдында жылыту.
Плейсхолдерлер: skeleton-экрандар, UI оқиғаларының жергілікті кезегі, айқын «желі қол жетімді емес» мәртебелері.
7) Платформалық айырмашылықтар және контейнерлер
iOS Safari: қатаң автоплей, WebGL жады, таймерлердің фондық шектеулері.
Android Chrome/WebView: GPU/драйверлердің көп вариациялары - Mali/Adreno тестілеу.
PWA: үй экраны, офлайн кэш, бірақ push/төлем ережелерімен шектелген.
Натив/Unity: WebGL бандласы ауыр, бірақ iOS/Android үшін бірыңғай код; Addressables, per-платформа текстурасын қысу.
WebView қосымшаларында: ескіру саясатын, құпиялылықты және RG талаптарын ескеріңіз.
8) Оқшаулау және қол жетімділік
Тілдер: жолдардың ұзындығы, оң жақ сценарийлер, күн/валюта форматтары; ICU хабарламалары.
Контраст және өлшем: жоғары контраст режимі, масштабталатын қаріптер, сындарлы мәтін - қанықтығы өзгеріссіз.
Аз қозғалыс: параллакс/мойындарды ажырату; баламалы әсерлер.
9) Responsible Gaming және адалдық
РГ-құралдары: лимиттерге/тайм-аутқа/өзін-өзі жоюға жылдам қол жеткізу; түнде «тыныш режим».
Нәтиженің адалдығы: анимацияға дейін серверде нәтижені есептеу; UX құлау мүмкіндігіне әсер етпейді.
Юрисдикциялар: авто-спин/buy-feature/жылдамдық - өңірлер бойынша фичефлагтар арқылы.
10) QA-матрица және бақылау
Құрылғы матрицасы: 8-12 референт (iPhone base/Pro, Mali/Adreno бар budget/mid Android, планшеттер).
Профайлинг: FPS, draw calls, GPU/CPU time, жады/VRAM, stutters/GC.
Crash/ANR: мониторинг, seed/step бойынша проблемалық раундтардың репликалары.
Дашбордтар: First Playable, p95 желілері, артқы қате, температура (егер бар болса), D1/D7 ретеншн, «дыбыс қосылған» конверсиясы, «скип» үлесі.
11) Мобайлдағы A/B-эксперименттер
Гипотезалар: Spin позициясы, CTA өлшемі, барабан тоқтату ұзындығы, туториал тәртібі, «жұмсақ» vs «қатты» бонус-интро.
Guardrails: crash/ANR, p95 желілері, шағымдар; деградация кезінде - фичефлагтың автооткат.
Сегментация: құрылғылар/GPU/трафик арнасы бойынша - әсерлер әртүрлі болуы мүмкін.
12) Анти-паттерндер (не істемеу керек)
1:1 үстелін көшіру: ұсақ мәтін, қол жетімді емес түймешіктер.
Барлық құрылғылардағы үлкен видео/фондық әсерлер → қызып кету және FPS.
Ұтысты есептегенде кездейсоқ GC: анимация тиктерінің ішіндегі аллокация.
Клиенттің қатал enum: серверден жаңа мәндегі құлау.
Ықтималдық демо-бустері → сенім мен комплаенс бойынша соққы.
feedback жоқ желіні күту: «өлі» түймешігі, күй- жайы жоқ.
13) Шағын рецептер
Жылдам портреттік лейаут
Төменгі панелі: Spin (оң) + Bet (сол), ортасы - санауыштар.
Барабандар терезесі фикс, фон - параллакс 5-10%.
Ірі ұтыс: MSDF-сандар + glow, «Өткізіп жіберу» батырмасы.
Ұтыстың үнемді әсері
Scale-bounce тақырыбы, additive-конфетти ≤ 1 c, half-res bloom.
Діріл қысқа (10-20 мс), дыбыс - маркерлермен бір аралас.
Бюджеттік девайстарда тұрақты WebGL
Бір атлас UI + бір атлас символдары; пост-эффектілер өшірілген; 30 FPS әрекетсіздік кезінде «power-save».
14) Ұтқыр бейімделудің үлкен чек-парағы
UX/Лейаут
- Touch аймағы ≥ 44-48 px, бас саусақ аймағындағы негізгі CTA
- Safe areas/« аралар »ескерілген; портрет/ландшафт пысықталды
- Скип/турбо/аз қозғалыс қол жетімді
Кесте/Перф
- Бюджеттердегі 60 FPS (референциялар), draw calls/overdraw
- Текстура компрессиясы (ASTC/ETC2/BCn) + fallback
- LOD/ауыр әсерлерді ажырату, бөлшектер пуллингі
- Бандл және Бірінші Playable мақсатында
Желі/сенімділік
- Идемпотенттік write операциялары, джиттермен ретрайлер
- Service Worker/кэш стратегиясы (вебте)
- Ашық оффлайн/қате мәртебелері
Аудио/Вибро
- Тек қимылдан кейін автоплей, микшер және SFX лимиті
- Haptics «өшіру» опциясымен, background-да үзіліс
Комплаенс/RG
- Юрисдикциялық жалаушалар, серверде әділ нәтиже
- Лимиттерге/үзілістерге/өзін-өзі жоюға жылдам қол жеткізу
QA/Мониторинг
- Құрылғылар матрицасы өтті; GPU/CPU/жад профильдері
- Дашбордтар p95 желісі/FPS/қателер/бояулар
- Тикеттерге арналған seed/step репликалары
Слотты мобайл ретінде бейімдеу - бұл оқылатын UX теңгерімі, ұқыпты графика, тұрақты желі және әдеп. Командалар экранды саусақтар мен safe areas арқылы жобалағанда жеңіске жетеді, 60 FPS және жеңіл бандлды ұстайды, iOS/Android саясатын ескереді, нақты құрылғыларда тестілейді және канарейка жалаулары бойынша фичтерді қосады. Осылайша слоттар кез келген смартфонда әдемі, жылдам және адал болып қалады.