РУШІЙ ДЛЯ ROLEPLAY ТА ACTION-ПРОЄКТІВ
Кросплатформний модульний next gen рушій для створення повноцінних 3D середовищ за допомогою WYSIWYG інструментів, розрахованих на багато-користувацьке редагування ігрових рівнів та ігрової логіки. Розробку рушія було зупинено у 2014 році.

Рушій орієнтований на ролеплей-ігри та action-проєкти з камерою від першої або третьої особи. На відміну від GEM1 і GEM2, рушій підтримує повноцінний 3D ігровий світ і дозволяє створювати реалістичні індорні та аутдорні локації з динамічним освітленням, навігацією і взаємодією об’єктів.

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

Рушій включає серверний код для довготривалих ігрових сесій з можливістю підключення гравців у будь-який момент. Повна підтримка User Generated Content зробить проєкти придатними для тривалої підтримки і розвитку за рахунок випуску апдейтів та додаткового контенту.

Переваги використання GEM3

  • Компонентна структура об’єктів GEM3 дозволяє необмежено нарощувати їхню функціональність, допускаючи будь-які комбінації властивостей.
  • Гнучка модульна архітектура дозволяє у широких межах модифікувати структуру та функції рушія, вносячи зміни лише в користувацький код.
  • Вбудований редактор може бути доопрацьований з урахуванням специфічних особливостей продукту шляхом створення власних розширень.
  • Кросплатформенні можливості: PC Windows x86 та x64. У процесі портування на Xbox 360, використання можливостей DirectX 9, DirectX 11 (за повної сумісності з DirectX 9), портування базових компонентів рушія під Linux.
  • Набір редакторів, що працюють за принципом WYSIWYG, дозволяють без допомоги програмістів створювати ігрові рівні, логіку подій, програмувати ШІ акторів, налаштовувати оточення (погодні ефекти та спецефекти, освітлення, звуки, джерела світла).
Детальніше

Основні відомості про рушій

Мережеві компоненти та можливості

  • Робота з мережею ведеться виключно через network provider API. Як провайдер можуть використовуватися різні бібліотеки. У поточному варіанті GEM3 використовує безкоштовну open source бібліотеку enet, що реалізує tcp over udp.
  • Усі мережеві модулі, включно з ігровими хостами, є кросплатформенними. Реалізована підтримка Windows/Unix. Використовуючи Unix, можна значно економити на оренді серверів.
  • Підтримується опціональне шифрування (AES) та стиснення (z-lib) даних.
  • Масштабованість навантаження. Користувачі розподіляються по різних сервісах з урахуванням навантаження, кількість сервісів не обмежена, сервіси можуть хоститися на фізично різних серверах. Кожна ігрова сесія — окремий сервіс.
  • Передбачено контроль цілісності вхідних даних. Комп’ютери користувачів не мають доступу до внутрішньої інфраструктури, усі користувацькі запити обслуговуються виключно через користувацький сервіс (наприклад, lobby).
  • В ігровій сесії всі розрахунки виконуються на сервері. Будь-яких даних про об’єкти, які користувач не бачить, на комп’ютері користувача фізично немає.
  • Є можливість підключитися до ігрової сесії у будь-який момент часу. Це дозволяє як повторний вхід для гравців, у яких стався дисконект, так і створення ігрових режимів тривалих боїв, протягом яких користувачі можуть вільно приєднуватися та виходити.

Графічні можливості

Ігровий рушій GEM3 підтримує роботу з DirectX 9, DirectX 9 Ex, DirectX 11.

Освітлення та тіні

  • Для імітації сонця або іншого глобального прямого світла використовується паралельне джерело світла.
  • Для локального освітлення — конусні та точкові джерела світла, параметри яких налаштовуються.
  • Для кожного джерела світла можна задати параметри: яскравість у hdr-діапазоні, колір, радіус. У локальних джерел — квадратичне згасання.
  • Як відбите світло використовується ambient.
  • Для імітації відбитого світла запікаються lightmaps та ambient occlusion безпосередньо в текстури моделей.
  • Тіні — динамічні. Використовують апаратну фільтрацію.
  • Для тіней від глобального джерела світла використовуються каскади (чим ближче тінь до камери, тим вона чіткіша).

