Edge of galaxy. Devblog

За последнее время было проделано много различных изменений, улучшений и, конечно, стабилизации. И немножко лирики во врезках.

Edge of galaxy. Devblog

В прошлый раз я не особо описал механику боев, а ведь они занимают около 50% игрового времени. В бою есть пока что есть только 2 участвующие стороны, у каждой сторон есть флот который полностью доступен на начало боя (В будущем планируется механика подкреплений). Задача довольно проста — уничтожить весь флот противника. Когда я придумывал механику боя то ориентировался на Majesty и очень хотел, чтобы игрок получал примерно те же ощущения как и там. В связи с этим управлять возможно только главным кораблем, и его орудиями. Если в Majesty была система наград (денежных), в качестве непрямого контроля, то тут вместо неё есть чуть более сложная система тактик для каждого боевого корабля.

Вообще управление этими кораблями пожалуй самая изменяемая часть игры. Первая идея была в некотором роде слизана с один в один Majesty и те деньги что шли кораблику впоследствии могли быть использованы им когда флот прилетает в магазин или на станцию улучшений. Модификацией это идеи стала замена денег на батареи главного корабля, корабль мог использовать заряды, что бы направлять боевые единицы. Но было чертовски сложно и непонятно с какой суммы корабль должен реагировать на цель и прочее. Второй идей было сделать каждому пилоту характер, типа агрессивность, осторожность и т.п. Эта идея была успешно написана, но что и почему происходит понять было все так же сложно даже мне, а скоротечность боев лишь ухудшала положение. В итоге и эта система была вырезана. Вместо неё я ввел тактики (Остатки от неё есть в коде до сих пор). Это по сути были заранее собранные пресеты из прошлой версии, но тут были все те же проблемы и главная из них — это как в подсчет "опасности" врага в "попугаях". Формулы были чертовски не очевидны, а то что корабли все время двигаются, а не стреляют с места, еще сильнее все усложняло. Следующей итерацией стало то, что главный корабль имеет при себе 2 опции: приоритетная цель и приоритетный байт (выбираешь свой кораблик и все враги атакуют его), это было очень скучно и пропадал дух непрямого управления т.к. по факту оно было уже прямым. И самой последней итерацией стали уже блоки опции тактик. Тип атаки: прямой, фланги и защита базы. Тип целей: большей щитов или меньше, или медленные и т.п. и 3 пункт: воевать или скрываться.

Tactics​
Tactics​

Корабли со временем повышают не только свой уровень (за деньги), но и свой ранг (за опыт) и вместе с ним изучать новые приемы маневрирования в бою. Изначально доступна только опция "дрифта". Далее идут мертвые петли, бочка и таран.

Главный корабль умеет в свою очередь использовать особые пушки, с разными св-вами. Некоторые выключают двигатели, некоторые расталкивают корабли и астероиды, некоторые наносят урон или наоборот защищают союзников. У этих орудий есть опции развития на последнем уровне (К примеру пулемет имеет варианты - либо стреляет сразу по всем но минус 1 пуля в очереди и нельзя выбрать упреждение, либо +2 пули в очереди). Всего сейчас 10 видов таких орудий. Сколько одновременно можно взять с собой на борт зависит от вашей фракции (от 4 до 6).

​Machine gun

Изначально к орудиям главного корабля (Так и не придумал нормального названия, в коде они идут как Spell =)) так же планировалось применять модули, но разнообразие орудий не позволило это реализовать, хотя намеки в коде до сих пор остались. Вместе с тем как менялись орудия, менялось и поведение главного корабля. Вначале он был исключительно статичным и даже снаряды вылетали не всегда из него, а просто сыпались с небес. После пары тестов, когда выяснилось, что этот корабль в некоторых боях просто бесполезен, было решено добавить возможность игроку передвигать его, пусть и не быстро, но в любую точку боя. Ну а после еще серий тестов я появилась возможность иногда телепортироваться на небольшие расстояния, но пока я до сих пор не решил, останется ли это в финальной версии или нет.

