Розробка ігр для ПК
ПК — найбільш різнорідна платформа. Гра повинна працювати на офісному ноутбуці з інтегрованою графікою та на ігровій станції з RTX 5090. Один і той же виконуваний файл, різне залізо. Це архітектурна задача, а не тільки оптимізація.
Специфіка PC-розробки
Scalable quality settings
Профілі якості в Unity (Quality Settings) — базовий інструмент, але недостатній. Гравець з GTX 1060 та гравець з RX 6800 XT потрапляють у різні bucket не за назвою профілю, а за реальними GPU capabilities.
Правильний підхід — динамічний вибір настроїк на основі GPU benchmark при першому запуску. SystemInfo.graphicsMemorySize, SystemInfo.graphicsDeviceVendor, SystemInfo.maxTextureSize дають базове уявлення про залізо. Для точного benchmark — короткий синтетичний тест з замером GPU time через FrameTimingManager.
Для URP: окремий URP Asset для кожного рівня якості. Shadow Distance, Shadow Cascades, MSAA, Post-Processing ефекти — все управляється через QualitySettings.renderPipeline у рантаймі. HDRP — аналогічно через FrameSettings.
Steam та platform integration
Steam — основна дистрибуція для PC-ігор. Інтеграція через Steamworks.NET (C# wrapper) або FacePunch.Steamworks:
- Steam Achievements — SteamUserStats.SetAchievement(), синхронізуються автоматично з хмарою
- Steam Cloud — збереження через ISteamRemoteStorage. Працює як файлова система, 100 МБ квота за замовчуванням
- Steam Leaderboards — ISteamUserStats.FindOrCreateLeaderboard()
- Steam Input — унітарний API для геймпадів. Один код для Xbox, DualSense, Switch Pro, Steam Deck. Критично для PC-ігор, які хочуть підтримувати геймпади нормально
Steam Workshop — якщо гра підтримує користувацький контент. Потребує окремої інфраструктури: контент-валідація, версіонування, скачування через ISteamUGC.
Управління вводом
ПК — єдина платформа, де гравець одночасно може використовувати клавіатуру, миш та геймпад. Unity Input System (новий) обробляє це через Action Maps: один Action з кількома Bindings (WASD + стик геймпада + стрілки клавіатури). При переключенні пристрою під час гри — автоматичний ребайнд.
Remapping клавіш — вимога для PC. InputActionRebindingExtensions.RebindingOperation — вбудований API. Збереження біндингів: inputAction.SaveBindingOverridesAsJson() у PlayerPrefs або файл.
Миш потребує окремої уваги в 3D-грах: rawInput для камери (прибираємо прискорення миші OS через Mouse.current.delta.ReadUnprocessedValue()), окремої чутливості для геймпада та миші, інверсія осей Y.
Технічний стек для PC
Рендер: URP для більшості проектів. HDRP — для AA/AAA з вимогами до рейтрейсингу (DXR), volumetric fog високої якості, SubSurface Scattering. HDRP потребує DirectX 11/12 — це нормально для PC, але закриває шлях на консолі/мобайл.
Фізика: PhysX через вбудований Unity Physics. Для точних симуляцій (транспорт, фізичні пазли) — Havok Physics for Unity (доступен через DOTS). Для 2D — Box2D (вбудований).
Графіка високого рівня:
- Ray Tracing через UnityEngine.Rendering.RayTracingShader (HDRP, DX12, потребує RTX-сумісну карту)
- DLSS/FSR/XeSS через Unity DLSS, AMD FSR Package — апскейлинг для повищення продуктивності при збереженні якості
- Volumetric clouds, GlobalIllumination — HDRP Lit Shader + Adaptive Probe Volumes
Локалізація: PC-ігри часто мають більший мовний охват. Unity Localization пакет + Google Sheets як джерело строк через імпортер. Для озвучки — Addressable Audio Assets з локальною версією.
Anti-cheat та безпека
Для онлайн PC-ігор чити — серйозна проблема. Easy Anti-Cheat (Epic) та BattlEye — рішення рівня AAA, інтегруються на рівні лаунчера. Для інді — мінімум: server-side validation всіх критичних дій (урон, лут, прогресія), обфускація коду через IL2CPP (значно складніше реверсировать, ніж Mono).
Читерство в офлайн-грі — інший питання. Cheat Engine — це частина PC-культури для одиночних ігор. Захист має сенс тільки якщо читерство руйнує чужий досвід (онлайн) або монетизацію.
Дистрибуція та запуск
Steam — основний канал. Пайплайн: SteamPipe для завантаження білдів, SteamCMD для автоматизації через CI/CD. Early Access — розповсюджена стратегія для інді: монетизація до релиза + community feedback.
GOG — DRM-free аудиторія, менша розміром, але лояльна.
Epic Games Store — 88% revshare (vs 70% на Steam), але менша аудиторія.
itch.io — підходить для Game Jam, експериментальних проектів, indie showcase.
Автоматичні релизи через GitHub Actions + Butler (itch.io) або SteamCMD. Кожен merge у main → автоматичний білд → завантаження в beta branch → manual promote у релиз.
Терміни розробки
| Тип проекту | Масштаб | Терміни |
|---|---|---|
| Гіпер-казуальний PC | 1-3 механіки | 1-4 тижні |
| Інді, одиночна кампанія | 2-5 годин контенту | 3-6 місяців |
| Інді з мультиплеєром | PvP або кооп | 4-8 місяців |
| AA проект | Відкритий світ / глибокий сюжет | 8-18 місяців |
Вартість розраховується після аналізу технічного завдання, цільових платформ та вимог до онлайн-інфраструктури.