Відбите світло (Global Illumination)

  • Інтегрована комерційна бібліотека Enlighten (версія 2.17).
  • Освітлення динамічне. Для великих об’єктів, будівель і ландшафту генеруються lightmaps.
  • Невеликі або рухомі об’єкти та частинки освітлюються відбитим світлом від розставлених дизайнером сіток із датчиками відбитого світла у вузлах сітки.
  • Підтримується динамічні розмиті відбиття (dynamic environment maps) для пляшок, скла, відбиттів в очах персонажів від розставлених дизайнером об’ємів.
  • Підтримується освітлення від неба.

Матеріали

Матеріал являє собою набір властивостей поверхні сутності, які надалі використовуються при розрахунку освітлення.

  • Підтримуються відбиття від кубічних карт (можна задавати безпосередньо текстуру або підставляти текстуру з поточного оточення).
  • Підтримується parallax mapping.
  • Для всіх об’єктів є можливість модифікувати властивості на різних етапах конвеєра розробки: або в 3ds max перед експортом для всіх матеріалів даного типу, або безпосередньо для конкретного об’єкта, розміщеного на карті.
  • Матеріали створюють дизайнери та програмісти графіки, використовуючи блок-схеми.
  • Підтримується однобітна текстурна прозорість і напівпрозорі об’єкти.
  • Є колекція схем матеріалів, класифікована як за складністю матеріалу: normal mapping, specular lighting, environment mapping, parallax mapping тощо, так і за типом поверхні: skin, hair, eye. Також є анімовані матеріали.
  • Для основної маси матеріалів використовується модель Фонга: метал, дерево, цемент, пластик тощо.
  • Матеріал ландшафту — багатошаровий матеріал, у якому за допомогою карти змішування можна змішувати до 4 матеріалів із довільними схемами.
  • Матеріал води — матеріал підтримує динамічні відбиття, хвилі, різний ступінь відбиваності та каламутність води.
  • Матеріал шкіри — матеріал моделює характерні для шкіри відблиски та підповерхневе розсіювання.
  • Матеріал очей — відбиття оточення, додатковий відблиск у зіниці, зіниця втоплена всередину ока (додатковий об’єм), змінний радіус зіниці.
  • Матеріал волосся — реалізована модель взаємодії зі світлом Marshner, за допомогою якої реалізована модель відблисків, що враховує напрямок пасом волосся. Підтримується м’який альфа-тест для м’якості кінчиків волосся.

Оточення та атмосфера

  • Небо з рухомими хмарами. Набір параметрів для створення різних типів неба: день, ніч, похмуре, сонячне.
  • Туман, що йде в горизонт. Задається щільність. Є режим «клубочкового» туману.
  • Відблиски від сонця (lens flare).
  • Реалізовані об’ємні тумани довільної опуклої форми.
  • Тумани коректно працюють у будь-якому поєднанні з напівпрозорими об’єктами (у т.ч. з частинками) та водою.
  • Вітер може розгойдувати рослинність.

Система частинок

  • Потужний рушій із можливістю розширення на рівні користувацького коду. Реалізовано освітлення та затінення частинок із кількома рівнями якості.
  • Поділ частинок на освітлювані та світні.
  • Світіння в hdr-діапазоні.
  • Гнучкий редактор із можливістю створювати широкий спектр візуальних ефектів:
  • багаття, дим, вибухи, дощ, сніг, бризки води, іскри, тумани, магічні ефекти, кров, спалахи від пострілів та інші.
  • Стрічки, що дозволяють створювати сліди від трасуючих куль, реактивних двигунів.

Аплікації (Decals)

Використовуються для калюж, шарів бруду, калюж крові, патьоків на стінах на ландшафті та статичних об’єктах.

Спрайти

Підтримується відмальовування спрайтів із різною орієнтацією: горизонтальні, billboard, trace (фіксація осі обертання).
Віньєтка на кути екрана за допомогою спрайта.

Система рівнів деталізації (Level of detail)

Для сутностей реалізована система рівнів деталізації (LOD), що дозволяє задавати клас деталізації, відповідно до якого за відстанню від камери можуть перемикатися (або вимикатися) мешеві представлення, вимикатися перехресне затінення та/або тінь від об’єкта.

