Рушій GEM RTS поєднує модульну кросплатформенну архітектуру, PBR, багатопотоковий рендерінг, розширений набір редакторів і інструментів, онлайн-сервіси та оффлайн режим, мультиплеєр на виділених серверах та можливостю приєднанням-в-процессі (JIP), повноцінну підтримку користувацького контенту (UGC), інтеграцію зі Steam, вбудовану UI систему, систему локалізації та багато іншого.
Гру створено на оптимізованій версії рушія GEM2.
Систему рендерингу повністю перебудовано.
Інтегровано найбільш затребувані можливості рушія GEM3.
Додано онлайн сервіси.
Рушій оптимізовано для роботи на сучасному обладнанні.
Архітектура орієнтована на RTS/RTT проєкти з одиночним і багатокористувацьким режимами.
Усе це зрештою сформувало GEM RTS.
Рушій побудований на основі data-driven підходу, і більшість конфігураційних файлів має текстовий формат.
Це означає, що система завантажує лише ті модулі, які дійсно потрібні конкретному проєкту.
Такий підхід скорочує час запуску редактора або гри, а також зменшує кількість задіяних ресурсів.
Текстові конфігураційні файли мають прозору структуру, легко читаються й добре документовані.
Завдяки цьому легко створювати скриптові інструменти для автоматизованої валідації ресурсів гри.
Ядро рушія та ігрову логіку реалізовано відповідно до стандарту C++14.
Підтримується Clang.
Система збірки базується на CMake.
Python використовується для створення інструментів, а TypeScript для бекенду та HTML UI.
Будь-яка зміна миттєво відображається у робочому середовищі.
Без baking процесів та pre-rendering.
Дизайнер бачить фінальну якість сцени безпосередньо в редакторі.
Зміни швидко вносяться й одразу тестуються.
Це суттєво пришвидшує ітерації, що особливо критично на ранніх етапах продакшену: proof of concept, MVP тощо.
Також це значно полегшує доопрацювання контенту.
Ваші розробники точно оцінять легкість!
Рушій уже містить великий набір готових систем, тому старт відбувається не з нуля.
Симуляція пуль та снарядів, балістика, вибухові хвилі, поширення вогню, руйнування середовища.
Різні типи техніки: колісна, гусенична, повітряна, водна, рейкова та стаціонарна.
Реалізовано системи броні, екіпажу та функціональних внутрішніх модулів техніки.
Розрахунки видимості, чутності та укриттів у реальному часі.
Індивідуальна поведінка юнітів, групові дії та тактичні маневри.
Продуктивність системи дозволяє використовувати у грі сотні юнітів одночасно.
Використовуються DirectX 11 і Shader Model 5.
Підтримуються PBR, HDR pipeline, LOD system, підтримка симуляції вітру та пожежі.
Доступний широкий набір post-processing effects: LUT, refraction, depth of field, SSAO, film grain, lens flare тощо.
Як завантаження даних, так і рендерінг виконуються у багатопотоковому режимі.
Підтримуються ключові можливості Steam, включно з Lobby, Invites, Achievements, Stats, Leaderboards, Workshop, DLC checks і Cloud.
Передбачена підтримка Steam Deck.
Повна інтеграція зі Steam build & patch system.
Із самого початку команда має можливість концентруватися на створенні продукту, а не витрачати час на розбудову платформенних сервісів.
Рушії GEM завжди мали сильну репутацію у сфері підтримки user-generated content.
З першого покоління GEM спільноті були доступні редактор ігрових рівнів та відкриті ресурси гри, які легко модифікуються.
Тепер можливостей ще більше.
Package system забезпечує простий і чистий спосіб створення та розповсюдження модифікацій до гри.
Проблеми з'єднання в сессіонних іграх здатні серйозно псувати досвід гравців.
Тепер уперше в серії GEM реалізовано повноцінне рішення.
Гравець може повторно приєднатися до тієї сесії, з якої він випав, та продовжити гру.
Система ріплеїв має багато практичних сценаріїв застосування.
Особливо важлива для competitive play, коли потрібно перевіряти чесність матчів.
Ріплеями можна ділитися з іншими.
І це лише базовий рівень.
Система відкриває шлях до реалізації DeathCam, KillCam, BestKills та інших очікуваних функцій.
Навіть якщо продукт орієнтований на онлайн, повноцінний однокористувацький режим залишається доступним.
Не потрібно створювати окремі архітектури геймплея для singleplayer і multiplayer.
Одна система працює для обох режимів.
Рушій передбачає можливість отримати повноцінне рішення для онлайн проєктів: client-side і server-side.
Немає потреби інтегрувати сторонні фреймворки, а отже ризики зовнішніх змін підтримки не ставлять продукт під загрозу.
Життєвий цикл гри визначається вашими амбіціями й ресурсами.
Детально про Gem RTS
Загальна інформація про GEM RTS
Технологічна база:
- C++17 основна мова розробки,
- CMake (build system),
- Python (tools pipeline),
- TypeScript використовується для backend та HTML-based інтерфейсів.
Система збірки: підтримується збірка через Visual Studio C++, Clang і Xcode, окрема компіляція клієнта і dedicated server, precompiled headers через CMake, а також робота з Visual Studio Code
Оптимізація під сучасне обладнання: робота рушія оптимізована під сучасні процесори, актуальні компілятори і багатоядерні CPU, з орієнтацією на актуальні desktop і portable платформи (актуальність на 2026 рік)
Мультиплатформеність: підтримується 64-bit execution, Windows 10/11, SteamOS і Ubuntu.
Інтеграція із зовнішніми платформами: підтримуються Epic Games Store і повна інтеграція з сервісами Steam (Steam Deck, Steam Workshop, Steam Cloud, Achievements, Stats, multiplayer invites і автоматична установка потрібних модів при підключенні до сесії).
Зовнішня серверна інфраструктура: рушій інтегрується з Epic Online Services, Amazon Web Services, Amazon GameLift, Chromium Embedded Framework і Sentry для побудови multiplayer, backend і service infrastructure
Базові можливості рушія
Модульна архітектура рушія з поділом на три рівні:
- Базове ядро відповідає за файлову систему, платформену сумісність і системні сервіси.
- Рушій включає сцену, рендеринг, редактори, аудіо та базові UI-компоненти.
- Ігра (game-specific logic) містить бойові системи, AI, балістику, броню та інші ігрові механіки.
Data driven design: рушій використовує data driven design підхід, де конфігурації, залежності ресурсів, умови, вирази і значна частина runtime налаштувань описуються у відкритому текстовому форматі. Це дозволяє змінювати поведінку систем без зміни engine code. Розширення функціональності сцени і об'єктів базової ієрархії здійснюється через extender layer
WYSIWYG workflow: редактор працює на тому самому runtime rendering pipeline, що й гра, тому візуальний результат у редакторі відповідає фінальному відображенню в грі без окремого етапу пререндерингу, що дозволяє вносити зміни й одразу перевіряти результат без виходу з редактора.
Backend: власна backend архітектура побудована на TypeScript із розміщенням інфраструктури в Amazon Web Services і використанням абстрактного backend interface для різних режимів роботи. Backend logic відділена від game-specific logic, що дозволяє використовувати єдину backend платформу для кількох проєктів. Підтримуються offline backend через клієнт, глобальний backend через HTML interface і пряме online підключення.
Мережева архітектура: multiplayer runtime підтримує запуск як у клієнтському режимі, так і в окремому dedicated server build. Детермінована simulation модель дозволяє проводити мультиплеєрні сесії між клієнтами на різних операційних системах із збереженням єдиної логіки виконання і синхронізації стану гри.
Текстова і шрифтова система: рушій підтримує runtime rendering TrueType шрифтів, font collections для різних codepages, єдину UTF8 модель кодування і автоматичний вибір локалізованих ресурсів, що дозволяє використовувати багатомовні інтерфейси і текстові дані без окремої адаптації під платформу
UGC support: моди працюють автономно і через Steam Workshop. Кожен мод має свій пакет, між пакетами можна задати зв’язки та відношення. Файли модів можуть перевизначати ресурси гри і інших модів через virtual filesystem.
Pipeline сумісності: підтримується сумісність mesh форматів із попередніх поколінь проєктів, що спрощує міграцію контенту між engine versions.
Система ресурсів: підтримується віртуальна файлова система, пакетна організація ресурсів, налаштування залежностей між пакетами, керування порядком їх застосування і автоматичне виявлення конфліктів між ресурсами. Відкритий текстовий формат ігрових даних в зрозумілому для людині вигляді з поясненнями від розробників рушія. Підтримка упаковки ресурсів у zip, 7zip і zip64
Ступенева загрузка ресурсів: реалізована поетапна підгрузка ресурсів для прискорення старту сцени і зниження пікового навантаження під час loading.
Захист ресурсів: пакети можуть підписуватися цифровим підписом для захисту від модифікації, а також шифруватися для обмеження доступу до внутрішнього вмісту.
Збірка
- CMake
- Підтримка Visual Studio Code
- Компіляція за допомогою Visual Studio C++, Clang, Xcode
- Підтримка різних збірок для виділеного сервера і клієнта
Архітектура
- Сучасна архітектура: перехід на 64-бітний код та C++ 14 стандарти, заміна кастомних бібліотек на стандартні.
- Модульність: введення поняття "глобальний модуль" для поліпшення структури рушія.
- Нові інструменти: додано block tool - повноцінний редактор вузлів (для візуального програмування схем матеріалів та ін.).
- Логування: окремі журнали для виділеного сервера та клієнта, запис у журнал точного часу події, використання префіксів для ідентифікації частин рушія.
Графіка та Рендеринг
- API та Шейдери: повний перехід на DirectX 11 та Shader Model 5.0.
- PBR (Physically Based Rendering): повноцінна підтримка PBR-матеріалів із каналами (albedo, roughness, metallic, AO тощо) та освітленням від неба.
- HDR (High Dynamic Range): рендеринг в HDR-просторі, підтримка HDR текстур, автоматична адаптація зору до яскравості, тонемапери (ACES, Uncharted).
- Оптимізація Рендерингу: багатопотоковий рендеринг та багатопотокова загрузка текстур і мешів, використання command lists
- Нові Візуальні Ефекти: підтримка parallax mapping, SMAA згладжування, глибина різкості (розмиття ближнього та дальнього планів), реалістична модель вітру, динамічні відображення, ефекти рефракції (вода, гаряче повітря).
- Візуальний світ: фонова трава з instancing та можливістю спалення, детальні налаштування LOD для об'єктів та джерел світла, оновлена система декалей.
- Туман Війни: повністю перероблена рендерінг "туману війни".
Мережа та Backend
- Виділені Сервери: повноцінна підтримка виділених серверів, які можна запускати в режимах Bare metal, Amazon GameLift та Local.
- Два Режими Мультиплеєра: збережено peer-to-peer (як у попередніх іграх) та додано новий режим через окремий сервер (без помилок синхронізації, з можливістю перепідключення).
- Backend ARK: власна реалізація Backend на Typescript / AWS для керування акаунтами, інвентарем, лігами, matchmaking'ом, лобі та NAT negotiation.
- Інтеграція: повна інтеграція зі Steam (Workshop, Networking, Cloud, Achievements) та Epic Games Store.
- Оптимізація мережевого коду: оптимізація трафіку.
Ігровий світ
Додано ігрову механіку "Лінія фронту" з динамічним зміщенням території, тиском юнітів та механікою ізольованих "котлів".
Локалізація
Повна підтримка UTF8, True Type шрифтів, експорт/імпорт через таблиці, спеціальна підтримка японської та китайської мов.