В прошлый раз, когда я затрагивал данную тему, я в основном затрагивал аспект юзабилити и разрешение определённых вопросов с точки зрения пользователей. Пользователи не то чтобы не отреагировали, скорее не поняли в чём предмет разговора. С тех пор кое-что изменилось. Во первых я провёл ряд различных экспериментов по внедрению новых систем, во вторых - вышел Джекхаммер, к которому можно писать всякие плагины .
Но для начала хотелось бы напомнить вам всю историю развития движка, её переломные моменты, чтобы вы могли лучше оценить текущий переломный момент и сделать правильный выбор.
Небольшой экскурс в историю
Xash как концепция был задуман 13 декабря 2004 года. Первое упоминание. На тот момент это был мод.
Версия 0.1f была экспериментами над системой оружия, а так же добавление новых пушек, типа редемира и огнемёта. Т.е. ничего особенного.
Версия 0.2f была немного поинтереснее - более продвинутая система оружия, несколько новых энтить (таких как env_counter) и мониторы. Монитор правда работали отвратительно, не учитывали виз. Посмотрели и забыли. Зато там была знаменитая демо-карта от Митоха
Версия 0.3f была первой, с которой к проекту начали проявлять интерес - там появились зеркала (благодаря Ксероксу), мониторы и 3д небо. Так же был расширен movewith.
Версии 0.35f, 0.39f и 0.4f не привносили ничего нового, зато исправляли огромное кол-во ошибок и багов. К версии 0.4 так же появились порталы (весьма глючные, надосказать), и тов. Scrama запилил карту Qstyle, специально для ксаша (вы её можете видеть почти в каждой сборке XashXT). Интерес к проекту рос, однако в то же время росло и недовольство тем фактом, что я переписывал все энтити, объединяя их в более простые, понятные и логичные. Главным образом потому что стало непривычно, а переучиваться никто не хотел. Тогда я не понимал их претензий, что вполне закономерно приводило к длинным срачам безо всякой пользы для обеих сторон. Правда я со своей стороны предпринял одну попытку вернуть обратно старые энтити, создав еще один билд.
Это билд версии 0.45f (которого не существует в природе) и который Фиэктра подло выкрал у Скрамы пользуясь его добростью к новому году.
На тот момент мне стало понятно, что проект зашёл в тупик - кол-во глюков превышало все мыслимые пределы, ничего не работало, ничего не было понятно. По доброй человеческой традции спихивать собственные грехи на кого угодно, виновником был объявлен "глючный голдсорс" и я приступил к разработке "совершенно нового™" движка, на базе второй кваки, как вы помните. Это был 2007 год. К слову сказать, я никогда более не менял эту платформу. Переписывал, перекраивал - да. Но это всегда был один и тот же движок. Вот анонс того памятного старта.
С момента разработки движок преодолел массу итераций, но далеко не все промежуточные шаги были видны нашим пользователям. Вот версия 0.48
Из нее вовсю торчат ушы Quake2, но есть и изменения. Например расширенная виртуальная машинка первой кваки на клиенте, сервере и в меню. Так же было добавлено несколько фишек в рендерер. Следующая версия - 0.56 (прошёл год)
В этой версии почти все форматы были своими. Кстати интересный факт - карты в данной версии на самом деле были WAD-ами. Т.е. карту можно было открыть в WAD-редакторе и посмотреть названия лумпов
Плюс такой реализации был в том, что поименованные лумпы помогали расширять форматы, сохраняя совместимость. Это моё изобретение.
Так же был произведен отказ от виртуальной машины в пользу классических халфовских библиотек.
В конце того же года была выложена версия с поддержкой Q3 карт.
Интерес к проекту повысился, но, что удивительно - народ скучал по мягкому освещению первой халфы и физике с фиксированными хуллами.
Но я еще не был готов к такому повороту.
В феврале 2010 была выпущена последняя несовместимая версия с тестом мультиплеера. Технически это была всё та же 0.68, но с багфиксами и замечательной песней "Пам-пам-пам-парарам" в меню. А вот и первый переломный момент, который зависел от наших форумчан.
Что из этого получилось, думаю объяснять никому не нужно. Дальнейшие версии движка для истории не имеют такого интереса, чтобы упоминать их здесь - был взят курс на полную совместимость, интерес к проекту резко подрос, и я думаю те события все и так помнят.
Поэтому перейдём сразу ко второму переломному моменту: http://www.hlfx.ru/forum/showthread...=&threadid=2306 http://www.hlfx.ru/forum/showthread...=&threadid=2614 http://www.hlfx.ru/forum/showthread...=&threadid=2790 http://www.hlfx.ru/forum/showthread...=&threadid=3076 http://www.hlfx.ru/forum/showthread...=&threadid=3053
Ссылок много, обсуждение было достаточно долгим, в конечном итоге сформировалось мнение, что лучше всего вернуться к тому, с чего начинали - к ксаш-моду версии 0.4, но уже под ксаш-движок (ну, раз уж никакие ограничения теперь не страшны). И вот с этого момента начались удивительные дела. Под связку Xash3D+XashXT люди стали делать моды. Да не один и не два, а как минимум 6 команд. Один раз увидев ксаш-мод, люди тут же всё бросали и переходили на него.
И это в свою очередь дало мне пищу для новых размышлений и корректировке концепции. На тот момент мне было совершенно ясно что нужно народу (плезиозавры) и что народу не нужно (ихтиозавры).
Оставались спорные моменты с совмещением халфовской системы рендермодов и шейдерной системы ку3, а так же отсутствие вменяемого редактора карт. Эксперименты были проведены мною в этом месяце и дали вполне приличный результат. Редактор карт, который в потенциале сможет поддерживать полноцветные текстуры (а возможно что и уже), у нас теперь тоже есть. Всё что я хотел оттестировать - оттестировано.
Вопросов почти не осталось, точнее остался только один вопрос:
Что нам делать с совместимостью?
Под совместимостью понимается работа движка с халфовскими библиотеками. Разумеется текущий ксаш ломать я не буду, давно уже существует параллельная ветка под названием XashNT и разработка будет просто продолжена под нее. А работа над Xash3D, соответственно остановлена (хотя она и так уже год не ведется, так небольшие багфиксы). Потеря совместимости нужна по одной причине - реализовать всё с учётом текущих потребностей, минимизировав потребление памяти и увеличив скорость работы. Ну и конечно же это будет полный стенд-алон, с халфой не связанный. В принципе можно изъебнуться (да, другого слова тут не подберешь) и продолжить наворачивать ксаш-мод и далее, но некоторых вещей реализовать не удастся в принципе. Например тот же рагдолл. Я и так почти исчерпал лимит хитростей по добавлению новых фишек при сохранении совместимости. Собственно, я создаю этот опрос, потому что определился с целевой аудиторией, для которой будет продолжена разработка движка. Это наши мододелы. Как я говорил, их уже достаточно немало, а разработка стенд-алона в виде XashNT может привлечь в их ряды еще и новых участников.
Теперь постараюсь ответить на вопросы по портированию ваших модов на новый движок и форматы моделей\карт\спрайтов:
1. портабельности будет уделено самое больше внимание, в идеале переезд будет столь же безболезненным как с халфы на ксаш в своё время. Ну в дальнейшем возможно сменится формат BSP на более расширенный.
2. модели спрайты текстуры уровни - останется полная поддержка халфовских, как и в Xash3D, не будет только VGUI и поддержки библиотек голдсорса. Вместо них базовыми библиотеками станут дллки XashXT (тоже модифицированные).
3. рендерер и физика будут перенесены в движок для общего увеличения быстродействия.
4. проект по прежнему останется бесплатным и опенсорсным.
Как вы понимаете, это не свершившийся факт, а всего лишь один из вариантов развития. Второй я упоминал - домучать XashXT вместе с интерфейсами движка до полного ужаса, но зато сохранить совместимость.
Дядя Миша писал: И вот с этого момента начались удивительные дела. Под связку Xash3D+XashXT люди стали делать моды. Да не один и не два, а как минимум 6 команд. Один раз увидев ксаш-мод, люди тут же всё бросали и переходили на него.
Если геометрия будет преимущественно брашевой - потеря совместимости означает потерю аудитории, тк bsp в качестве технологии для дейсвительно больших и открытых уровней не приемлима (да и устарела, тащемта) а делать большие ландшафты брашами - это содомия в чистом виде. Если же геометрия будет не только брашевой, но и дисплейсментной (как в сурсе) - это уже плюс, однако вопрос целесообразности, и риска потери аудитории остаётся открытым. Если же новый ксаш будет поддерживать и брашевую геометрию, и какую-нибудь открытую (а следовательно и две модели освещения: лайтмаповая для коридоров, и динамическая для открытых пространств) - то тогда отказ вполне обоснован, тк целевая аудитория расширяется с коридорщиков до ландшафтных задротов, позволяя комбинировать типы локаций, например, чейнджлевелом. В виду этого, прежде чем ткнуть, мне бы хотелось узнать, каким образом будет реализована поддержка открытых пространств. Это принципиально важный вопрос, тк ни у одного движка без поддержки ландшафтов нет будущего: слишком много конкурентов. Преимущество ксаша при таком раскладе - хл-совместимость, благодаря которой с ним могут работать хл-фанаты, а их численность всё ещё огромна. Единственное, что может их удержать - это новый редактор ксера в сочетании с вышеуказанными ландшафтами, а так же тулзы для работы с ними. В противном случае при отказе от совместимости, и не предоставления новых ништяков, фанаты допилят текущие проекты, и просто уйдут (по крайней мере та часть, которая захочет двигаться дальше).
Я не согласен с большей частью варианта 1. Но совместимость нужна.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Поскольку несовместимый двиг уже есть (волатила), и народ вовсю её вожделеет - думаю, имеет смысл придерживаться классической концепции. Для тех, кто таки неспособен освоить что-то новое.
Зачем развивать клон голдсорса без годного мультиплеера (предиктинга нема, увы)? Сингловые моды халфы прекрасно шпарят под него, без дальнейшего развития. Можно заморозить разработку Xash3D на данном этапе, вырезать мультиплеер и время от времени править баги, мешающие работе модов. А главные силы направить на новый движок, благо есть стабильная основа, и не будет ограничений голдсорса. Проблема в том, что на новом движке нужна будет игра. А игру кто-то должен будет сделать.
Ku2zoff писал: Проблема в том, что на новом движке нужна будет игра. А игру кто-то должен будет сделать.
Верно - сделать или искать тех, кто делает мод, который находится на завершающей стадии и целиком его портировать под новый двиг и новые форматы! А без этого не имеет смысла, так как никто ничего делать под все новое не будет. То есть должно получится так, что готовая игра будет идти в комплекте с новым движком и будет примером того, что на нем можно, что-то сделать и демонстрировать его все фичи.