RU
обложка автора Red Dunes Project

Red Dunes Project

Компьютерная игра в жанрах TD\RTS
Red Dunes Project

Об авторе

Итак, несмотря на многочисленные трудности, которые свалились на меня за последние несколько месяцев, я, всё-таки, нашёл время заняться любимым делом 😉
 
Во-первых, добавил в игру новую фишку. Ранее можно было построить любой доступный твоей фракции юнит без ограничений - лишь бы хватало денег. Но при таком раскладе можно было наштамповать универсальную армию из всех возможных юнитов, после чего о какой-либо тактике можно было просто забыть. Теперь же необходимо выделить часть ресурсов для строительства производственных мощностей, на которых будет производиться конкретный вид юнитов. И только потом - строить сам юнит. Грубо говоря, теперь нужно построить ЦЕХ определённого вида. Причём, строить более трёх цехов нельзя (иначе возвращается проблема, упомянутая выше), но можно сносить старые. Таким образом, каждая из сторон сможет одновременно управлять только тремя-четырьмя видами боевых единиц - большее количество влетит в копеечку из-за необходимости развёртывания новых цехов и сноса старых. Как итог, к такой комбинации войск нетрудно подобрать другую, которая сможет одержать победу.
 
Добавление данной механики повлекло за собой необходимость серьёзно доработать ИИ (чтобы не тратил деньги попусту), улучшить интерфейс и внести множество других правок. Но теперь всё позади, а результат меня очень радует 😃
 
Во-вторых, появилось меню паузы с возможностью перезапустить матч или выйти. А главное меню игры стало гораздо обширнее (например, теперь есть отдельное меню настроек), кроме того, теперь навигация по меню возможна как мышкой, так и при помощи клавиш.
 
Понимаю, что сейчас перечисляю очень банальные для большинства людей вещи. Но, какими бы банальными они ни были, из воздуха они не появятся 😂
Читать далее
19.11.2023
 
Полноценный матч против ИИ. Как и обещал.
 
Хотел комментировать происходящее при помощи микрофона, но с ним качество звука просто ужасное - шумы, гудение, какие-то всплески. Так что придётся обойтись текстом.
 
Как видите, это не полноценная стратегия в реальном времени, это некий гибрид жанров RTS и Tower Defence. Здесь нет строительства зданий (единственное строение уже построено), нет управляемой добычи ресурсов (они добываются автоматически), нет большой карты, где на противника можно напасть с любого направления (хотя ещё не вечер, думаю над тем, чтобы такая возможность появилась), а юниты движутся тупо по одной линии - либо наступают, либо отступают, либо стоят на месте. Но если вы думаете, что здесь не осталось места для стратегии и тактики - вы заблуждаетесь.
 
Итак, слева находится база игрока - автоматическая добывающая станция. Она добывает ресурсы, счётчик которых всегда находится в левом нижнем углу экрана. Если база будет уничтожена - игра окончена, поэтому необходимо её беречь. Справа находится база противника. Её нужно уничтожить, это условие победы. Для этого мы строим боевую технику. Строится она простым перетаскиванием с нижней панели - главное, чтобы было достаточно ресурсов. Причём, сейчас строится мгновенно. Можно сделать так, чтобы строительство занимало время, возможно, в будущем так и сделаю. Но только в том случае, если это будет увлекательно.
 
Каждый танк защищён одним из двух типов брони, а его вооружение предназначено для пробития конкретного типа бронирования, и против другого типа будет неэффективным. Хотя, есть танки с универсальным оружием, но они обладают меньшей огневой мощью. Задача игрока - выбирать такую технику, которая нанесёт врагу максимальный урон, получив при этом минимум повреждений.
 
Но танк - это не только сочетание оружия и брони. У каждого танка есть либо специальное вооружение, либо альтернативный режим боя, благодаря своевременному использованию которых можно получить существенное преимущество. Противник сидит в глухой обороне радом со своей базой? Строим штурмовые танки, в режиме штурма они активируют плазменное поле, поглощающее урон. Строит невидимок или минирует местность? Строим танк с возможностью детекции. У одного из танков врага разрушительное спецоружие, от которого лучше держаться подальше? Постройте технику с модулем дистанционного взлома и сделайте вундервафлю противника бесполезной нажатием всего одной кнопки. А недавно к активным способностям юнитов добавились и пассивные, которые действуют всё время. Например, невосприимчивость к тарану, защита от подрыва мин, ускоренный ремонт, увеличенные скорость и манёвренность и многое-многое другое.
Читать далее
05.11.2023
 
Планировал записать ролик с разбором игрового процесса уже сегодня, но, к сожалению, не срослось - обнаружил несколько багов, они не критичные, но помешать восприятию очень даже могут. Надо исправлять. Правда, неделя ждёт очень трудная и напряжённая, так что даже не представляю, когда сяду за компьютер в следующий раз...
24.10.2023
 
Работа над спецэффектами завершена. Разумеется, версия далеко не окончательная, правок предстоит ещё великое множество. Но текущий результат меня устраивает.
 
В планах - большой геймплейный ролик. Или даже несколько. Или даже стрим 😉 К сожалению, я сейчас приболел. Как здоровье придёт в норму - обязательно этим займусь.  
08.09.2023
 
Друзья!
 
Работа над спецэффектами завершена примерно на 90%. То есть. небольших огрехов всё ещё достаточно, но для их исправления уже не придётся прикладывать больших усилий.
 
Как только закончу остальное - сделаю большой ролик по игровому процессу. Возможно, даже проведу стрим - есть несколько знакомых, которые изъявляют желание 😉
27.08.2023
 
Пожалуй, насчёт старости я погорячился 😂 Новая версия утилиты, способная автоматически пересылать данные в Paint.NET, уже готова 😃 Теперь создавать карты нормалей станет ГОРАЗДО быстрее и проще!
 
