Как стать автором
Обновить

Комментарии 24

Не буду оригинален, сказав:
Игровой движок, как и любой другой инструмент, нужно выбирать исходя из задач продукта и навыков-знаний команды. Потребовалось что-то необычное или команда не смогла использовать, доработать купленный движок (странно почему, но такое тоже бывает) — прямой путь к разработке своего (или скорее гибели проекта).
Поэтому опрос несколько некорректен. Например, для простых 2D игр и мизерной команды (или одиночки) я с удовольствием возьму Corona SDK. Но 3D на ней я не сделаю, и тут уже будем выбирать серьёзней по планируемым задачам.
Статья большая, странная…

Есть пример реально неправильного выбора движка. Компьютерная игра Xenonauts (описание на хабре). Разработка бодренько стартовала, использовался движок, который хорошо знал один из программистов...


дальше боль и страдания

Выбор движка был самых худшим решением, которое мы когда-либо принимали. Playground SDK 5 — это двухмерный движок, сконструированный для казуальных браузерных игр вроде Diner Dash. Он не поддерживается разработчиками, его исходные коды не доступны и его даже нельзя больше скачать.


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


Движок был выбран программистом, который первым (и очень недолго) работал над проектом. Это было ужасное решение. Если бы мы правильно занимались планирование и прототипированием, то быстро бы перешли на другой движок, так как Playground SDK просто не подходил для игры вроде Xenonauts. Вместо этого мы выбрали плохую основу и следующие пять лет мучились, строя игру поверх нее.

Ну, тут какой-то крайний случай и совсем noname заброшенный движок.
SFML туда же
Еще почему-то незаслуженно обходят вниманием OpenFL, хотя он отлично подходит для разработки 2d игр. При этом легко и просто позволяет собирать нативные приложения под все популярные платформы из одной кодовой базы.
Это фреймворк, а не движок :)
НЛО прилетело и опубликовало эту надпись здесь
Cocos2D написан и использует для разработки Objective-C и на текущий момент скорее мертв чем жив. Плюс наличие возможности прикрутить скриптование указывает, что это таки Cocos2D-X. Причем почему-то указывается JS как язык скриптования, хотя дефолтный язык для этого в кокосе — Lua.
Также автор говорит, что скопировано много технологий, хотя по факту — это до третьей версии это довольно большое легаси как следствие переноса кода Obj-C на C++ для того чтобы можно было писать кроссплатформенные приложения, а не только для iOS как в случае исходного cococs2d. Теперь там есть поддержка четырех основных мобильных платформ — iOS, Android, Windows Phone (вроде поддежку прекратили), Tizen — и основных десктопных платформ — Windows, Linux. Сейчас впиливают поддержку еще и VR и аналоговых способов ввода, параллельно выпиливая куски наследия.
Судя по комментариям нашего разработчика китайцы, ответственные за разработку не очень хорошо разбираются в OpenGL и имеется немало способов оптимизировать внутренности как рендера, так и управления памятью приложений.
Инструментарий для кокоса — таки довольно большая проблема. Тот редактор что сейчас пытаются делать пока еще довольно сырой и что-то большое писать на нем не слишком удобно. Есть всякие Marmelade которые оборачиваются вокруг кокоса и добавляют фишки вроде LiveReload при использовании Lua. Но что-то действительно комплексное в таких SDK написать довольно проблемно. Старые инструменты вроде CocosBuilder медленные, плохо написанные и уже давно не развиваются. Так что «почти все необходимое» в большинстве случае превращается в «отсутвует».
Короче это такой jack-of-all-trades в игровой МОБИЛЬНОЙ разработке.
НЛО прилетело и опубликовало эту надпись здесь
Вполне себе движок. AppDelegate собственно его начало. Ну, а портянка так к слову пришлась из-за неточностей автора относительно кокоса.
Ну, наверное, всё же фреймворк, а не SDK :)
Чем меньше программистов подгоняют когда они пишут игровой движок, тем будет выше качество движка, но так как у заказчика и у инвесторов мало денег и времени то и движки всегда будут с недостатками, если на разработку движка не жалко несколько сотен миллионов долларов и от 5 лет разработки то можно создать идеальный движок который обгонит всех конкурентов.
Можно и Roblox упомянуть. Хоть и дети для детей делают там игры, но все очень даже на уровне.
И много мобильных игр на нём сделано?
Не, ну вы б тогда еще RenPy вспомнили.
Если вы инди разработчик, то оптимальным выбором будет UNITY т.к., не смотря на все его недостатки плюсов для не большой команды гораздо больше.
SDL нельзя считать движком, да и SDL себя не позиционирует как движок. Это как OpenGL называть движком, или WSAPI называть движком. Просто API, которое кроссплатформенно.
Для free-to-play модели Unreal не подходит из-за его способа монетизации. 5% от Gross может быть больше, чем прибыль издателя/разработчика, учитывая стоимость привлечения игроков. А для pay-to-play он не подходит крупным издателям, у которых эти 5% от Gross — сумма сопоставимая с бюджетом разработки своего движка.

Unity3D плохо подходит большим командам с длительной разработкой проектов, потому как нужно оплачивать подписку на каждое рабочее место. И для мобильных 2D-проектов он избыточен.
Присоединюсь к тому что бы посоветовать Corona. Хорошая и отзывчивая комьюнити и большой набор всевозможных плагинов и интеграций делают просто конфетку. Если не нужно делать 3D то это отличная альтернатива тому что бы писать свой движок.
Странно, почему никто не вспоминает о:
1. CryEngine — мощный, бесплатный, опенсорс движек (скриптинг С++, С#).
2. Urho3D — тоже крутой с редактором и опенсорс (скриптинг AngelScript, Lua, C++).
3. Xenko — с хорошим фичасетом (на вид очень продвинутый и много обещающий) проприетарный, платный (есть бесплатная версия), возможность получить исходники (скриптинг C#).
Конечно, новый будут создавать, иначе как тогда быть с прогрессом? Он необходим, потому что все в мире не стоит на месте, и железо, и требования потребителей, рынок. Куча нюансов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории