суббота, 16 августа 2014 г.

Вспоминаю математику или первая попытка просчитать игровой баланс!

Сегодня (12 августа) наконец то пришло время заняться первой разумной настройкой игрового баланса.  Не смотря на то, что на данный момент в моей и игре присутствует всего один вариант вражеского корабля, два вида орудия, два вида патронов и один единственный предмет в магазине, на "глаз" это все удачно настроить не получилось!



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

Сложность от уровня к уровню должна возрастать на ~7%. В нескольких источниках пишут, что этого достаточно для поддержания интереса к игре.

Получаемых денег должно хватать на апгрейд каждые 1-2 пройденные миссии.

События (как на глобальной карте, так и на игровой) должны развиваться примерно так: завязка, акт 2-3, развязка, чтобы держать интерес игрока к событиям в игре. Как это будет отражаться на практике, я пока мало представляю, но кое какие задумки есть. Для глобальной карты можно, например, выделить участки где на карте сражения будут летать метеориты, или частично появится туман, или особо сильный противник - босс или ещё что-нибудь. На картах сражения это будет отображаться в интенсивности появления войск и так далее.


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


 Уже на этот этапе очень выделялась две комбинации - одна очень слабая, другая очень сильная. 

Из картинки выше, видно, что связка Simple Gun и Simple (Bullet) 2 получилась слишком слабой, а Double Gun + Simple (Bullet) 1 слишком сильной. К тому же, Bullet 1 и  Bullet 2 отличаются только количеством наносимого урона, но у меня были реализованный как отдельные классы. Именно по этой причине я оставил только одby вид пуль, и чуть подкорректировал характеристики пушек, вот что получилось в итоге.


Следующим этапом стал расчёт ударной мощь группы врагов, для определения адекватной скорости их появления, их количества и других параметров.

UPD: Но тут у меня начались первые трудности, с которыми я и посей день не справился! Во-первых, не все еще готово, например, враги еще скудно перемещаются. 

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

Далее я хочу просчитать эффект и стоимость для предметов из магазина для каждого следующего его уровня.

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

UPD: На сегодня (15.08) баланс ещё не идеален, но я начал двигаться в этом направлении. Во-первых, я немного отошёл от варианта использовать Exel, так как это оказалось труднее чем я думал изначально, слишком много факторов нужно учитывать, и поэтому это пока не получается. В связи с этим решил использовать старый добрый метод "на глаз". Во-вторых, сейчас поведение врагов очень и очень скудное, сейчас они просто рандомно вылетают из-за границы экрана и летят по прямой до определённой линии после чего замирают. Это очень грустно. Немного подумав, я решил, что баланс сейчас чуть подойдёт, и первым делом нужно добавить мозгов моим врагам и разнообразить из поведение. Как именно я собираюсь это делать и что из этого получится  читайте в следующей статье. =)

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

Комментариев нет:

Отправить комментарий