Постобробка зображення (Render post process)

  • Gamma correction. Гамма-корекція. Враховує особливості форматів srgb та виводу зображення сучасними моніторами. Корекція яскравості під монітор користувача.
  • Tone Mapping. Корекція півтонів результуючого зображення.
  • Lookup Tables. Яскравість, контраст, знебарвлення та інші ефекти, створені за допомогою фільтрів в Adobe Photoshop, експортуються в рушій у вигляді текстур.
  • Grain. Імітація зерна кіноплівки або шуму.
  • Eye adaptation. Імітація адаптації зору до яскравості сцени.
  • Glare. Ореоли від яскравих ділянок сцени.
  • Glow. Ореоли від яскравих об’єктів.
  • God Rays. Сутінкові промені.
  • Depth of Field. Глибина різкості та розмиття об’єктів поза фокусом.
  • Motion blur. Розмиття рухомої сцени відносно камери та розмиття рухомих об’єктів.
  • Screen space ambient occlusion. Підкреслює глибину сцени за допомогою затінення в кутах і на стиках об’єктів.
  • Masked blur vignette. Віньєтка за допомогою розмиття.
  • Antialiasing. Згладжування результуючого зображення за яскравістю пікселів.
  • Контурні підсвітки: з ореолами або смужкою з пікселів.

Звук

  • Підтримка OpenAL 1.1, OpenAL Soft, MSS.
  • Підтримка OpenAL Effects Extension (ефекти реверберації та ехо).
  • Підтримка звукових об’ємів для ефектів і властивостей звуку.
  • Звукові події з анімаційної системи (для кроків тощо).
  • Інтеграція з системою скриптів.
  • Підтримка кількох схем згасання звуку.
  • Підтримка низькочастотних фільтрів.
  • Формати Vorbis Ogg, Wav. Стерео, моно.
  • Менеджмент поліфонії (система, що запобігає виникненню «каші» з великої кількості одночасно відтворюваних звуків).
  • Орієнтаційний Low pass filter — звуки, що відтворюються за спиною гравця, приглушуються за високими частотами.

Анімаційна система

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

Підтримується:

  • Переміщення юнітів за допомогою анімацій (animation track).
  • Багатошаровість анімацій.
  • Дерево змішування анімацій.
  • Адитивні анімації.
  • Точне керування змішуванням анімацій.
  • Події в анімаціях.
  • Аналітична інверсна кінематика (CCD IK).
  • Інверсна кінематика за зразком (Sample based IK).
  • Збірка анімацій руху юнітів з окремих фрагментів (Motion builder).

Моделювання ігрового простору

  • Ігровий простір моделюється за допомогою ландшафту, статичних і динамічних елементів.
  • Ландшафт може бути представлений полігональною сіткою з адаптивною деталізацією або картою висот.
  • Статичні елементи — полігональні меші з різними, перемикними властивостями (спрощена модель для руху ШІ, модель для фізики, модель для відпрацювання пошкоджень/стрільби). Статичні елементи можна вмикати та вимикати або переставляти з місця на місце. У реальному часі вони рухатися не можуть.
  • Динамічні елементи — опуклі об’єми з набором властивостей (видимість крізь об’єм, відпрацювання фізики, відпрацювання стрільби/пошкоджень, можливість взаємодії користувача тощо). Також «об’єми» можуть використовуватися в редакторі для маркування різних зон — освітлення, звуку, ігрових сценаріїв. Динамічні об’єкти можуть вільно переміщуватися в реальному часі.

Пошук шляху

  • Повністю тривимірний із можливістю руху юнітів по стінах і стелі.
  • Підтримує повну зміну навколишнього простору — локальні зміни обробляються в ході гри в реальному часі.
  • Підтримка нахилу, типу поверхні, прохідної висоти, глибини води.
  • Підтримка динамічних перешкод на поверхні.
  • Урахування розмірів юнітів при плануванні шляху.
  • Можливість підключення нових планувальників через спеціальне API.
  • Можливість роботи як з повним 3d, так і з картою висот.

Штучний інтелект

  • Можливість створення для кожного юніта власної унікальної поведінки за допомогою вбудованого в гру редактора схем. Використовується технологія на основі Behavior Tree.
  • Можливість необмежено розширювати систему, додаючи нові блоки та умови.
  • Вбудована система детального моделювання видимості та чутності ворогів.

Готові ігрові підсистеми

  • В грі підтримується потужна система інвентарів для юніта. Можливість призначення правил генерації луту.
  • Укриття для юнітів. Можливість задавати специфічну поведінку та анімації для кожного виду укриттів.
  • Система моделювання ігрових характеристик персонажа (RPG) з перками, скілами, атрибутами тощо.
  • Записна книжка персонажа. Збірка записок із частин.
  • Система відтворення діалогів (cinematics) між персонажами з можливістю розгалужень, підсумків діалогу та повного керування звуком, музикою, спецефектами й анімаціями в процесі + окремий редактор діалогів.
  • Сховище ігрового світу з можливістю збереження всіх важливих подій, що відбулися в ігровому світі, стану NPC та іншої інформації. Надалі інформацію з ігрового світу можна використовувати в ігровій логіці.