Так же на поля боя присутствуют астероиды, и они подверглись значительным изменениям, за счет того, что теперь есть способы их двигать, устраивая с помощью них засады или наоборот прикрываясь от противника.

​Magnet strike

Наконец то придумал как сделать так что бы можно было легко отличать своего от чужого, приделав к каждому кораблю цветные огни. Переделал шейдера кораблей: теперь каждая фракция имеет свой ярко выделенный цвет, а сами корабли не сливаются с фоном. Изменил и затемнил фоны, добавил некоторые элементы на задний план, и как следствие изменения астероидов - у арены теперь есть граница, вместо круга астероидов как ранее.

​Battlefield
​Battlefield
Отличительные огни.
Отличительные огни.

Недавно появились статичные турели. Они существуют в 2 вариантах: либо привязаны к главному кораблю, либо они будут привязаны к общей базе, создавая нечто похожее на укрепления, вместе с ними так же меняется и поведение боевых кораблей этой стороны: они кучкуются вокруг базы и не улетают далеко от турелей. Главное отличие от кораблей, помимо невозможности самостоятельно перемещаться — это возможность быстро разворачиваться и таким образом угрожать на все 360.

Есть еще несколько идей как можно разнообразить поведение турелей. Все они связанны с тем куда они присоединяются: либо сделать общий щит который будет один на группу турелей, или возможно если турель слишком далеко будет отпихнута от базы она будет отключатся, или значительно снижать свою эффективность.

Edge of galaxy. Devblog

Пара слов об оружейной системе. У каждого боевого корабля есть слоты под оружие и под модули. Их количество зависит от фракции и типа корабля. Примерно половина модулей является вспомогающими и разным образом изменяют поведение орудий. При это любые модули могут влиять на любые орудия. Вам никто не запретит скажем навесить на ракетницы «мульти-шот» и одновременно «сплит-шот». Ракет за один выстрел будет вылетать, конечно очень много, но и минусы корабль получит значительные. (Кораблики стоят на месте т.к. так проще снять)

Небольшое технический видосик (Довольно старый) про финальный вариант того как было реализовано избегание астероидов.

То как кораблики взаимодействуют с астероидами менялось много раз. Первый из вариантов был — использовать юнитевый навмеш и навмеш обстаклы. Но эта теория довольно быстро потерпела неудачу т.к. мне неудалось придумать алгоритм который из ломанной линии делал бы красивую траекторию полета, что бы по ней можно было Lerp'ать. Второй был простой клеточной системой с довольно крупными клетками, некоторые из которых боли помечены как астероиды, а некоторые свободными, и корабль находясь в одной клетки "осматривал" всех соседей и выбирал через какую вершину можно пролететь к пустой клетки. Ну и почти финальный вариант было решено что лучше всего обрабатывать каждый астероид в отдельности и облетать их по окружностям (что и можно посмотреть на видео). Для оптимизации была использована воксельная система что тоже видно на видео. Последнее — это фактически тоже что и раньше, только я добавил возможность перемещать астероиды из по физике (не юнитевой).

Ну и напоследок немножко геймплея, которое записывалось для indie cup.

Скриншотики:

Ну и напоследок. Если вы дочитали до этой точки, возможно вам игра более менее интересна. И если есть немножко времени, то я бы хотел вам предложить немного поиграть в игру (ключики стима выдам, но не очень много =) ) и написать потом мне небольшой отчетик: что понятно, что не очень, где скучно, и всякое такое. Писать в личку, не в коменты.

1515
3 комментария

Дружище, отрегулируй звук выстрелов и взрывов. Там у тебя ужасный оверлоад.
Лично я попробовал бы сыграть, мне индирект контрол и маджести нравилась очень в свое время. Несмотря на это желание, меня пугает интерфейс очень и все это изобилие возможностей. 

Ответить

Ясно, годнота

Ответить

Для фанатов космических рейнджеров? Я заинтересован.

Ответить