[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows

Приветствую, читатель.

В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine.

Разработчиками является объединение энтузиастов под руководством Adam’s Lair.

Как нам говорит официальный сайт: «Duality — это модульный игровой 2D-движок, поставляемый вместе с собственным редактором. Он легко расширяем, написан на C# и использует OpenGL для вывода графики.» Для написания логики в Duality применяется популярная компонентно-ориентированная архитектура. Написали компонент, прикрепили к игровому объекту и все работает, полностью избавляя программиста от рутины. Еще одним преимуществом является поддержка плагинов, которые любой желающий может создавать и подключать к своим проектам.

— Классика, — скажете вы и будете правы. Duality не хуже других инструментов, он также берет на себя управление ресурсами, предоставляет подсистемы ввода-вывода, графику, аудио и симуляцию физики. Если к этому добавить удобный редактор Dualitor, то можно получить превосходную среду для разработки инди-игр.

Так зачем мне нужен Duality, когда есть более обширные решения вроде Unity?

  • Бесплатность (MIT License). Вы не обязаны платить, публиковать свои исходники и совершать прочие ограничивающие ваше творчество действия. Исходники Duality тоже доступны на GitHub.
  • Легковесность. Редактор весит ~100 мб, полностью рабочая игра весит ~7 мб.
  • Быстродействие. В последней на данный момент версии v3 проделана масштабная оптимизация движка. В проведенных тестах на предполагаемую загруженность, время отрисовки в худшем случае не превышало 6 мс, а сборки мусора проводились около пяти раз в минуту.
  • Простота. Если вы знакомы с тем же Unity или Unreal Engine, то освоить Duality сможете без проблем. API хорошо документировано и предоставляет удобные интерфейсы для того, чтобы программист не отвлекался на низкоуровневые операции.
  • Сообщество. Возможно оно не исчисляется тысячами пользователей, но в нем присутствуют преданные разработчики, которые самолично помогают новичкам в освоении движка. Очень дружелюбно и своевременно. Кроме того, созданы различные туториалы и открыт форум, на котором содержится большое количество полезной информации.

Возможно, это стоит попробовать

Думаю, вы хотите увидеть, как это все выглядит.

Редактор. Простовато, но функционально. В нем видны привычные нам Scene View, Project View, Inspector и Camera View. Внизу находится скрытая панель логов.

Dualitor

[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows

А это пример кода для компонента, который управляет перемещением космического корабля.

Код

using Duality; using Duality.Components.Physics; using Duality.Input;  namespace Duality_ {     [RequiredComponent(typeof(RigidBody))]     public class Player : Component, ICmpUpdatable     {         public void OnUpdate()         {             RigidBody rb = GameObj.GetComponent();              if (DualityApp.Keyboard[Key.Left]) rb.ApplyLocalForce(-0.001f * rb.Inertia);             else if (DualityApp.Keyboard[Key.Right]) rb.ApplyLocalForce(0.001f * rb.Inertia);             else rb.AngularVelocity -= rb.AngularVelocity * Time.TimeMult * 0.1f;              if (DualityApp.Keyboard[Key.Up]) rb.ApplyLocalForce(Vector2.UnitY * rb.Mass * -0.2f);             else if (DualityApp.Keyboard[Key.Down]) rb.ApplyLocalForce(Vector2.UnitY * rb.Mass * 0.2f);         }     } }

Не знаю как вы, а я приятно удивлен простотой этого фреймворка. Кстати, показателем успешности движка являются игры, сделанные на нем. Поскольку его используют небольшие команды, то и игры выпускают не уровня ААА. Так что похвастаться пока особо нечем. На этом сайте вы можете посмотреть готовые игры.

Еще мне известен один серьезный проект, на данный момент находящийся в разработке и выложенный в Steam, но об этом лучше написать в другой раз.

В заключение этого краткого обзора хочу сказать, что существует множество других игровых движков, которые возможно не уступают данному и это хорошо. Я, конечно, не призываю вас бросать все, чем вы уже пользуетесь, но представляю вашему вниманию качественный проект. Если вы разработчик-одиночка или небольшая команда, которая ищет что-то простое и достаточно мощное, попробуйте Duality.

Официальный сайт.

 
Источник

Читайте также