Cтратегія в її найкращому прояві
Синтез перевірених часом рішень і сучасного технологічного підходу.
Рушій GEM RTS поєднує модульну кросплатформенну архітектуру, PBR, багатопотоковий рендерінг, розширений набір редакторів і інструментів, онлайн-сервіси та оффлайн режим, мультиплеєр на виділених серверах та можливостю приєднанням-в-процессі (JIP), повноцінну підтримку користувацького контенту (UGC), інтеграцію зі Steam, вбудовану UI систему, систему локалізації та багато іншого.
Найкраще з двох світів
Men of War II, амбітне продовження серії Men of War, було випущене у 2024 році.
Гру створено на оптимізованій версії рушія GEM2.
Систему рендерингу повністю перебудовано.
Інтегровано найбільш затребувані можливості рушія GEM3.
Додано онлайн сервіси.
Рушій оптимізовано для роботи на сучасному обладнанні.
Архітектура орієнтована на RTS/RTT проєкти з одиночним і багатокористувацьким режимами.
Усе це зрештою сформувало GEM RTS.
Data-driven архітектура
Нехай дані керують процесом
Рушій побудований на основі data-driven підходу, і більшість конфігураційних файлів має текстовий формат.
Це означає, що система завантажує лише ті модулі, які дійсно потрібні конкретному проєкту.
Такий підхід скорочує час запуску редактора або гри, а також зменшує кількість задіяних ресурсів.
Текстові конфігураційні файли мають прозору структуру, легко читаються й добре документовані.
Завдяки цьому легко створювати скриптові інструменти для автоматизованої валідації ресурсів гри.
Сучасний стек розробки
Підтримуються різні IDE та редактори коду: Visual Studio, Visual Studio Code, Xcode.
Ядро рушія та ігрову логіку реалізовано відповідно до стандарту 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
Повна інтеграція з головною PC gaming платформою
Підтримуються ключові можливості Steam, включно з Lobby, Invites, Achievements, Stats, Leaderboards, Workshop, DLC checks і Cloud.
Передбачена підтримка Steam Deck.
Повна інтеграція зі Steam build & patch system.
Із самого початку команда має можливість концентруватися на створенні продукту, а не витрачати час на розбудову платформенних сервісів.
UGC з коробки
Розкрийте творчий потенціал вашої спільноти з інструментами GEM.
Рушії GEM завжди мали сильну репутацію у сфері підтримки user-generated content.
З першого покоління GEM спільноті були доступні редактор ігрових рівнів та відкриті ресурси гри, які легко модифікуються.
Тепер можливостей ще більше.
Package system забезпечує простий і чистий спосіб створення та розповсюдження модифікацій до гри.
Приєднання-в-процессі
Безперервність ігрового процесу.
Проблеми з'єднання в сессіонних іграх здатні серйозно псувати досвід гравців.
Тепер уперше в серії GEM реалізовано повноцінне рішення.
Гравець може повторно приєднатися до тієї сесії, з якої він випав, та продовжити гру.
Ріплеї
Повернення до найкращих моментів
Система ріплеїв має багато практичних сценаріїв застосування.
Особливо важлива для competitive play, коли потрібно перевіряти чесність матчів.
Ріплеями можна ділитися з іншими.
І це лише базовий рівень.
Система відкриває шлях до реалізації DeathCam, KillCam, BestKills та інших очікуваних функцій.
Оффлайн режим
Гра продовжується навіть без мережі.
Навіть якщо продукт орієнтований на онлайн, повноцінний однокористувацький режим залишається доступним.
Не потрібно створювати окремі архітектури геймплея для singleplayer і multiplayer.
Одна система працює для обох режимів.
Онлайн сервіси
Онлайн інфраструктура під рукою
Рушій передбачає можливість отримати повноцінне рішення для онлайн проєктів: client-side і server-side.
Немає потреби інтегрувати сторонні фреймворки, а отже ризики зовнішніх змін підтримки не ставлять продукт під загрозу.
Життєвий цикл гри визначається вашими амбіціями й ресурсами.
Переваги використання GEM RTS

