«Візьмемо Unity, там все є» — це не технічний стек, а відсутність рішення. Ми бачимо такі запити постійно: команда починає на базовому рушії, а через півроку з'ясовується, що Render Pipeline не підходить для цільових платформ, мережевий код не масштабується, а аналітика не збирає потрібні метрики. За статистикою, близько 60% проєктів стикаються з необхідністю перегляду стеку на пізніх етапах. На старті ми допомагаємо вибрати й обґрунтувати кожну компоненту: від Render Pipeline до CI/CD. Це економить до 500 000 рублів порівняно з переробками. Невірний вибір на старті коштує дорого. Наприклад, URP обрано для мобільного проєкту — правильно. Але через три місяці знадобилися кастомні post-process ефекти — і виявилося, що команда використовувала вбудовані Renderer Features неправильно, несумісні з target API Level. Перехід з URP на Built-in посередині розробки — це 2–4 тижні переробки матеріалів. Вартість такої помилки може сягати 300 000 рублів. Замовте аудит поточного стеку, щоб уникнути таких проблем.
Як вибрати Render Pipeline?
Render Pipeline — архітектурне рішення без зворотного шляху без значних витрат. URP — стандарт для мобільних і консольних проєктів. URP забезпечує в 2-3 рази кращу продуктивність на мобільних пристроях порівняно з Built-in. Кастомні Renderer Features для post-processing та Custom Render Pass API. Обов'язковий для проєктів з VR/AR. HDRP — для PC/консолей з акцентом на фотореалізм: Ray Tracing, Volume-based lighting, Screen Space Global Illumination. Не підходить для мобільних і WebGL. Built-in Render Pipeline — legacy, але все ще актуальний для максимальної сумісності (WebGL, старі Android, Nintendo Switch). Вибір Pipeline приймається на самому початку на основі матриці вимог. Докладніше про Render Pipeline.
Чому мережевий стек — найдорожче рішення?
Мережевий код пронизує всю гру, і зміна мережевої бібліотеки на пізніх етапах — це майже переписування ігрової логіки заново. Netcode for GameObjects (NGO) — офіційний Unity multiplayer SDK для co-op ігор з < 16 гравцями. Mirror — open source з великою спільнотою, підходить для незалежних проєктів з власною серверною інфраструктурою. Photon PUN 2 / Fusion — managed cloud solution, бере на себе relay, matchmaking. Nakama — open source game server з підтримкою economy та турнірів. PlayFab — Azure-based backend з аналітикою та cloud scripts. Вибір залежить від кількості гравців, платформ та бюджету операційних витрат. Зміна мережевої бібліотеки на пізньому етапі може коштувати до 1 000 000 рублів.
| Бібліотека |
Тип |
Гравці |
Інфраструктура |
| NGO |
Official Unity |
<16 |
Relay or custom |
| Mirror |
Open source |
Hundreds |
Self-hosted |
| Photon Fusion |
Managed cloud |
Up to 100 |
Cloud (relay + matchmaking) |
| Nakama |
Open source server |
Scalable |
Self-hosted or cloud |
Аналітика та монетизація
Для мобільних проєктів з монетизацією стек зазвичай включає Firebase Analytics або GameAnalytics, Unity IAP з серверною валідацією та mediation платформи (ironSource, AppLovin) для реклами. Push-сповіщення через FCM та APNs. Правильна аналітика може збільшити retention на 15-20% та ARPU на 25%.
Як ми проводимо вибір стеку
- Аналіз вимог: платформи, жанр, механіки, бюджет, досвід команди.
- Проєктування: для кожного ключового вибору створюємо Architecture Decision Record (ADR) з варіантами, обґрунтуванням та компромісами.
- Прототипування: інтеграція вибраних компонентів у мінімальний тестовий проєкт.
- Тестування: навантажувальне тестування мережевого коду, продуктивність графіки.
- Документування: фінальний Tech Stack Document з версіями, ліцензіями, відповідальними.
Приклад ADR
Проблема: Вибір Render Pipeline для мобільного RPG проєкту з анімаціями.
Варіанти: URP, HDRP, Built-in.
Вибір: URP — забезпечує баланс якості та продуктивності, підтримка VR/AR для майбутнього порту.
Компроміси: обмежені можливості кастомних шейдерів порівняно з HDRP.
Що входить в роботу
- ADR документи по кожному ключовому компоненту (Render Pipeline, мережевий стек, аналітика, IAP)
- Tech Stack Document з версіями, ліцензіями та відповідальними
- Прототип інтеграції стеку (proof of concept)
- Навчання команди основам вибраних технологій
- Підтримка при впровадженні протягом 2 тижнів після передачі
Орієнтовні строки
| Масштаб задачі |
Строки |
| Технічний стек + ADR для нового проєкту |
3–7 днів |
| Аудит поточного стеку + рекомендації |
3–5 днів |
| Зміна Render Pipeline в існуючому проєкті |
3–6 тижнів |
| Вибір та прототипування мережевого стеку |
1–3 тижні |
Типові помилки при виборі стеку
- Вибір на основі особистих уподобань, а не вимог проєкту
- Ігнорування сумісності з платформою (наприклад, HDRP на мобільних)
- Відсутність серверної валідації IAP
- Використання одного ad network без mediation
- Відсутність ADR та документування рішень
Отримайте консультацію з вибору стеку вже сьогодні. Ми маємо 8+ років досвіду в ігровій розробці, виконали понад 50 ігрових проєктів для мобільних, PC та консолей. Наші фахівці сертифіковані (Unity Certified Developer). Гарантуємо якісний аудит та обґрунтовані рішення.
Планування ігрового проєкту
Типова ситуація: до нас приходить команда після трьох місяців розробки з питанням «чому у нас у репозиторії 40 гігабайт і Git падає при кожному pull?». Відповідь майже завжди одна: PNG-текстури та FBX-файли закомічені безпосередньо без Git LFS, історія репозиторію роздулася до непрацездатного стану. Це вирішується, але переписування історії в живому проєкті — болючий процес, якого можна було легко уникнути. Ми бачимо таке у 90% звернень — наслідок відсутності технічного планування на старті.
Планування ігор — це не про діаграми Ганта. Це про технічні рішення перших двох тижнів, які не стануть проблемами через три місяці. Наш досвід — 7 років у геймдеві, понад 25 реалізованих проєктів під мобільні (iOS/Android), PC та консолі (Nintendo Switch, Xbox). Ми гарантуємо, що після нашого планування ви не зіткнетеся з архітектурними «граблями», на які наступають 90% недосвідчених команд.
Чому планування ігор — це не про Ганта?
Графік робіт — тільки вершина. Справжнє планування ігрового проєкту включає:
- жорстку фіксацію цільових платформ і мінімальних вимог (наприклад, iPhone 11, 60 fps);
- декомпозицію механік до числових параметрів з версіонуванням;
- вибір стеку, від якого залежить вся архітектура (render pipeline, мережа, ECS);
- налаштування інфраструктури до першого коміту з асетами.
Без цього «план» — список завдань без опори. Через місяць з'ясовується, що Unreal-проєкт збірки під мобільні платформи не тягне, а ECS виявився надлишковим для простого раннера. Час витрачено, бюджет пішов на прототипи, які потрібно переписувати. Правильне планування скорочує час релізу в середньому на 2 місяці (економія до 40% продакшен-етапу) і знижує кількість багів на 30%.
Документація: GDD як живий інструмент
GDD (Game Design Document) у поганому виконанні — це 80-сторінковий PDF, який ніхто не читає після другого спринту. GDD у хорошому виконанні — це структурована база знань, яку команда реально використовує щодня.
Що має бути в GDD
Мінімальний набір, без якого не можна починати розробку:
- Геймплейні системи — точний опис кожної механіки з параметрами. Не «персонаж стрибає», а «стрибок: висота 2.4 юніти, час у повітрі 0.6 сек, є 150 мс coyote time, double jump дозволено, приземлення блокує атаку на 200 мс». Числа можуть змінюватися в ході балансування, але вони мають бути зафіксовані та версіоновані.
- Технічні обмеження — цільові платформи, мінімальні вимоги до заліза, обмеження по пам'яті та draw calls. Якщо гра має працювати на iPhone 11 з 60 fps, це обмеження впливає на всі арт-рішення з самого початку.
- Scope та фічі — явний список того, що входить у MVP і що залишається на потім. «Можливо додамо крафтинг» — це не планування, це джерело feature creep.
- Референси — конкретні ігри з конкретними механіками, які беруться за основу. «Як у Dark Souls, але швидше» — це робочий референс для combat designer.
Як ми ведемо GDD
Використовуємо Notion або Confluence — GDD живе як wiki, а не як файл. Зміни видно в історії, можна залишати коментарі, механіки пов'язані між собою перехресними посиланнями. Технічний дизайн і художній дизайн зберігаються окремими розділами, але посилаються один на одного. Кожна механіка має статус: в розробці, готово, на рев'ю, заморожено. Це дозволяє в будь-який момент зрозуміти реальний стан проєкту без дзвінків.
Технічна архітектура
Вибір стеку — не релігія
Вибір між Unity та Unreal розбираємо детально в загальному розділі каталогу. Але на етапі планування є кілька суміжних рішень, критично важливих для проєкту:
-
Render pipeline в Unity. URP — для мобільних та VR. HDRP — для PC/консолей. Built-in (Legacy) — тільки якщо берете старий проєкт. Змінювати pipeline в середині розробки — перезбірка всіх матеріалів. Рішення приймається в день першого коміту.
-
Архітектура ігрових об'єктів. Класичний MonoBehaviour проти ECS (Entity Component System через Unity DOTS). ECS дає приріст продуктивності до 10 разів на тисячах об'єктів, але різко збільшує складність коду. Для гіперказуальних ігор — надлишково. Для стратегій — необхідно.
-
Мережева архітектура. Якщо мультиплеєр планується — рішення приймається до першої ігрової механіки. Single-player і networked code влаштовані принципово по-різному: в мережевій грі кожна зміна стану має бути явною та синхронізованою.
ScriptableObjects як конфігураційний шар
В Unity використовуємо ScriptableObject-орієнтований підхід для зберігання ігрових даних. Конфігурація зброї, параметри ворогів, налаштування рівнів — все це ScriptableObject-асети, а не захардкоджені значення. Це дозволяє гейм-дизайнеру змінювати баланс без участі програміста та без перезбірки проєкту.
Версіонування та робота з асетами
Це та область, де більшість невеликих команд втрачає час найприкрішим способом.
Git + Git LFS
Стандартний Git не призначений для бінарних файлів. Текстура 4K в PNG важить 20–50 MB. Якщо її комітити як звичайний файл, історія репозиторію роздувається катастрофічно швидко. Git LFS зберігає бінарні файли окремо, а в Git-історію кладе тільки покажчики. Налаштовується один раз у .gitattributes:
*.png filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.unitypackage filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
Це має бути налаштовано до першого коміту з асетами. Після — болюча міграція, яка може коштувати значних витрат часу розробників. Використання Git LFS замість звичайного Git пришвидшує операції з репозиторієм у 5 разів, коли обсяг асетів перевищує 10 ГБ.
Perforce
Альтернатива для великих Unreal-проєктів. Epic Games самі використовують Perforce. Краще працює з дуже великими репозиторіями (сотні гігабайт), нативна підтримка в Unreal Editor. Вища вартість інфраструктури та складність налаштування.
| Характеристика |
Git + LFS |
Perforce |
| Розмір репозиторію |
до 50 ГБ ефективно |
сотні ГБ |
| Нативна підтримка в Unreal |
немає |
так |
| Складність налаштування |
низька |
середня/висока |
| Вартість інфраструктури |
низька |
середня/висока |
Гілкування
Для ігрових проєктів використовуємо спрощений Git Flow: main, develop, feature/*, release/*. Правило: в main ніколи не комітиться нічого, що не пройшло QA. Його порушення призводить до того, що «остання стабільна версія» стає терміном без змісту.
CI/CD для ігрових проєктів
Автоматична збірка при кожному пуші вирішує проблему «у мене на машині збирається, у тебе ні». Pipeline включає:
- Активація Unity ліцензії (headless)
- Запуск тестів (Unity Test Runner)
- Збірка під Android (APK/AAB)
- Збірка під iOS (Xcode проєкт)
- Збірка під PC (Standalone)
- Завантаження артефактів в S3 або Firebase App Distribution
Час збірки — 15–40 хвилин. Команда отримує свіжу збірку без ручної роботи.
GameCI — GitHub Actions для Unity. Unity Cloud Build — хостинг від Unity, простіше налаштування, дорожче при великій кількості збірок. Jenkins — повний контроль, використовується для консольних платформ.
Приблизний чек-лист для старту проєкту
- [ ] Визначено цільові платформи та мінімальні вимоги
- [ ] Вибрано render pipeline та архітектуру об'єктів
- [ ] Налаштовано Git LFS з
.gitattributes до першого коміту
- [ ] Створено GDD в wiki з розподілом за статусами
- [ ] Налаштовано CI/CD (хоча б GameCI)
- [ ] Визначено scope MVP
Що входить у роботу
- Документація: технічне завдання, GDD (MVP-scope), архітектурна схема, моделі даних.
- Налаштування репозиторію: Git + LFS, правила гілкування, шаблон проєкту, угоди про код.
- CI/CD: конфігурація збірок під всі цільові платформи, автоматичне тестування.
- Доступи: до репозиторію, CI/CD, баг-трекеру; навчання команди роботі з інструментами.
- Підтримка: супровід протягом першого місяця розробки — відповіді на питання, коригування налаштувань, рев'ю архітектурних рішень.
Часові рамки планування
| Етап |
Тривалість |
Результат |
| Технічний бриф |
1–3 дні |
Список платформ, тех. обмеження, попередній вибір стеку |
| GDD v1 (MVP-scope) |
1–2 тижні |
Опис усіх механік MVP, тех. вимоги |
| Технічне проектування |
1 тиждень |
Архітектура систем, схема БД, мережева модель |
| Налаштування інфраструктури |
2–3 дні |
Git + LFS, CI/CD, шаблон проєкту, code style |
| Прототип ключової механіки |
1–2 тижні |
Іграбельний прототип core loop |
Разом до початку повноцінного виробництва: 4–6 тижнів. Це не бюрократія — це страховка від переписування, яка економить до 40% часу на етапі продакшену.
Як планування ігор запобігає технічному боргу?
Помилка в плануванні на першому спринті обходиться в 10 разів дорожче, ніж виправлення на прототипі. Неправильний вибір стеку або відсутність LFS призводять до перезбірки архітектури, втрати комітів та демотивації команди. Грамотне планування ігор — це інвестиція, яка окупається зниженням багів на 30% і прискоренням релізу в середньому на 2 місяці.
Оцінимо ваш проєкт — зв'яжіться з нами, щоб отримати консультацію та детальний план перших кроків. Замовте планування ігрового проєкту та уникніть типових граблів, які ми бачимо в 90% звернень. Скористайтеся нашим досвідом — ми сертифіковані партнери Unity та Unreal Engine, і гарантуємо працездатну архітектуру з першого коміту.