Дядя Миша

Разработка игрового движка XashNT
Дядя Миша
15
subscribers
goals
10 of 2 000  paid subscribers
Чем больше подписчиков, тем быстрее будет продвигаться разработка

About the creator

Приветствую вас на своей страничке.
Я - автор игрового движка Xash3D.
https://halflife.fandom.com/ru/wiki/Xash3D
http://cyclowiki.org/wiki/Xash3D
https://quakewiki.org/wiki/Xash3D
https://csm.dev/wiki/Xash3D
MODDB: https://www.moddb.com/engines/xash3d-engine
Официальный сайт: https://xash3d.ru/doku.php?id=start
Также, я принимал участие в разработке продолжения к игре Paranoia, под названием Paranoia 2:Savior
https://www.moddb.com/games/paranoia-2-savior
http://cyclowiki.org/wiki/Paranoia_2:_Savior
https://paranoiagame.fandom.com/wiki/Paranoia_2:_Savior
Полный (ну или почти полный) список моих проектов можно найти здесь:
https://hlfx.ru/forum/showthread.php?s=&threadid=5233
Всё вышеприведённое было не более чем хобби, однако меня никогда не оставляла мысль о написании современного трёхмерного движка, который мог бы составить определённую конкуренцию уже имеющимся продуктам на рынке. Современные программные продукты такого рода пишутся десятками и сотнями человек и используют много сторонних библиотек, что в свою очередь приводит к размыванию ответственности за корректную работу между компонентами движка и пользователь очень часто сталкивается с необъяснимым поведением или некорректной работой того, на что возлагались изначальные надежды.
При разработке своей игры половина успеха зависит от грамотного выбора движка и нередки случаи, когда ожидаемый функционал оказывался в принципе невозможен на выбранном продукте, вследствие чего разработчикам приходилось переезжать на другой движок. Подобная ситуация сохраняется и в настоящее время. Конечно с моей стороны было бы самонадеянно обещать дать пользователям то, что они в своё время не смогли получить от больших корпораций, но я буду тешить себя мыслью, что я хотя бы попытался это сделать :)
Итак, в данный момент я работаю над трёхмерным игровым движком XashNT. Движок находится в разработке с февраля 2019-го года. На данный момент (февраль 2021-го) процент готовности составляет примерно 50%.
All posts
All time
All tags
For subscribers only
Apr 16 17:18
История разработки. Часть 2.1 Material System
For subscribers only
Apr 02 14:15
История разработки. Часть 1: User Area
For subscribers only
Mar 24 17:06
Смена уровня и бесшовная подгрузка локации
For subscribers only
Mar 14 12:47
Просмотровщик ресурсов
For subscribers only
Feb 17 12:13
Темы для будущих статей
For subscribers only
Feb 17 12:10
Ближайшие планы
Available to everyone
Feb 17 12:03
Вопросы и предложения
Это пост для тех, кто хочет о чём-то спросить автора до оформления подписки. Отмечу что предложения об архитектуре и дальнейшей судьбе движка здесь не рассматриваются.
Log in, to post comments
Available to everyone
Feb 13 17:34
Идеология проекта
- Движок в первую очередь будет ориентирован на инди-аудиторию. Это означает, что при разработке я в первую очередь ориентируюсь на предоставление инструментов, которые по силам освоить небольшой
команде разработчиков, возможно даже одному лицу.
- Сквозная совместимость между всеми будущими версиями. У больших коммерческих продуктов на волне успеха и всеобщего признания, считается вполне допустимым (хотя и не у всех конечно), что форматы
файлов и логика поведения между версиями 3.хх и 5.хх (к примеру), будут абсолютно несовместимы, таким образом обновление игрового движка запустит еще и процесс миграции, на который тоже потребуется время. Я считаю, что никакие обновления совместимость ломать не должны никоим образом, что в первую очередь должно быть обусловлено оптимальной архитектурой, выбранной с самого начала разработки.
- Обратная связь. Любая большая компания, движок которой вы выбрали в качестве платформы для своей будущей игры, использует для этих целей техподдержку, которая отвечает лишь на часто возникающие вопросы. Что-то нестандартное может быть просто проигноровано. В целом для большого бизнеса, такой подход, разумеется, оправдан, но пользователям от этого не легче. Здесь вы сможете всегда пообщаться непосредственно с автором и скорее всего проблема будет исправлена в кратчайшие сроки. Аналогичным
образом действуют и предложения по добавлению того или иного функционала.
- Движок позиционируется как мультиплатформенный и его архитектура учитывает это изначально. Добавление новых платформ это лишь вопрос времени, но ни в коем случае не сломанной совместимости.
- Отсутствие явной привязки к редактору. Не всегда пользователям удаётся примириться с тем редактором который предлагается для разработки. Но чаще всего альтернатива просто невозможна по ряду причин. Я считаю этот подход неправильным, поскольку инструменты всегда вторичны, а первично само творчество. Пользователь должен иметь возможность самовыражения, используя те инструменты, в которых ему привычно
и удобно работать. Разумеется у движка будет предусмотрен свой собственный редактор, в котором я постараюсь учесть все пожелания пользователей, однако это не отменяет использование и других сторонних редакторов, например таких, как Blender или JackHammer, при помощи системы плагинов. Таким образом выбор редактора для работы станет лишь делом вашего вкуса. К тому же исходные материалы предполагается хранить в текстовом виде, что в свою очередь не отменяет и ручного редактирования в каких-то нештатных ситуациях или по той же
привычке (не всем нравится визуальное редактирование).
- Полный набор примитивов для моделирования. Движок будет поддерживать браши (brushes), кривые Безье (Bezier curves) и полигональные модели, причём без явной рекомендации использования тех или иных примитивов с учётом архитектуры. Проще говоря, движок изначально спроектирован таким образом, чтобы хорошо справляться как с геометрией, созданной целиком и полностью из брашей, так и с уровнями, целиком смоделированными в Blender или 3DMax. Всё будет зависеть только от навыков и предпочтений самого пользователя.
- Целевые задачи это 2D платформеры и 3D шутеры с возможностью сетевой поддержки, однако архитектура изначально планируется таким образом, чтобы была возможность расширить функционал для поддержки многопользовательских сетевых стратегий с видом как от первого, так и от третьего лица. Проще говоря, движок не имеет ярко выраженной клиент-серверной архитектуры, накладывающей определённые ограничения на кол-во игроков и скорость работы по сети, это пользовательский, легко расширяемый функционал.
- Система плагинов. Подключаемый функционал, позволяющий оперативно добавлять возможности, необходимые конкретному разработчику.
- На данный момент движок предполагается полностью бесплатным к использованию и с открытым исходным кодом. Однако, полный исходный
код не планируется открывать ранее, чем разработка будет полностью завершена, чтобы избежать путаницы с параллельными ветками.
К сожалению в настоящее время ситуация складывается так, что большинство программных продуктов с открытым исходниками немедленно подвергаются форку (от английского to fork, разветвление), авторы форка вносят в оригинал некоторые изменения, после чего, пользователи начинают рапортовать об ошибках форка автору оригинальной версии. Впервые я с этим столкнулся еще при разработке Xash3D и мне хотелось бы по возможности избежать повторения ситуации.
Поводя итог вышесказанному, хотелось бы отметить неизбежно возникающий вопрос - насколько вообще реальны озвученные задачи для одного человека. Я не берусь говорить за других, но отвечу так - да, в целом реальны. Я занимаюсь этим далеко не первый год и хорошо знаю свои возможности. Да, подобная работа отнимает чертовски много времени, на самом деле. Времени, которое, к сожалению, никак не оплачивается. Отвечая на очевидный вопрос, я разумеется, мог бы устроиться программистом в ту или иную игровую контору, но мне всегда было интересно воплощать в жизнь именно свои идеи, нежели становиться исполнителем чужих. Поэтому моя основная работа никак не связана с программированием.
Всё что я перечислил выше никогда не выходило за рамки хобби, и по существу им являлось. Но учитывая накопленный опыт, мне захотелось
сделать что-то по настоящему серьезное, игровой движок, который если бы и не смог потеснить конкурентов, то хотя бы занять свою нишу. Но времена изменились, теперь игровые движки раздают бесплатно, полагая это достаточным основанием, чтобы привлечь интерес инди-аудитории. Поэтому я решил пойти несколько иным путём, который в настоящее время набирает популярность:
- Если вы мечтаете сделать собственную игру, перепробовали основные трёхмерные движки и по каким-то причинам они вам не понравились, но при этом вас заинтересовала та идеология, которую предлагаю я
- Если вам просто нравится то, что я делаю и вы хотите поддержать отечественные разработки в этом направлении (коих весьма немного)
- Если вас просто интересует сфера геймдева и вам интересно было бы почитать статьи, написанные простым и понятным языком, в которых раскрываются принципы работы современных графических (и не только) технологий
- Наконец, если вы хотите принимать живое участие в разработке, получении раннего доступа к альфа-версиям
То вы можете поддержать меня, подписавшись на этот блог.
avatar
в целом и в частности хорошо что решил все же вывести разработку в публичную сферу. хотя бы потому что прекрасно понимаю, что в одиночку тянуть и форсить разработку чего-то с ориентацией на абстрактное *человечество* - дело не то чтобы неблагодарное, но отнимающее жизненные ресурсы, которые можно было бы потратить с пользой хотя бы на ту же семью и просто жизнь, работу (а кушать надо, ага), но в ущерб разработке, или наоборот. в некоторой мере помощь сообщества (если таковое сможет образоваться, сильно надеюсь) в некоторой мере сможет выровнять подобный перекос, позволив частично перераспределить усилия не в ущерб одному или другому.
Feb 13 20:06
Log in, to post comments

Subscription levels

Ход разработки

100 per month

Технологии современных 3D движков

500 per month

Участие в разработке XashNT

1 000 per month