Улучшая ZEROAD: как один шейдер добавил визуального разнообразия толпе зомби
Всем привет!
Работая над своей игрой, я часто ищу простые, но эффективные способы её улучшить. Когда работаешь один, но не умеешь делать вообще всё, то приходится как-то выкручиваться..
Одним из таких улучшений стал шейдер замены цвета, который помог мне существенно разнообразить визуальную картину боя. У меня есть набор спрайтшитовых анимаций для зомби-врагов, но их прямое использование создавало однообразный и скучноватый вид. Я понимал, что мне нужно больше разнообразия, но создание нескольких разноцветных версий одного и того же спрайта было слишком трудоёмким и неэффективным.
Поэтому я написал простой шейдер замены цвета и применил его к спрайтам врагов. Вот как это работает: есть конфиг файл с таблицей цветовых пресетов. Когда создаётся враг, скрипт случайным образом выбирает набор цветов и передаёт его шейдеру, который затем заменяет исходные цвета в базовом спрайте на выбранный пресет. Результат можно увидеть на видео! Выглядит прилично?
Плюсы:
1. Не нужно рисовать и редактировать кучу изображений (экономия времени)
2. Экономия видеопамяти
Минусы:
1. Нужно вручную подбирать цвета и менеджить достаточно большой конфиг-файл
2. Общая картина всё равно может казаться однообразной (остались одинаковые формы врагов)
Кстати, демоверсия моей игры доступна на Steam! Можете поиграть и поделиться впечатлениями!