the Overseers. SpaceMerc 2 Журнал разработки

Nov 18, 2015 18:37

Начну я, пожалуй, вести журнал разработки второй и последней части SpaceMer.

В кратце, как она будет выглядеть:
Движок от SpaceMerc Liberation, но с доработками (о них позже).
Геймлей немного изменится и станет больше похож на геймплей Hexen'а.
Главная фишка: уровни идут не по порядку, как обычно, а пачками. В смысле: мы каким-то путём попадаем в хаб-зону, из которой можно попась на другие карты.
Постепенно переходя из хаба то на одну карту, то на другую игрок собирает необходимые ключи и открывает себе дальнейий путь. В конечном итоге открывается выход из хаба и игрок попадает в другой хаб, и всё повторяется.
3х-4х таких уровней на игру, я думаю хватит, с условием что из каждого хаба будет доступно по 4-5 карт. Такой подход сложнее проектировать, но играть должно быть интересней.

Далее, оружия теперь будет не 5, а 4 и все стволы можно будет получить достаточно быстро. Но! все стволы будут сильно отличаться и все будут применимы.
В Liberation, после нахождения более ильного ствола, о предыдущих можно было не вспоминать. Ну только когда у более мощного патроны заканчивались...
Да, патроны теперь для всех стволов общие - энергия. И у каждого ствола энергопотребление разное. По идее это должно добавить тактики в игровой процесс.
Подробнее об оружиии позже.

Что уже сделано:
Первое и самое главное изменение: я разработал хитропопый метод, который позводяет дробить код игры на куски и подгружать их при необходимости как dll. Метод не очень удобный, с ограничениями, но без него новой части не было бы т.к. при разработке Liberation я уже упёрся в "потолок". 32 с копейками кб - это приступно мало для С кода.
В общем сейчас в отдельный модуль вынесено меню прокачки, загрузки карты из файла, сохранения и загрузки игры.

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

Об оружии:
Запланировано 4 ствола: Энерго-посох, Lightning gun - электро-пушка, Плазма-ган, Роктница.
Каждая пушка ведётсебя по разному.
Энерго посох - бъёт сразу на 2 клетки вперёд, пробивая врагов насквозь. По идее должен быть удобен в узких корридорах, когда враги стоят цепочкой.
Электро-пушка - за один ход выстреливает 3 молнии. Аналог автомата. Удобен против толстых врагов.
Плазма-ган - бъёт веером. Вперёд и на соседние ряды от игрока. Им можно стрелять из за угла, к тому же будет удобен против толпы не удобно расположенных монстров.
Рокетница (пока не готова)- будет стрелять вперёд одной ракетой, которая при попадании будет взрываться и цеплять взрывом соседние клетки.
Главное отличие от плазмагана - дальнобойность. Плазмаган будет оружием относительно ближнего боя.

Параметры оружия ещё предстоит настроить, пока готова только механика стрельбы и графика.

Планы:
1)Нужно закончить ракетницу.
2)Планирую сделать систему генерации оружия. Некоторые монстры будут бросать "случайный ствол". Предмет, при поднятии которого будет генериться новое оружие и открываться специальное меню, в котором будут параметры текущего ствола того-же класса и параметры нового ствола. Игрок сможет выбрать: брать новое оружие или оставить старое. В любом случае, после выхода из меню, предмет уничтожается.

Далее есть варианты. Как лучше генерить оружие?

Для игрока, у каждого ствола есть 5 параметров: Кол.во костей и кол.во граней (урон), дистанция без штрафа урона, штраф урона за каджую клетку сверх мин. дистанции, бонус к урону и атаке.

Можно генерировать каждый параметр отдельно, естественно в зависимости от удачливости игрока.
А можно добавить к оружию ещё 2 параметра-модификатора: материал и свойство.  Например дряхлый алюминиевый плазмаган +3.
Это значит, что берётся плазмаган с базовыми параметрами, например, n=8,m=8, nofade dist=1, fade=6,bonus=0.
И добавляются модификаторы.
Дряхлый: n=-4,m=-5
Алюминиевый: nofade dist=-2, fade=+2
Бонус: +3

Всё это складывается и получаем:
n=4,m=3, nofade dist=0, fade=8, bonus =3
Фиговенький такой плазмаган получается.

Да, бонус будет добавляться к конечному урону и к атаке (бросок на попадание).

Лично я склоняюсь к генерации с модификаторами. Так заморочестей, но зато более наглядно для игрока.

Возможно, я добавлю износ оружия. Например такой. При каждом выстреле будет рости счётчик. Величина счётчика будет умножаться на заранее расчитанную величину модификатора. И при приближении значения счётчика к 100, оружие будет практически бесполезно. Это, по идее, должно подстёгивать игрока постоянно менять стволы. Иначе ему может повезти в самом начале, он найдёт крутую пушку и быстро заскучает.

Пока всё. Вот изображения уже готового оружия и выстрелов от него.
На дробовик не смотрим.


Previous post Next post
Up