Идеология проекта
- Движок в первую очередь будет ориентирован на инди-аудиторию. Это означает, что при разработке я в первую очередь ориентируюсь на предоставление инструментов, которые по силам освоить небольшой
команде разработчиков, возможно даже одному лицу.
- Сквозная совместимость между всеми будущими версиями. У больших коммерческих продуктов на волне успеха и всеобщего признания, считается вполне допустимым (хотя и не у всех конечно), что форматы
файлов и логика поведения между версиями 3.хх и 5.хх (к примеру), будут абсолютно несовместимы, таким образом обновление игрового движка запустит еще и процесс миграции, на который тоже потребуется время. Я считаю, что никакие обновления совместимость ломать не должны никоим образом, что в первую очередь должно быть обусловлено оптимальной архитектурой, выбранной с самого начала разработки.
- Обратная связь. Любая большая компания, движок которой вы выбрали в качестве платформы для своей будущей игры, использует для этих целей техподдержку, которая отвечает лишь на часто возникающие вопросы. Что-то нестандартное может быть просто проигноровано. В целом для большого бизнеса, такой подход, разумеется, оправдан, но пользователям от этого не легче. Здесь вы сможете всегда пообщаться непосредственно с автором и скорее всего проблема будет исправлена в кратчайшие сроки. Аналогичным
образом действуют и предложения по добавлению того или иного функционала.
- Движок позиционируется как мультиплатформенный и его архитектура учитывает это изначально. Добавление новых платформ это лишь вопрос времени, но ни в коем случае не сломанной совместимости.
- Отсутствие явной привязки к редактору. Не всегда пользователям удаётся примириться с тем редактором который предлагается для разработки. Но чаще всего альтернатива просто невозможна по ряду причин. Я считаю этот подход неправильным, поскольку инструменты всегда вторичны, а первично само творчество. Пользователь должен иметь возможность самовыражения, используя те инструменты, в которых ему привычно
и удобно работать. Разумеется у движка будет предусмотрен свой собственный редактор, в котором я постараюсь учесть все пожелания пользователей, однако это не отменяет использование и других сторонних редакторов, например таких, как Blender или JackHammer, при помощи системы плагинов. Таким образом выбор редактора для работы станет лишь делом вашего вкуса. К тому же исходные материалы предполагается хранить в текстовом виде, что в свою очередь не отменяет и ручного редактирования в каких-то нештатных ситуациях или по той же
привычке (не всем нравится визуальное редактирование).
- Полный набор примитивов для моделирования. Движок будет поддерживать браши (brushes), кривые Безье (Bezier curves) и полигональные модели, причём без явной рекомендации использования тех или иных примитивов с учётом архитектуры. Проще говоря, движок изначально спроектирован таким образом, чтобы хорошо справляться как с геометрией, созданной целиком и полностью из брашей, так и с уровнями, целиком смоделированными в Blender или 3DMax. Всё будет зависеть только от навыков и предпочтений самого пользователя.
- Целевые задачи это 2D платформеры и 3D шутеры с возможностью сетевой поддержки, однако архитектура изначально планируется таким образом, чтобы была возможность расширить функционал для поддержки многопользовательских сетевых стратегий с видом как от первого, так и от третьего лица. Проще говоря, движок не имеет ярко выраженной клиент-серверной архитектуры, накладывающей определённые ограничения на кол-во игроков и скорость работы по сети, это пользовательский, легко расширяемый функционал.
- Система плагинов. Подключаемый функционал, позволяющий оперативно добавлять возможности, необходимые конкретному разработчику.
- На данный момент движок предполагается полностью бесплатным к использованию и с открытым исходным кодом. Однако, полный исходный
код не планируется открывать ранее, чем разработка будет полностью завершена, чтобы избежать путаницы с параллельными ветками.
К сожалению в настоящее время ситуация складывается так, что большинство программных продуктов с открытым исходниками немедленно подвергаются форку (от английского to fork, разветвление), авторы форка вносят в оригинал некоторые изменения, после чего, пользователи начинают рапортовать об ошибках форка автору оригинальной версии. Впервые я с этим столкнулся еще при разработке Xash3D и мне хотелось бы по возможности избежать повторения ситуации.
Поводя итог вышесказанному, хотелось бы отметить неизбежно возникающий вопрос - насколько вообще реальны озвученные задачи для одного человека. Я не берусь говорить за других, но отвечу так - да, в целом реальны. Я занимаюсь этим далеко не первый год и хорошо знаю свои возможности. Да, подобная работа отнимает чертовски много времени, на самом деле. Времени, которое, к сожалению, никак не оплачивается. Отвечая на очевидный вопрос, я разумеется, мог бы устроиться программистом в ту или иную игровую контору, но мне всегда было интересно воплощать в жизнь именно свои идеи, нежели становиться исполнителем чужих. Поэтому моя основная работа никак не связана с программированием.
Всё что я перечислил выше никогда не выходило за рамки хобби, и по существу им являлось. Но учитывая накопленный опыт, мне захотелось
сделать что-то по настоящему серьезное, игровой движок, который если бы и не смог потеснить конкурентов, то хотя бы занять свою нишу. Но времена изменились, теперь игровые движки раздают бесплатно, полагая это достаточным основанием, чтобы привлечь интерес инди-аудитории. Поэтому я решил пойти несколько иным путём, который в настоящее время набирает популярность:
- Если вы мечтаете сделать собственную игру, перепробовали основные трёхмерные движки и по каким-то причинам они вам не понравились, но при этом вас заинтересовала та идеология, которую предлагаю я
- Если вам просто нравится то, что я делаю и вы хотите поддержать отечественные разработки в этом направлении (коих весьма немного)
- Если вас просто интересует сфера геймдева и вам интересно было бы почитать статьи, написанные простым и понятным языком, в которых раскрываются принципы работы современных графических (и не только) технологий
- Наконец, если вы хотите принимать живое участие в разработке, получении раннего доступа к альфа-версиям
То вы можете поддержать меня, подписавшись на этот блог.