Готове системне рішення
GEM RTS надає готову основу для розробки гри, де всі ключові системи вже реалізовані. Базова функціональність, необхідна для створення проєкту в жанрі RTS/RTT/Симулятор бойових дій, доступна з першого дня. Завдяки цьому команда може одразу перейти до прототипування, відпрацювання ігрових механік і створення контенту, не витрачаючи час на розробку базових систем движка.

Наявність демонстраційної гри в якості приклада
До складу рушія входить повністю функціональна демонстраційна гра. Вона може стати практичною основою для створення MVP, першого іграбельного прототипу або швидкої перевірки ігрових механік.

Супровід інженерів
Якщо вашому проєкту потрібні системи, що виходять за межі наявних можливостей рушія, команда розробників може допомогти зі створенням додаткових компонентів. Вона також може розширити технологічний стек і взяти на себе реалізацію технічно складних інженерних завдань.

Вихід на ринок
Вам не потрібно починати з нуля. Ваша гра може використовувати інтеграцію зі Steam, Epic Games Store або будь-якими серверними рішеннями на ваш вибір. На основі GEM RTS backend можна реалізувати власну бізнес-логіку.

GEM RTS є практичним вибором для команд, які прагнуть створювати тактичні стратегії з прямим контролем юнітів, такі як Men of War II чи Call to Arms, або з непрямим контролем, як в Majesty 2. Рушій сформувався завдяки багаторічній розробці комерційних проєктів. Накопичений досвід тепер доступний як готова основа для швидкого прототипування проєктів, що виходять за межі класичної формули Men of War, включаючи нові структури ігрового процесу, альтернативні сетинги та власні тактичні концепції без необхідності створювати базові системи з нуля.

1. RTS GAME

GEM RTS comes with a fully operable game. All the assets are in place, making it possible to learn how it all works and, at the same time, start prototyping your ideas.

1.1. Battlefield simulation

  • Human movement, singular & squad behaviour
  • Vehicle movement & behaviour: track, wheelborne, airborne, waterborne, mortars & cannons
  • Vehicle crew roles, component-based operation & destruction (engine, tracks, guns, etc.)
  • Visual perception based on high-performance CPU ray-tracing
  • Acoustic perception. Any sound could be heard from a certain distance
  • Projectile simulation: bullets, shells, rockets, grenades, bombs
  • Explosion simulation
  • Combustion & fire simulation
  • Destructible environments: from small props to multi-storey buildings
  • Cover system. Any suitable part of an environment, a bush, a shell hole, a wall part or a torn off tank turret, may be used as a cover, reducing visibility or/and protecting from bullets, with or without ability to shoot from there

1.2. Navigation

  • Point and click control mode
  • Direct control mode
  • Top down camera
  • Third-person camera
  • First-person camera (vehicle only)

1.3. In-game UI

In-game UI is scalable and uses shaders for various effects, like button state blending, rounded bars, etc.

HUD Panels

  • Context-dependent action buttons, customisable via user settings
  • Reinforcements panel
  • Unit state panel
  • Minimap
  • Mission objectives
  • Mission event log
  • NPC dialogues
  • Unit specification under mouse cursor
  • Unit inventory
  • Squad panel

3D UI

  • Bullet/shell tracers
  • Vehicle part highlight when targeting
  • Unit contour highlight / solid fill
  • Unit state indicators, such as damage, action, movement formation, injured state, etc. 
  • Progress or capacity indicators: health, exhaustion, recoil, fuel, etc.
  • Visibility sector
  • Damage vector
  • Targeting sector for cannons and mortars
  • Attack range
  • Shooting spread
  • Covers

Context-based mouse cursor with Click & Drag actions

  • Rotate a unit or a group of units
  • Distribute a group of soldiers among covers to protect a certain direction
  • Dig a trench
  • Locate barbed wire
  • Install a sand bag wall
  • Mine an area

