Серия «Проект Red Dunes»

4

Делаю игру в жанрах RTS/TD своими силами. Часть 4

И снова привет. Продолжаю разрабатывать собственную компьютерную игру. Рабочее название - Red Dunes Project.

Жанр - смесь RTS и Tower Defence. Главный источник вдохновения - Dune 2, родоначальница жанра RTS. А конкретнее - её версия для Sega Mega Drive. Задача игрока - строить войска, назначать им цели, а также вовремя задействовать специальное вооружение, которое для каждой боевой единицы различается. Планируется три больших одиночных кампании, скирмиш, мультиплеер, и много другого интересного.

Моя группа ВК https://vk.com/publicreddunesproject

Над данный момент, работаю над первой из трёх одиночных кампаний. Сюжет раскрывать не буду, но частичкой лора поделиться, думаю, уже можно. Сама суть внутреннего конфликта в следующем: в отдалённом будущем все государства объединились в три огромных, противостоящих друг другу, альянса: "Процветание" (Европа), "Единство" (Америка) и "Гармония" (Азия). В процессе исследования космоса обнаружена планета, в недрах которой полно ресурсов. На Земле же ископаемых всё меньше, поэтому спонсируемые альянсами одноимённые корпорации устремляются осваивать новую планету. Проблема в том, что на её поверхности высокий уровень радиации. Любая цифровая электроника быстро выходит из строя, поэтому приходится использовать аналоговую, что исключает применение ИИ и других продвинутых технологий. Человек же может находиться на поверхности планеты только внутри массивного свинцового саркофага, да и тот не обеспечит полной защиты. А ещё из-за радиационного фона не работает связь. Вернее, работает, но лишь на расстоянии нескольких километров.

Но корпорации нашли выход и придумали автоматические добывающие станции. И стали добывать. И отправлять добытое на Землю. Но что, если необходимо помешать добыче у конкурентов? Причём, так, чтобы не нести за это никакой ответственности? И как защитить собственные добывающие станции, если другая корпорация захочет сделать то же самое? Очень просто - строить прямо на поверхности планеты боевую технику. Но человека в неё не посадишь, радиация его убьёт. Использовать ИИ тоже нельзя. Выход - предусмотреть внутри добывающей станции толстый свинцовый саркофаг, чтобы внутри разместить специально обученного ОПЕРАТОРА, который и будет управлять всей техникой дистанционно. Именно за такого оператора нам и придётся играть.

Изменения и нововведения:
- Видов брони у техники теперь не два, а три. Условные тип A, B и C. Первый уязвим для ракет и снарядов. Второй - для лазеров. Третий - для плазмы и тому подобного. Балансировать всё это дело оказалось нелегко, но я справился. В итоге, количество возможных тактик выросло в разы!
- Добавил новый режим игры, где придётся обороняться от бесконечных волн врагов. Причём, состав вражеских групп будет подбираться случайным образом. На этой же логике будут основаны некоторые миссии в кампаниях.
- Написал два графических плагина для Paint Net. Они серьёзно помогут на финальном этапе работы с графикой.
- Переписал несколько систем и исправил несколько трудноуловимых багов.
- А ещё - поменял цвета интерфейса, да и вообще, провёл большую работу над тем, чтобы картинка выглядела менее вырвиглазной. Для этого пришлось изучить несколько статей по дизайну. Оказалось, что комбинировать между собой красный и зелёный цвет - это вообще табу, так как человеческие глаза этого просто не вывозят! Особенно, при максимальной яркости... Что ж, больше не буду 🤣

В завершение, представляю вашему вниманию прохождение одной из миссий. Наша задача - защищать добывающую станцию, пока не истечёт таймер эвакуации. Не могу не отметить, что у меня получилось пройти её несколькими способами. Но для видео я выбрал тактику с применением большого числа ракетных турелей. Они закопаны в грунт, и обнаружить их можно только детектором. А для сдерживания тех, кто всё же прорвётся через поле турелей - танк типа "Рябина" (у "Процветания" вся техника именуется названиями растений), оборудованный тяжёлой плазменной пушкой, многоствольной ракетной установкой и вращающимися гусеницами-лезвиями. Получилось, на мой взгляд, довольно зрелищно.

Campaign Mode Gameplay 001

Часть 3

Часть 2

Часть 1

Показать полностью 1
5

Делаю игру в жанрах RTS/TD своими силами. Часть 3

Привет, Пикабу!

Продолжаю разрабатывать собственную компьютерную игру. Рабочее название - Red Dunes Project.

Моя группа ВК https://vk.com/publicreddunesproject

Короче, пока моя 3060Ti уехала по гарантии, пришлось взять видеокарту попроще - уровня Geforce 710. И оказалось, что... моя игра прекрасно работает даже на ней! То есть, в плане графики она вообще не требовательна. Круто!

