Veliri: Planet of Machines - devlog
Привет! Разобрал некоторую долю фидбека как с запуска, так и нет, и накопилось на небольшой девлог :)
В целом из обратной связи я вижу 4 направления, которые делают игрокам больно:

Рывки камеры
Вообще, тут я не совсем понимаю, о каких рывках камеры говорят игроки, но после запуска я решил изучить этот вопрос подробнее, добавил lerp-эффект камеры и увидел это

Так как камера раньше была прибита гвоздями к машинки, это было трудно заметить, а с lerp-эффектом стало всё как на ладони. Эту проблему имели ввиду или нет, но проблема серьёзная и её надо решать.
Как я ни пытался, я не смог определить источник этих лагов. Я ковырял:

По приборам всё выглядело в норме ¯_(ツ)_/¯. В итоге я решил проблему тем, что с бэкенда начал передавать не только позицию, но и вектор движения, на основе вектора экстраполировать позицию на несколько тиков вперёд и интерполировать с задержкой.
Не сказать, что это прям полностью решило проблему, но стало всё намного стабильнее, а камеру оставил на резинке, и она теперь 100% будет плавной.
До:

После:

Бонусом управление машинки стало чуть отзывчивее, а пинг уменьшился, потому что я удалил эту строку :D

while (messagesQueue.serverMsgCount > serverLag)

Hardcore -> Midcore
Очевидно, потеря всего за одну смерть очень фрустрирует игрока, а в Veliri очень низкий TTK, и смерть может быть вызвана даже неудачным поворотом в репейник.
При этом в игре в целом весёлые бои, которые полностью ужимаются full loot системой, потому что игроки боятся рисковать/воевать.
При этом если упразднять эту систему, то это будет отражаться на потенциальном рынке предметов в игре.
Ну так воооот — изменение, которое мне очень тяжело далось :)
В игре изменена формула full loot системы. Цель — сохранить остроту и риск, но снизить фрустрацию от неожиданных смертей.
Как было раньше:

Как стало:

Очки "износа"

Таким образом, я хочу смягчить негодование от смерти, но и не сломать рынок. Очевидно, спрос на корпуса сильно упадёт, но не исчезнет, а соло-игрок может кататься на «зомби»-корпусе, компенсируя дебаффы навыками и прокачкой.
И бонусом:

Управление
Управление остаётся без изменений, но думаю, эта тема стоит раскрытия и как история о том, как фидбек может приносить не только пользу, если слепо ему следовать.
Из чего состоит управление в игре в целом?

И каждое из этих решений бесит игроков, особенно когда они видят игру похожую на обычный 2D top-down шутер, но моя игра в жанровой принадлежности ближе к 2D космосимам, просто без космоса.
Сложное это управление? Ну, наверно, да, но у него есть как противники, так и сторонники, и моё наблюдение такое, что это в большей степени зависит от игрового бэкграунда. Если игрок залипал в какой-нибудь Starcom, Sunless Skies или что-то типа Вангеров, то им в целом всё понятно и просто, если не играл — то ему больно.
Буду ли я его менять? Нет, это очень сильно ударит по иммерсивности и глубине боя, однако я попытался адаптировать управление по мотивам треда https://steamcommunity.com/app/2828170/discussions/0/819205866079144783/.
Чем сильно выстрелил себе в колено. Сейчас в игре есть “упрощённое” управление, которое работает относительно экрана, но:

На текущий момент упрощённое управление всё ещё есть в игре, оно может быть удобно для мобилок или Deck, но пока я ориентируюсь на ПК, скорее всего, я его спрячу.
И всё?
Не всё)
Раз я не могу “исправить” управление, я попробую сделать его более читабельным, чтобы игрок, заходя, сразу понимал, куда смотрит его пушка, какой путь преодолевает, куда смотрит его машинка и как двигается.
Я добавил HUD вокруг машинки, который показывает:

Ха, я могу рисовать интерфейсы вокруг машинки!
5 minutes later

И тут меня понесло. Некоторые игроки жаловались, что читабельность графики очень плохая. Отлично, давайте сделаем из экрана не просто камерой в мир, а тактический экран!
Основная идея: на экране должны подсвечиваться точки интереса в зависимости от выбранного режима машинки.
Если выбрано оружие: подсвечиваем машинки, турели, HUD оружия и движения. Всё лишнее скрываем.
Если выбран бур: подсвечиваем все ресурсы, с которыми он может взаимодействовать.
Слои могут накладываться друг на друга: например, бур + лапа + насос и т.д. Исключение тут только боевой режим — он исключает всё остальное.
Пеленгатор
Для реализации подобной системы нужен “компас”, и у меня он уже реализован, но криво и включается отдельным модулем.
Возьмем его за основу, сделаем инструментом доступным всегда и приемлемый вид)
Пеленгатор отображает все объекты на круговой шкале. Чем длиннее полоска, тем сильнее сигнал и, соответственно, чем ближе объект. Если объект находится прямо в центре круга, он отобразится точкой.

Пеленгатор адаптируется и показывает сигналы от объектов, с которыми можно взаимодействовать выбранным инструментом:

Цели
Выделяем машинки других игроков/ботов. Теперь все машинки обведены тонкой "рамкой".
Рамка показывает отношение к игроку:

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

Бонусом у тех, у кого установлен сканер, будут ещё видеть дополнительно энергию и загруженность трюма машинки :)
Нативные подсказки о предметах/ресурсах
В зависимости от режима автоматически появляются подсказки над объектами, с которыми можно взаимодействовать.
Когда ничего не выбрано, показаны все подсказки на валяющиеся предметы, которые можно забрать. Подсказки не перекрывают друг друга и реагируют на нажатие так же, как на предмет.
Подсказка при наведении появляется как и раньше без фильтров.

Вооот, как-то так)