The full list is way longer, and may be extended with necessary actions

1.4. Mission Editor

Editor is capable of creating missions for both single player and multiplayer in the same way.

  • Mission objectives are the tasks that players have to accomplish.
  • Mission logic is based on Triggers.
    Each trigger has a condition and an action list. In most cases a trigger switches only once, though it could be reset by another trigger, or by itself.
  • Conditions could be complex, combining the following logical operations: conjunction, disjunction, and inversion.
    Condition elements can check an entity or unit state, or existence, or amount of units with certain tags, or presence in a certain zone, check mission objectives state, etc.
  • Actions could spawn or delete units or entities, change their state, add or remove tags, assign orders, change environment, play or stop music, manipulate with the mission objectives.
  • Waypoints are used to specify static routes for units. A single waypoint just points to the exact position on a map.
  • Zones are used to detect presence or absence units or entities in a certain part of a map.
2. Multiplayer

GEM RTS boasts rich multiplayer capabilities for PvP, PvE, and COOP missions, offering different connection protocols and ways of gathering players.

2.1. Multiplayer low-level

  • Data exchange: IPC, Steam Networking, Game Networking Sockets, ENet network library, GEM network library with GEM backend
  • Play through peer-to-peer connection, full synchronisation
  • Play through dedicated servers, asynchronous, JIP is supported
  • Servers are supported at local host, bare metal, or Game Lift (Amazon)

2.2. Multiplayer high-level

  • Matchmaking: Steam or GEM backend
  • PvP, PvE matches
  • Customisable bots
  • Autojoin
  • Spectator mode
  • Replays
  • Profanity filter
  • Predefined PvP match types: frontline, capture the flag, victory flag, death match, convoy, hunt
  • UGC: scripts for match customisations, additional events & parameters
3. Online platforms

3.1. Steam

GEM RTS offers a comprehensive Steam API support:

  • Matchmaking
  • Friend list & invites
  • Workshop
  • Achievements
  • Cloud Saves
  • Inventory

Automated tools for deploying builds to Steam are provided.

3.2. Epic Game Store

There is authentication support and game/editor launcher for Epic Game Store.

3.3. GEM Online Backend

When Steam API is not enough or not possible to use, GEM RTS could offer its own implementation of online services written on TypeScript and to be hosted in AWS.

  • Lobby: server selection, Mod support, team balancing, bots configuration, weather options.
  • Architecture: network core + game-specific business logic.
  • Infrastructure: ping measurements, NAT negotiations, performance monitoring.
  • Data storage: matches history, replays, counters, quests, and awards.
  • User accounts: registration, removal, GDPR requests, DLC checks, soft currency.
  • Matchmaking: customisation by MMR and latency, auto team balance.
4. UGC support

This stands in the center of any project appreciating players’ creativity.

4.1. Text data

Most of the data files in GEM are texts, and only certain kinds of data are kept as binary files. Both formats, text and binary, are well documented. So not only developers, but also players should feel comfortable editing them according to their needs.

4.2. Binary data

As for binaries, import / export tools may be created for batch porting assets from / to other projects, because, as it has been already told, formats are documented.

4.3 Content Editors

Level and Mission editors used to be part and parcel of every single project using GEM engines. From the very beginning it was easy to create your own content. A prop, a unit, a map. Or a Mod, containing various assets.

4.4. Workshop

At some point GEM got Steam Workshop integration. Since then the modding process, and especially sharing of UGC, was simplified and formalised, allowing less advanced users to participate.

4.5. Open to customization

GEM RTS is a real gem in that sense. It already contains a plethora of systems, most of which are highly customisable, so what’s possible is basically limited by players’ imagination.

5. GEM RTS Editor

5.1. Landscape Editor

A very convenient familiar editor for creating maps. Includes a lot of tools:

  • Heightmap editing tool
  • Water editor
  • Spline editor for roads
  • Flora populating tool
  • Asset analyser

Full support of undo/redo for all operations.