Інтерфейс

  • Растровий.
  • Підтримка скінів.
  • Підтримується призначення довільних матеріалів на елементи інтерфейсу.

GEM3 Editor

Редактор працює за принципом WYSIWYG і виступає у ролі сполучної ланки між програмами та фінальним ігровим продуктом. Являє собою сукупність редакторів із функціоналом, який повністю покриває всі потреби левел-дизайну: від створення ігрового рівня та логіки подій, до налаштування оточення (освітлення, спецефектів, звуків та іншого).
Надає візуальні можливості для розміщення та редагування ігрових об’єктів, об’єктів інвентарю, вузлових точок для шляхів ШІ та джерел світла, які відображаються в реальному часі з усіма візуальними постефектами.

Особливості:

  • Зручний спосіб зберігання об’єктів ігрового рівня в шарах. Завдяки цьому над одним рівнем можуть працювати кілька людей незалежно один від одного, кожен у своєму шарі.
  • Вбудовані засоби для пошуку, перегляду та організації асетів будь-якого типу.
  • Безпосередньо в редакторі можна протестувати результати роботи в будь-який момент часу через "Simulation start".
  • GEM Editor 3 включає в себе всі досягнення сучасних редакторів ігрового контенту: багаторівневе скасування дій, drag-and-drop, copy-paste, гарячі клавіші та керування вікнами.
  • Вбудовані режими налагодження:
  • Debugger — вікно налаштування відображення налагоджувальних процесів (ці процеси визначаються програмістами та можуть використовуватися для виведення будь-якої статистичної інформації або для моніторингу роботи тих чи інших систем). Вікно, в якому налаштовується відображення шарів ігрової сцени. Використовується для пошуку можливих помилок у коді візуалізації.
  • Profiler — дозволяє відображати в реальному часі результати вимірювань продуктивності. У вікні налаштувань задаються параметри графічної візуалізації (наприклад, амплітуда), а також дані, які будуть відображатися на графіках.

Список редакторів у рамках GEM3 Editor

Редактор ландшафту
Редактор дозволяє працювати з земною поверхнею в реальному часі — підтримує вибіркову тесселяцію, зміну висот і текстурування (змішування текстур за технологією мультитекстурування). Полігональна сітка ландшафту регулярна з кількома рівнями тесселяції. Реалізована технологія «вирізання» полігонів ландшафту опуклими замкнутими контурами у вертикальній проєкції (для воронок, окопів, шахт тощо).

Редактор спецефектів
Спецефект створюється шляхом комбінації та параметричного налаштування стандартних модулів. У будь-який момент можна подивитися, як виглядатиме спецефект.

Редактор оточення
Дозволяє налаштовувати такі параметри: глобальне освітлення, небо, туман за відстанню від камери, вітер, параметри погоди, різні візуальні ефекти (smooth & depth of field, color correction, glow, contour, lens flare). Кожен набір параметрів зберігається під своїм ім’ям.

Scheme File Editor
Візуальний редактор сценаріїв і матеріалів. Дозволяє дизайнерам створювати складні інтерактивні сценарії, ставити завдання перед гравцем, задавати гнучку реакцію на ігрові тригери та вставляти інтерактивні ролики. За допомогою змішування кольору, альфа-каналів, координатних даних і базових компонентів дизайнери можуть створювати нові матеріали, що інтерактивно реагують на освітлення сцени. Основна перевага — користувач може не мати знань у галузі скриптингу та програмування.

Список редакторів Scheme File Editor:

  • Редактор scene scheme для створення логіки подій ігрового рівня.
  • Редактор діалогів для створення діалогових дерев будь-якої складності.
  • Редактор матеріалів — дизайнери мають можливість створювати довільні матеріали на основі стандартних блоків (як в Unreal Engine 3).
  • Редактор Behavior Trees для створення дерев поведінки противників.

Редактори спеціальних об’єктів

  • Clipper — редактор для роботи з обмежувачами карт.
  • Waypoint — редактор для роботи з опорними точками та задання шляхів руху для персонажів.
  • Area — редактор для роботи з зонами.
  • Light — редактор для роботи з джерелами світла.
  • Sound — редактор для роботи з джерелами звуку.
  • Planting дозволяє створювати пресети з об’єктів і швидко наповнювати великі території (луг, ліс, гірський масив).

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

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

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

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

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