Tower Bombarde Remastered - прохладные истории
10 лет назад я сделал игру Tower Bombarde, благодаря которой (и Козинаке) я попал на Гамин тогда ещё под ником CRYSTALL_m.
Сотрудничая с издателем сами знаете каким мы решили выпустить её в Стиме. Всё было бы хорошо если бы не баг. Я о нём знал давно — библиотека шифрования не всегда срабатывала похерив сохранения. Если для бесплатной игры можно положить на это болт, то для платной нужно исправлять.
Я установил старый добрый GM 8.1 и импортировал в него чудом сохранившийся исходник бомбарды (о трагических событиях моего харда знают многие). Учитывая что бомбарда была написана на GM7 пришлось пошаманить чтобы игра запускалась.
Затем я решил что неплохо было бы реализовать ачивки. Уже нашёл библиотеку YellowAfterLife для GM8.
Заодно решил обновить музыку — на каждую локацию свой трек, собрать из имеющихся треков для никогда не выдущей второй бомбарды и ремейка брейнстрома.
Заодно принял решение обновить графон — так же сделать на каждую локацию свой. Опять же взять из наработок второй бомбарды и ремейка брейнсторма. Вплоть до ворот первого босса. Настолько удачно они у меня получились, что я задумал каждому боссу сделать своё оформление уровня.
Чуть позже я перевёл игру на GMS для нативной интеграции в Steam и более простым управлением ресурсами.
Геймдизайн
Многим разработчикам неприятно признавать что они сделали говно, но это не про меня. Спустя года я понял что играть в бомбарду очень скучно и неинтересно. Поэтому я решил разнообразить игровой процесс.
Сперва за счёт бонусов, которые в игре называются исходными кодами. При уничтожении каждая пушка выпускает волну из шестиугольников. Если в такой шестиугольник попадает аптечка или энергия — она превращается в бонус. Типа в неё встраивается исходный код пушки. Можно было бы сделать зависимость бонуса от типа пушки, но я посчитал это лишним + были причины так НЕ делать. Радиус волны шестиугольников зависит от типа пушки (у крутых он больше) и от комбо игрока. Тем самым стимулируя игрока собирать бонусы. Плюс такую же волну генерирует игрок при воскрешении, смерти и закончившимся щите — это даёт игроку возможность управлять процессом получения бонусов. Оставлять всё на волю случая не очень интересно.
А бонусов этих не так много — 8 штук, разделённых на две категории — более положительные и более отрицательные. Я не стал делать чисто негативных бонусов и идеально позитивных чтобы у игрока был выбор. У позитивных бонусов есть свои недостатки, а у негативных — свои достоинства. Например, бонус ярости даёт возможность атаковать в бою, но для этого нужно почти вплотную подбираться к пушкам рискуя получить много урона, или же бомба, которая снимает 80% максимального здоровья, но уничтожающая ВСЕ пушки в радиусе. Такой дизайн бонусов не создаёт заведомо плохих комбинаций. Игрок всегда может извлечь для себя выгоду.
Как позже оказалось, хоть бонусы и внесли нотку разнообразия, но на самом деле играть всё так же скучно. Проблема — в паттернах противников, которые стреляют в большинстве своём одинаково, а вот с теми кто стреляет по-другому как раз интересно играть.
Так что я пересмотрел дизайн некоторых пушек. Многим пушкам просто увеличил скорость стрельбы, а некоторые переделал совсем:
1) Синюю пушку — пульки рядом с игроком разрываются на несколько обычных выстрелов (по аналогии с разрывающимися выстрелами босса в синей локации)
2) Розовую пушку — каждая пулька при уничтожении оставляет повреждающий плазменный сгусток
3) Зелёную пушку — при контакте выстрелов этой пушки с другими обычными пульками, последние увеличиваются до больших (сбивают щит)
4) Голубую пушку — взрыв при касании с выстрелом розовой пушки генерирует электрическую парализующую волну. Это делает пушку более опасной в сочетании с розовой
5) Ракетную пушку — она не всегда стреляет самонаводными ракетами, теперь это зависит от расстояния до игрока.
Этого тоже оказалось мало, нужно разнообразие в окружении. Сперва я добавил 3 новых элемента: рефлекторы, призмы и катушки.
Рефлекторы отражают лучи лазеров, как это делает прокачаный щит игрока. НО! Если игрок внутри рефлектора этот рефлектор деактивируется.
Призмы размножают вражеские выстрелы — прилетает 1, а вылетает 3 прямо в игрока. Плюс призмы «нагреваются» при постоянной активности. Нагретые призмы очень опасны для игрока так что внутри такой штуки не спрячешься.
Катушки начинают раскручиваться если игрок попадает в радиус поражения. Достигнув предела вращения катушка разряжается, выпуская волну, которая разгоняет вражеские выстрелы и парализует игрока на пару секунд.
Чуть позже я добавил бомбометатели чтобы разнообразить третью локацию, лучи — для четвёртой, электророторы в пятую.
Уже под конец, за неделю до дедлайна меня осенило что в игре дико не хватает стен, т.к. любая пушка может раздамажить любую другую, поэтому если последние пушки находятся далеко друг от друга то это превращается в АД.
Чтобы исключить такие ситуации я добавил стены, которые разделяют локации на зоны. Я назвал их абсорберами. Они впитывают вражеские выстрелы и до некоторого момента игрок может через них проходить. Но достаточно «нагретая» стена начинает повреждать игрока.
Сразу с асбосрберами я добавил шипы — это шипастые шарики которые увеличиваются при попадании в них пуль.
Из всех этих ловушек я в итоге собирал новые уровни.
У игры есть ещё одна важная проблема, о которой мне говорили ещё в 2009-ом. Аркадным играм свойственны короткие игровые сессии. В исходной бобарде первый уровень был коротким и занимал минут 5 времени. Дальше уровни становились длиннее и последние занимали минут по 20-40. При этом из уровня нельзя было выйти и продолжить игру. В новой бомбарде я ввёл такую возможность. Но за это существенно ограничил жизни игрока.
Бэкапы я решил выдавать фиксированным количеством в начале игры в зависимости от сложности (изи — 5, нормал — 3, хард — 1) + по одному бэкапу за пройденный уровень. При этом бэкап даётся только если игрок набрал некий минимум очков на этом уровне. Таким образом, повышается реиграбельность уровней и поощрение умелых игроков. Если все бэкапы тратишь — начинаешь уровень с начала с полными бэкапами. Обычная система жизней.
UI и UX
Это новая для меня область в которой я работаю уже год как. Но уже спустя полгода мне были очевидны провалы UI и UX дизайна бомбарды:
Провал главного меню — слишком много действий для начала новой игры и продолжения. Я оформил их в пять слотов. Этому финту была и другая причина — более простая работа со steam cloud.
Провалы карты уровней — непонятно что есть что, невозможность продолжить игру с последнего места, невозможность возврата в уровни и проходить несколько уровней одновременно. Это я исправил переделав карту уровней.
Добавил анимированные перемычки для того чтобы показать движение игрока и его прогресс. Для каждой локации сделал лобби где отображабтся лидеры по очкам и времени, а так же возможность продолжить локацию или стереть прогресс.
Провалы игры - UI размазан по сторонам экрана и неинформативен. Особенно то что ХП и энергия разнесены. Пришитый непонятно как ХП-бар босса. Непонятен прогресс игрока внутри локации. Пушки слишком внезапно появляются. Говёные эффекты выстрелов пушек. Непонятные смерти игрока.
Всё это я исправил переработав UI целиком. Показал прогресс игрока внизу экрана, там же ХП бар босса. Соединил ХП и энергию игрока. Выделил отдельно количество жизней игрока. Кроме того продублировал статы игрока рядом с персонажем чтобы не отвлекаться на UI во время боя. Да, сделал персонажа — киберчервя, придумав ему небольшую историю. Улучшил эффекты выстрелов пушек.
Провалы FTUE — первый опыт пользователя (First Time User Experience) с которым тоже много провалов. Это всё в исходной бомбарде подаётся через всплывающие сообщения. Дико раздражает когда во время боя вылетает блокирующий попап. А ведь потом ещё нужно в этот бой возвращаться! Сперва я переделал эту систему визуально и планировал сделать такие же блокирующие хинты с картинками и описанием, но во время плейтестов меня они достали, да ещё и тексты к ним вымучивать. В итоге я эту систему похоронил и сделал на первой локации интегрированное обучение базисам игры.
Добавил в меню пункт «manual» для особых зануд.
Винскрины — это промежуточные экраны победы/поражения, всякие там интро, аутро и т.д. Я не сильно хотел ими заморачиваться, сделал простенькое интро, простенькое аутро.
Модифицировал экран завершения уровня в концепции «игрок наследует абилки босса»
Боссы
Боссов я всех переделал, улучшил визуальную часть и перепроектировал механику. Каких то боссов менял не очень сильно, а каких-то переделал полностью.
Большая Пушка — добавил боковые выстрелы и гигаатку — поворот на игрока и большой выстрел (сносит щит)
Тридентал — перерисовал, добавил атаку «очередь больших выстрелов», добавил гигаатаку — сателиты
Бомбарда — добавил немного анимации и подпрравил логику крутых выстрелов
Лучевой Свет — переделал атаки: сделал двойной лазер, задний лазер, веерный лазер, улучшил визуалку гигалазера.
Второй Гигант — добавил способность регениться при попадании обычных пуль. Стал довольно потный потный босс со своей тактикой.
Портабл — переделал логику телепортов, добавил генерацию рефлекторов, добавил разрывные выстрелы, добавил гигатаку — телепорт с выстрелом во все стороны.
Оверфлуд — переделал визуальную часть и логику атак.
Пневматик АТ — полностью переделал. Добавил боссу щит. сделал кучу новых атак с сателитами. Но механика осталась та же — нужно сталкивать на отдаче с другими пушками чтобы деактивировать щит.
Умный Пульс — полностью переделал. Сделал другую комнату с парализующими механиками, добавил прализующий выстрел, добавил гигаатаку. Босс так же уязвим только к ракетам.
Взрывной Торнадо — полностью переделал, включая дизайн уровней. Босс находится под щитом, который сбивает деактивацией двух сателитов. Упростил паттерн босса до движение-атака, т.к. и с сателитами ебёни хватает.
Левелдизайн
Все уровни я переделал с акцентами на конкретные механики. Для последних двух локаций уменьшил размеры комнат. Итого локации получились уникальными.
Плюс добавил ещё одну 11-ую секретную локацию, со своим уникальным в рамках игры боссом, разумеется. Локация эта доступна только на харде после последнего босса и открывает тру-концовку.
Звук и музыка
Ленив я новую писать, поэтому музыку в игру я перелопатил из своих наработок по различным версиям и ремастерам незарелизеных бомбард. Звуки почти полностью заменил новыми (брал из паков на 99sounds)
Так что же нового в REMASTERED редакции
Да почти всё! По сути это уже другая игра, имеющая с первой бомбардой из общего только идею, визуальный стиль и ключевые цели механики.
- Переделан геймдизайн (враги, боссы, новые механики, параметры игровой сессии)
- Переделан визуальный стиль (фоны, спрайты)
- Переделан левелдизайн полностью
- Переделаны звуки и музыка
- Ачивки завезли
- 01 марта 2018, 22:43
- 015
120 комментариев