Правда, на решение этой задачи - чтение статей, изучение документации, кодинг - пришлось потратить целую неделю. Но результат того стоит!  
15.08.2023
 
Работа над спецэффектами завершена примерно на 25%.
 
Самое трудоёмкое - рисование карт нормалей - оставил на потом. Кстати, в какой-то момент для того, чтобы упростить работу с нормалями, пришлось даже написать отдельную утилиту.
 
Для справки: карта нормáлей - это растровое изображение, в котором рельеф некоей поверхности закодирован с помощью цвета - углы наклона относительно осей координат преобразуются в цвет в RGB-палитре. Обрабатывая данное изображение, видеокарта понимает, как именно эта поверхность взаимодействует со светом.
 
Собственно, этим утилита и занимается - кодирует заданный угол в конкретный цвет RGB-палитры. Было бы неплохо интегрировать этот инструмент в Paint.NET, где я всё это рисую (тем более, эта программа поддерживает сторонние плагины), но тогда разработка затянется до самой старости 😂
Читать далее
29.07.23
 
Тот день был просто сумасшедший...
 
Проснулся в 4 утра, наварил кофе, включил ПК и принялся методично переписывать код "главного" шейдера - чтобы при расчёте освещения учитывалось не только условное "солнце", но и источники света размером поменьше - взрыв, вспышка при выстреле, пламя от летящей ракеты и т.д. В теме шейдеров разбираюсь очень слабо, поэтому рассчитывал, что у меня уйдёт на всё это, как минимум, неделя.
 
Оказалось - около 12 часов 
 
С ограничениями и недоработками встроенных шейдеров Unity пришлось реально бороться (а в сторонних шейдерах я не понял вообще ничего). Например, есть такой параметр, как unity_4LightAtten0. Насколько я понял, он определяет, какая доля света дошла от источника до выбранной точки. И мне вот кажется, что он ТУПО НЕ РАБОТАЕТ! Что бы я ни делал - параметр всегда равен нулю. В итоге, пришлось высчитывать его самостоятельно, привязав яркость источника света к осям координат. Короче, дичайшие костыли!!! А некоторые ограничения обойти так и не удалось, и вряд ли вообще удастся. Например, движок Unity принимает в расчёт только ОДИН основной источник света (типа, солнце) и всего ЧЕТЫРЕ дополнительных. Иными словами, в пределах экрана может быть хоть сотня взрывов, но движок проигнорирует все, кроме четырёх самых близких. В целях оптимизации...
 
В любом случае, даже то, что получилось, смотрится очень прилично. Особенно после того, как начал рисовать новые снаряды и ракеты. Гораздо лучше, чем раньше. Мне нравится!
 
Короче говоря, самая трудная часть работы над спецэффектами уже сделана. Осталось только продолжать...  
18.07.2023
  
Откуда у меня возникла идея научить спрайты взаимодействовать с источниками света? Зачем вообще в 2D-игре правдоподобное освещение? Ответ кроется во всё той же Dune 2: The Battle for Arrakis для Sega Mega Drive. Ниже я прикрепил скриншот оттуда, прошу взглянуть.
  
Стоят танки Харконненов - те, что красные. Башня левого верхнего повёрнута на 90 градусов относительно корпуса. При этом, свет на неё падает с условного юго-запада, но на корпус - с востока. Правый верхний танк готов двигаться в северном направлении, башня направлена туда же, но свет на них падает с запада. На корпуса ещё двух танков, что находятся ниже, свет падает с юга. Но на их башни - с севера... Продолжать можно бесконечно.
  
Вот только в реальности ТАК НЕ БЫВАЕТ!!!
  
Причина данных косяков банальна - размеры картриджей были сильно ограничены. У каждого танка 8 направлений для движения и столько же - для поворота башни. Если бы художники нарисовали спрайты с корректным падением света, то на каждый танк приходилось бы по 16 спрайтов. Но разработчики не могли тратить столько места на картридже - по крайней мере, ради подобных мелочей. Вот и оставили один спрайт для корпуса и один - для башни, научив движок поворачивать спрайты под необходимыми углами.
 
Вернёмся в наши дни 😂. На первых этапах работы с графикой я заметил, что всё, что я рисовал, выглядело гораздо, буквально на порядок хуже, чем в той же Dune 2 - даже несмотря на богатую цветовую палитру и гораздо большее разрешение. Причина нашлась достаточно быстро - у меня напрочь отсутствовала игра света. Именно она делала объекты в Dune 2 такими правдоподобными. Казалось бы, мне необходимо было сделать паузу и начать серьёзно учиться рисовать? Не совсем...
У меня в игре техника не была ограничена несколькими направлениями движения. И корпуса, и башни поворачивались плавно, на любой необходимый градус. Значит, чтобы поворот происходил без рывков, а картинка выглядела красиво, спрайтов должно было быть много - куда больше восьми. Вот только рисовать даже по 16 спрайтов для одной башни никакого желания не было, а о бóльших количествах - вообще молчу. Вывод напрашивался сам собой - взять один спрайт и заставить его взаимодействовать со светом в реальном времени...
Читать далее
08.07.2023
 
Работа над саундтреком готова!
Всего около 22 минут аудио. Версия не окончательная, и в будущем наверняка захочу что-нибудь подправить или переделать - хотя бы потому, что у программы, в которой я делал музыку, настолько богатый функционал, что я буквально каждый день узнавал что-то новое. Но на данный момент я считаю, что сделал достаточно, чтобы переключиться на другие задачи.
 
В качестве пруфа - кусочек геймплея. С музыкой и новой фракцией!  
 

Уровни подписки

Нет уровней подписки
Наверх