Информация в статье предназначена как для опытных мододелов, так и для тех, кто просто играет в моды, не особо задумываясь о технической реализации тех или иных фич. Если вы относитесь к первым, можете смело пропускать следующие два абзаца, а если ко вторым — возможно, вам следует ознакомиться с небольшим введением.
Итак, если вы давно играете в моды на Red Alert 2 YR, то скорее всего слышали про Ares.dll, который то тут, то там упоминают мододелы в своих новостных обновлениях, благодарностях или даже на главной странице лаунчера. По сути это тоже мод, только не для игры, а для самого движка — благодаря ему в игре можно реализовать новые механики, невозможные ранее, или сделать старые механики более гибкими. Все современные моды на YR используют это расширение, потому что оно даёт слишком много новых возможностей, чтобы их игнорировать.
Разработкой Ares.dll долгое время занимался всего один человек, и у него не всегда получалось уделять свободное время проекту и удовлетворить всё растущие аппетиты мододелов. К счастью, в сообществе были люди, способные принять участие в разработке, но исходники Ares были закрыты, и помочь напрямую они не могли. Это привело к появлению Phobos.dll, или просто Phobos — отдельного расширения для движка, которое не заменяет, а дополняет Ares, используя те же методы и преследуя ту же цель: добавить новые механики, исправить старые баги, снять раздражающие ограничения старого движка.
Мы уже писали о предыдущих крупных релизах Phobos, а теперь Kerbiter и остальная команда разработчиков решила представить нам грядущую версию 0.3, показав ее самые новые возможности на примере различных модов, известных и не очень, а также небольшой, но значительный тизер — читайте статью до конца, и сами всё увидите.
Итак, на данный момент v0.3 находится в состоянии пре-релиза, и разработчики занимаются окончательной полировкой, устранением выявленных недочётов, оптимизацией производительности и всем в таком духе, чтобы релиз точно прошёл максимально гладко. Последняя рабочая сборка доступна уже сейчас, так что при желании вы можете опробовать новые фичи в своём моде или потестить их на предмет упущенных багов и недоработок, не дожидаясь официального релиза.
А фич много. Список изменений для новой версии v0.3 в 2.5 раза длиннее чем для v0.2. Давайте же посмотрим на некоторые из них:
Лазерные хвосты
- Лазерные хвосты! Название странное, но разгадка простая: для их отрисовки используется тот же код, что и для лазерных лучей. По сути это более красивая альтернатива стандартным хвостам (линии толщиной в один пиксель, используемые, например, для имитации следа ракет), к тому же ещё и очень гибкая в плане настроек. С их помощью можно имитировать пламя из реактивных турбин, трассирующие пули, хвосты ракет и многое другое.
- Кстати, замечаете что-нибудь необычное в поведении этих летунов? А они ведь разворачиваются передом к цели во время атаки! Раньше это было невозможно из-за бага в движке игры.
Улучшения системы щитов
- Система щитов подверглась большому количеству доработок, благодаря которым багов с ними стало меньше, а возможностей гораздо больше. Теперь в игре можно реализовать генераторы щитов (см. выше), оружие для пробивания щитов, разную анимацию щита в зависимости от степени повреждённости (также показано выше) и многое другое. Не хуже чем у протоссов из StarCraft!
Новые траектории полёта снаряда
- В v0.3 был реализован способ легко добавлять в игру новые траектории снарядов, и первой (но не единственной) из них стала прямая траектория. Технически снаряды умели летать по прямой и раньше, но на практике это не работало нормально (снаряды постоянно врезались в землю), из-за чего практически никто не использовал такой вариант. Теперь можно обойтись без костылей и реализовать, например, трассера, как показано на иллюстрации с бластерами.
Улучшения перехвата снарядов
- Механика перехвата снарядов тоже была достаточно сильно доработана. Больше нет ограничений на то, какое оружие может сбивать снаряды (так что теперь вы не ограничены одними лишь защитными лазерами а-ля как у танка Паладин из Генералов), а ещё снаряды теперь можно не только сбивать одним выстрелом, но и ослаблять, отключать, изменять их характеристики или уничтожать несколькими выстрелами. В целом, механика стала значительно более гибкой.
Спавн юнитов через анимацию
- Анимации теперь могут спавнить технику, позволяя мододелам делать весьма интересные вещи. Например, при уничтожении техники теперь может оставаться её остов, как видно на иллюстрации выше.
Улучшения интерфейса
- Во многих современных стратегиях можно видеть “предпросмотр” здания, которое вы собираетесь разместить на карте, ещё до того, как вы его возведёте. Теперь это возможно и в YR — фича чисто эстетическая, но в игре выглядит действительно хорошо.
- Продолжается работа над информативностью интерфейса. Phobos уже позволяет добавлять описания юнитам, зданиям и вспомогательным способностям, а теперь в этих описаниях отображается время, за которое они будут готовы. К ранее добавленному счётчику харвестеров добавился ещё один — счётчик запаса энергии, который отображает разницу между вырабатываемой и потребляемой энергией. Теперь вам не придётся прикидывать в уме, хватит вам энергии на очередную постройку или нет — вы просто смотрите в её описание и сравниваете потребление энергии со значением счётчика.
- Кроме того, в игре теперь есть функция быстрого сохранения и быстрой загрузки, что наверняка понравится игрокам в кампанию и миссии.
Улучшения, связанные с оружием
- Добавлено множество небольших, но важных нововведений: срабатывание эффектов на юните-стрелке при стрельбе из оружия через механику обратной связи, продвинутая механика выбора оружия при атаке, эффекты при уничтожении щита, кастомизация логики шрапнели, запуск супероружия при помощи оружия юнита, и многое другое.
- К слову о последнем: мододелы теперь могут запускать супероружия не через кнопку на боковой панели, а с помощью оружия обычных юнитов, и в сочетании с возможностями супероружия это открывает интересные возможности. Например, юнит на иллюстрации выше использует механику запуска супероружия через оружие, чтобы применить вокруг себя Хроносферу (как в предыдущем примере, через механику обратной связи) и чтобы указать точку телепортации. Вариантов применения множество.
Визуальные улучшения
- Не обошлось и без украшательств. Теперь каждый объект ландшафта может иметь анимацию, как, например, деревья на иллюстрации выше. Раньше это не было возможно.
- Для лазерного оружия была добавлена новая опция, позволяющая получать одноцветные лазерные лучи любой толщины с плавным затуханием цвета по краям. Раньше это не представлялось возможным.
- И это только то, что было легче всего показать. В обновлении есть и другие фичи, которые не настолько красочны, но при этом очень важны, например новые скрипты для ИИ (кирпичики, из которых можно будет построить более умный ИИ), или огромное, нет, огромное количество пофикшенных багов старого движка и дополнений к уже имеющимся механикам, делающих их более гибкими.
С полным списком изменений и нововведений можно ознакомиться здесь. А сейчас время дать ответ на вопрос, которым задаются многие:
Почему так долго?
С момента последнего стабильного релиза (версии v0.2.2.2) прошло действительно очень много времени. Рабочие сборки по-прежнему выходят относительно часто (хотя и не так часто, как ранее), но увеличивать промежуток между версиями не хотелось бы: чем дальше они друг от друга, тем больше в них накапливается незамеченных багов.
Основная причина задержек в том, что тем разработчикам, которые достаточно компетентны для управления проектом, не всегда хватает времени и мотивации над ним работать. Время уходит на работу и личную жизнь, а проблемы с мотивацией возникают главным образом потому, что люди не всегда понимают, насколько их участие (причём даже не в качестве разработчиков) важно для процветания проекта.
Phobos — проект некоммерческий и всегда таковым останется. Вам никогда не придётся платить, чтобы пользоваться его возможностями. Это проект с открытым исходным кодом, созданный для нужд сообщества мододелов и игроков в моды на YR, и для его существования очень важно участие этого самого сообщества. Помогая Phobos стать известнее, вы косвенно делаете лучше своим же любимым модам — чем популярнее Phobos, тем больше шансов, что в них рано или поздно появится фича, которая пригодится именно вам. Без сообщества проект просто загнётся, и в модах не будет новых крутых штук, которые могли бы в них быть.
Так как же можно помочь?
- Если вы разрабатываете свой мод и постите где-то новости о нём, почаще упоминайте Phobos, если используете его: покажите, как это расширение позволило вам реализовать те или иные фичи, и пусть поклонники вашего мода знают, что оно существует, и что они могут поучаствовать в его разработке.
- Если вы делаете медиаконтент (видео, новости, мемы и т.д.), вы тоже можете очень хорошо помочь! Контент, связанный с Phobos (например, демонстрация разных его возможностей в разных модах), посты в соцсетях, может даже туториалы о том, как его использовать (если вы в этом мало что понимаете, мы можем помочь) — всё это может сыграть важную роль в его продвижении, ведь такие материалы видит много людей, и не обязательно те, кто уже играет в моды.
- Если вы умеете менять параметры юнитов и работать с INI-файлами, вы можете помочь с тестированием, отдельно обкатывая новые фичи из пулл-реквестов (читай: фич в разработке) и рабочих сборок.
- Если вы программист, вступайте в наши ряды! Научившись писать код специально для движка YR (мы поможем), вы сможете писать свои фичи для Phobos, за что всё сообщество мододелов и игроков будет вам благодарно. А если вы умеете проверять код и заниматься поддержкой проекта, то вообще отлично: у нас как раз не хватает людей, которые могли бы это делать.
- Если вы не относитесь ни к одной из категорий выше, но хотели бы, чтобы проект и дальше жил и развивался, делитесь этим постом с другими. Если среди них окажутся те, кто нам нужен, или от них информация пойдёт ещё дальше, это уже отличная поддержка.
Ну и напоследок хотелось бы завершить этот пост чем-то приятным. В качестве приятного будет спойлер кое-чего, что может появиться в следующих версиях Phobos:
- Да, это ничто иное как юнит, состоящий из нескольких частей — механика, которую многие очень давно ждут в YR. Это вам и возможность воссоздать линкор из RA3, и возможность навесить на одного юнита кучу пушек, и много чего ещё. То, что вы видите — всего лишь прототип реализации этой механики, в котором ещё многое можно и нужно улучшать (и в ваших силах с этим помочь), но это рабочий прототип, который уже можно пощупать.
Внести свой вклад в развитие Фобоса и пообщаться с разработчиками вы можете, перейдя по ссылкам ниже.
страничка ПРОЕКТА ОФИЦИАЛЬНЫЙ DISCORD (АНГЛ.)
Если вы хотите сказать “спасибо” в денежной форме, пожалуйста, воспользуйтесь ссылками для пожертвований, которые доступны в списке авторов.
Вау, офигенные вещи делают!
1) А можно как-нибудь в новой версии движка прописать наземной, воздушной и морской технике выбираемое в параметрах Artmd.ini для каждого её конкретного типа число занимаемых каждым юнитом квадратов карты? Тот же параметр, что у зданий Foundation=3×2, но сделать его для юнитов!? Ну, неужели только меня все эти годы бесят проходящие друг сквозь друга в точке сбора все эти многочисленные танки, дирижабли, корабли и т.д.?!
2) Раз уж занялись созданием юнитов из разных частей, то может попытаетесь для составных юнитов обойти как-нибудь общее ограничение на конечный размер 1 юнита в 256vxl по каждой из осей координат? Т.е. чтобы можно было по факту собрать 1 юнит, например, из 2 частей длиной по 256vxl каждая и получить в итоге 1 юнит длиной 512vxl но движок игры бы при этом считал это 2 разными юнитами, которые просто всегда следуют друг за другом и даже крафтятся одновременно? В Генералах были толпы моджахедов, которые были разными солдатами, но строились и игрались, как один юнит и хотя движок там совсем другой, но логика, думаю, понятна. Только для техники ещё должна быть строгая фиксация сторона к стороне, чтобы можно было создавать визуально неразрывный объект из 2 разных частей.