5.2. Environment & Weather Editor

Global illumination & shadows, skybox, post-processing, weather effects, and more.

This all is configured via presets. An environment preset may be applied instantly, or gradually blended from the current state.

5.3. Particle FX Editor

It is an easy way to create your own particle-based VFX. You just add blocks controlling particles’ life: spawn, modify parameters, collide, die. It can be accompanied by light sources, sounds, and decals. Preview is available at any moment.

5.4. Material Editor

No need to be a programmer to modify an existing material or create a new one. Make your own materials out of bricks, connecting them one to another. And the engine will take the rest: validation and building a HLSL shader. Easy-peasy. Foolproof. With full support of undo/redo and copy/paste operations.

6. ENGINE LAYER

GEM RTS itself comes as a full-fledged infrastructure, with an original code style, and a reasonable hierarchy of modules.

Virtual file system that is capable of remapping files and folders. Compression, encryption, and digital signing are supported for .pak files. It can seamlessly concatenate text files from different folders into one.

The engine natively supports UTF-8 encoding. It can switch localisation packages from one to another in realtime.

6.1. Rendering

  • DirectX 11 Shader Model 5.0
  • Command lists
  • Multi-threaded data loading
  • Multi-threaded rendering
  • PBR materials
  • HDR
  • Post-processing
  • Wind shader
  • Fire shader
  • Burnt material shader
  • Hot air distortion
  • Instance-based grass that also could be burnt
  • Water material, refraction effect, realtime reflections
  • Particle VFX: 4k textures, water reflections, shadows & lights, soft edges, mesh trails

6.2. Physics

Default physics simulator based on FMBP open source library. Physics implementation may be easily replaced through API to a more advanced one.

6.3. Sound

Sound API allows the use of different implementations. The default is OpenAL. WAV, OGG, MP3 are supported. HDR, filters, priority, yielding, and attenuation. The sound system is capable of effectively managing tons of sounds without creating a mess and remaining acoustically pleasant.

Ability to link sounds to moving objects or even object parts, for instance, feet.

6.4. Geometry library

Integrated GJK collision library. Which supports basic 2d and 3d primitives, including polygons and convex meshes. Also available basic math functions, and linear transformations of 2d and 3d primitives.

7. Debugging & profiling

There’s a deep understanding of how crucial are the instruments for debugging. The sooner a developer finds the roots of a problem, the faster a solution will be provided.

7.1. Console

This is a very basic level but yet a powerful instrument to debug information and tons of tweaks. Build-in typing assistant for commands and variables. All the console output could be found in the console.log file. All the messages, from severe errors to minor issues (warnings) in most cases have the context - a chain of files, pointing to a place, where it all started. It really helps to quickly identify the root of a problem.

7.2. Visual debugging

There’re plenty of things that can be drawn in 3d, i.e. navigation mesh, collision volumes, visibility sectors, moving paths, etc. And a simple way to draw additional game-specific information. 2d debug drawings also exist, UI elements’ highlights as an example.

7.3. Profiler

Another basic tool, pretty simple, though can be very handy in investigating performance problems. Whereas external profilers help with general code optimisations, finding bottle-necks and numerous heavy function calls per frame, GEM Profiler is helpful in a constant performance monitoring of a small piece of code, a class, or a function.

Детально про 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 шрифтів, експорт/імпорт через таблиці, спеціальна підтримка японської та китайської мов.

Цікавить наш рушій?

Заповнюйте форму і зв'яжемось з вами, щоб обговорити всі деталі
Мінімум 2 символи
Введіть коректний email
Мінімум 2 символи
0/100

Приєднуйтесь до нашої спільноти у Discord

Слідкуй онлайн

Підпишіться на розсилку Best Way
Підпишіться на нашу розсилку електронною поштою, щоб отримувати інформацію про анонси та оновлення ігор, деталі про спеціальні події та пропозиції, а також багато іншого від Best Way та наших партнерів
Введіть дійсну електронну адресу