Зато неслабо грузила процессор. В обычном режиме игры на карте редко бывает больше 20 юнитов, поэтому всё работало превосходно и я даже не подозревал о проблемах. Но потом я задумал сделать нечто вроде встроенного теста производительности - взять двух ИИ-соперников, заставить их биться между собой, раздав каждому по 50000 денег, и посмотреть, что будет. В результате, когда с каждой стороны было по 100-120 юнитов, частота опускалась до 18-20 кадров в секунду! Причина была проста: каждый юнит проверял расстояния до всех остальных юнитов - даже если те находились на другом конце карты. Сложность вычислений посчитать нетрудно. 200 * 200 = 40000 вычислений за кадр.

Пришлось всерьёз заняться оптимизацией. Переписал последовательность выполнения скриптов, что позволило избавиться от множества лишних условных переходов - ведь ничто не бьёт по производительности так, как они. Доработал игровую логику. Но главное - разбил карту на небольшие районы, чтобы расстояния подсчитывались только до тех юнитов, которые оказались в одном районе. В итоге, никаких просадок частоты кадров больше не наблюдается. Тем не менее, пришла ещё одна мысль - раскидать вычисления на несколько ядер. Раньше игровая логика не позволяла этого сделать, но теперь - позволяет. В ближайшее время займусь...

В общем, очередной этап разработки подходит к концу. Игра по сети и игра против ИИ работают отлично. Баланс фракций я поменял, ИИ доработал, мелкие баги планомерно исправляются.

Следующий этап - большая одиночная кампания. Опишу основные особенности, которые намерен реализовать:
- Система прогрессии. За каждую победу ГГ получает денежное вознаграждение, которое можно потратить на улучшение базы или техники. Улучшения, кстати, могут быть как постоянными, которые останутся на протяжении всей кампании, так и временными, которые будут действовать только в течение одного уровня.
- Различные типы заданий. Если сейчас все бои проходят по формуле "Уничтожь базу противника, защитив свою", то в кампании будут встречаться и другие режимы. Например, защищать добывающую станцию в течение определённого времени. Или разгромить противника, имея лишь ограниченное количество ресурсов, которые не будут пополняться. Ну, смысл вы поняли.
- Два уровня сложности. Если на стандартном заработанные деньги можно будет тратить только на апгрейды, то на усложнённом придётся ещё и нанимать ОПЕРАТОРОВ, которые будут высаживаться на планету и управлять войсками. Причём, при проигрыше оператор погибнет вместе с уничтоженной добывающей станцией, и вам придётся нанимать нового. Если кончились и операторы, и деньги, чтобы их нанять - игре конец...

А ещё думаю над тем, чтобы выложить у себя в группе небольшую демо-версию. Её функционал, естественно, будет ограничен, но "пощупать" игровой процесс это не помешает.

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

Короче, плюсуйте, минусуйте, пишите, что думаете, будет интересно почитать)

Вступайте в сообщество, чтобы видеть новости https://vk.com/publicreddunesproject

Всех благ!

Предыдущие посты:

Часть 2

Часть 1

Показать полностью 1

Делаю игру в жанрах RTS/TD своими силами Ч.2

Привет, Пикабу!

Продолжаю разрабатывать собственную компьютерную игру. Рабочее название - Red Dunes Project.

Моя группа ВК https://vk.com/publicreddunesproject

Итак, несмотря на многочисленные трудности, которые свалились на меня за последние несколько месяцев, я, всё-таки, нашёл время заняться любимым делом.

Во-первых, добавил в игру новую фишку. Ранее можно было построить любой доступный твоей фракции юнит без ограничений - лишь бы хватало денег. Но при таком раскладе можно было наштамповать универсальную армию из всех возможных юнитов, после чего о какой-либо тактике можно было просто забыть. Теперь же необходимо выделить часть ресурсов для строительства производственных мощностей, на которых будет производиться конкретный вид юнитов. И только потом - строить сам юнит. Грубо говоря, теперь нужно построить ЦЕХ определённого вида. Причём, строить более трёх цехов нельзя (иначе возвращается проблема, упомянутая выше), но можно сносить старые. Таким образом, каждая из сторон сможет одновременно управлять только тремя-четырьмя видами боевых единиц - большее количество влетит в копеечку из-за необходимости развёртывания новых цехов и сноса старых. Как итог, к такой комбинации войск нетрудно подобрать другую, которая сможет одержать победу.

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

Во-вторых, появилось меню паузы с возможностью перезапустить матч или выйти. А главное меню игры стало гораздо обширнее (например, теперь есть отдельное меню настроек), кроме того, теперь навигация по меню возможна как мышкой, так и при помощи клавиш.

Понимаю, что сейчас перечисляю очень банальные для большинства людей вещи. Но, какими бы банальными они ни были, из воздуха они не появятся ))

В общем, записал ещё один матч против ИИ, чтобы вы смогли заценить самые значимые изменения. Даже умудрился каким-то образом одержать победу, хотя думал, что ВСЁ!

Прошу взглянуть! Плюсуйте, минусуйте, пишите, что думаете, буду читать)

Вступайте в сообщество, чтобы видеть новости https://vk.com/publicreddunesproject

Всех благ!

Показать полностью 1
5

Делаю игру в жанрах RTS/TD своими силами

Привет, Пикабу!

В общем, уже несколько лет разрабатываю собственную компьютерную игру под рабочим названием Red Dunes Project. И теперь, когда бета-версия (с сетевой игрой и матчами против ИИ), наконец-то, готова, пришло время рассказать об этом, чтобы заинтересовать других.

Вот моя группа ВК https://vk.com/publicreddunesproject

Первоначально, я планировал создать классическую стратегию в реальном времени. Главным источником вдохновения послужила родоначальница жанра - Dune 2. Причём, не обычная, а версия для Sega Mega Drive, в которую мы с друзьями активно играли всё детство. Первоначальная концепция была такая:

  • Взять геймплей Dune 2, причём, обязательно с видом сверху, как было на Sega. Кстати, для меня просто загадка, почему такой ракурс камеры для RTS никто больше не делал - круто же!

  • Добавить рамку для выделения юнитов - во времена Dune 2 таковую ещё, к сожалению, не придумали.

  • Как-то всё видоизменить, чтобы была не вселенная "Дюны", а что-то своё.

  • И внедрить ассиметричный баланс, как в Starcraft - чтобы фракции были уравновешены по силам, но были как можно меньше похожи между собой.

  • А потом поиграл в Red Alert 3 и меня страшно зацепила одна из её фишек: у КАЖДОГО юнита была либо активная способность, либо альтернативный режим боя. После недолгих размышлений, эта фишка тоже прочно прописалась в дизайн-документе.

Собственно, с этого и стартовала разработка. Однако, по множеству причин, первоначальная концепция два раза переделывалась практически с нуля, в результате чего Red Dunes Project перестала быть чистой RTS. Пересказывать все отличия от стандартных стратегий в реальном времени было бы нереально долго. Зато вы сможете быстро понять суть по ролику с демонстрацией игрового процесса. Вот он:

Как видите, это не полноценная стратегия в реальном времени, это некий гибрид жанров RTS и Tower Defence. Здесь нет строительства зданий (единственное строение уже построено), нет управляемой добычи ресурсов (они добываются автоматически), нет большой карты, где на противника можно напасть с любого направления (хотя ещё не вечер, думаю над тем, чтобы такая возможность появилась), а юниты движутся тупо по одной линии - либо наступают, либо отступают, либо стоят на месте. Но если вы думаете, что здесь не осталось места для стратегии и тактики - вы заблуждаетесь.

Итак, слева находится база игрока - автоматическая добывающая станция. Она добывает ресурсы, счётчик которых всегда находится в левом нижнем углу экрана. Если база будет уничтожена - игра окончена, поэтому необходимо её беречь. Справа находится база противника. Её нужно уничтожить, это условие победы. Для этого мы строим боевую технику. Строится она простым перетаскиванием с нижней панели - главное, чтобы было достаточно ресурсов. Причём, сейчас строится мгновенно. Можно сделать так, чтобы строительство занимало время, возможно, в будущем так и сделаю. Но только в том случае, если это будет увлекательно.

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

Но танк - это не только сочетание оружия и брони. У каждого танка есть либо специальное вооружение, либо альтернативный режим боя, благодаря своевременному использованию которых можно получить существенное преимущество. Противник сидит в глухой обороне радом со своей базой? Строим штурмовые танки, в режиме штурма они активируют плазменное поле, поглощающее урон. Строит невидимок или минирует местность? Строим танк с возможностью детекции. У одного из танков врага разрушительное спецоружие, от которого лучше держаться подальше? Постройте технику с модулем дистанционного взлома и сделайте вундервафлю противника бесполезной нажатием всего одной кнопки. А недавно к активным способностям юнитов добавились и пассивные, которые действуют всё время. Например, невосприимчивость к тарану, защита от подрыва мин, ускоренный ремонт, увеличенные скорость и манёвренность и многое-многое другое.

Далее. Одно из важных отличий от большинства RTS заключается в том, что радиус стрельбы у практически любого юнита значительно превосходит его радиус обзора. При этом, если в радиус обзора одного из юнитов попадает враг, то огонь по нему могут вести и другие юниты, даже если сами они его не видят - главное, чтобы враг находился в радиусе стрельбы, и его видел хотя бы один юнит.

Станция добычи, кстати, тоже даёт обзор. Причём, довольно далеко. Поэтому, если численное преимущество на стороне противника, можете играть от обороны, скучковавшись около базы. База подсвечивает юнит противника, ваши войска ведут по нему огонь, но вот враг НЕ МОЖЕТ им ответить, пока не приблизится на достаточное расстояние. В то же время, он может атаковать вашу базу - она большая, и её видно издалека, остаётся только приблизиться на дистанцию стрельбы. А вот отремонтировать добывающую станцию, увы, не получится. Поэтому сидеть в обороне бесконечно не выйдет, и делать это нужно с умом.

В общем, как-то так. Основы геймплея я расписал, про более мелкие нюансы расскажу как-нибудь потом. Надеюсь, я вас заинтересовал )

Пишите, что думаете, буду читать)

Вступайте в сообщество, чтобы видеть новости https://vk.com/publicreddunesproject

Если вам нравится то, что я делаю, можете поддержать меня на Boosty https://boosty.to/reddunesproject/donate

Всех благ!

Показать полностью 1
Отличная работа, все прочитано!