danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

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

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Slash Polygon: Tournament

Баланс боевой системы на примере Slash Polygon

Баланс боевой системы на примере Slash Polygon

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

Мне бы хотелось поделиться своими наработками и размышлениями на эту тему, а также представить инструменты, которыми я пользуюсь при создании игрового баланса.

Инструменты

Лучший друг любого геймдизайнера - таблицы. Google Sheets, Microsoft Excel, Apple Numbers - все это инструменты для математического представления вашего видения прогрессии и формул расчетов игрового баланса.

Базовые правила боя

Прежде чем мы перейдем к составлению таблиц, необходимо определиться с основными моментами. Какие принципы будут использоваться при расчете урона? Какие будут виды урона и почему?

Итак, основные базисы:

  • 4 класса брони: косметическая, легкая, средняя, тяжелая.
  • 3 типа урона: колющий, режущий, рубящий.
  • 3 типа защиты: vs колющий, vs режущий, vs рубящий.
  • Каждый доспех обладает всеми 3-мя типами защиты.
  • Каждое оружие обладает всеми 3-мя типами урона.
  • Каждый класс брони (кроме косметики) обладает как минимум 1 сильным преимуществом против 1 типа урона.
  • Каждое оружие обладает явным лидирующим типом урона.
  • Неэффективная защита брони не дает явного преимущества урону (бонуса от опр. вида урона), но дает меньше защиты от него соответственно.
  • Формула гашения урона за ед. брони: 1 - ((0.052 × защита) ÷ (0.9 + 0.048 × |защита|)).
  • Прогрессия эффективности брони должна быть выстроена таким образом, чтобы в начале игрок чувствовал разницу примитивно - надел доспех тяжелее - защита стала ощутимее. На поздних этапах должна быть важна комбинация против определенного типа урона.

Пример оружия: Двуручный меч будет наносить 3/6/2 урона колющим, режущим и рубящим типами урона соответственно. Суммарный урон будет равен 11.

Пример доспеха: Тяжелая кираса будет гасить 10/10/2% урона от колющего, режущего и рубящего типа урона соответственно.

Таблица игровых констант и коэффициентов

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

модификаторы от слота — Баланс боевой системы на примере Slash Polygon — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (GameDev, slash polygon, геймдизайн, игровой баланс)
модификаторы от слота

Объяснение:

  • Каждый эффективный слот персонажа имеет модификатор, на который умножается расчетное значение. Например если базовое значение брони на предмете 10, то для шлема (слот head) значение будет = 6.
  • Каждый эффективный слот влияет на модификатор скорости передвижения в рамках здравого смысла. Так, например доспехи будут сильнее аффектить скорость передвижения, в то время как шлем будет это делать с пониженным вполовину значением.
  • Слот Mob - виртуальный и нужен для расчета значений NPC.
модификатор от класса брони — Баланс боевой системы на примере Slash Polygon — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (GameDev, slash polygon, геймдизайн, игровой баланс)
модификатор от класса брони

Объяснение:

  • Каждый класс брони имеет 3 значения защиты против урона и базовый расчетный модификатор замедления персонажа.
  • Пример: Класс брони Heavy имеет 2 эффективные позиции защиты и 1 неэффективную (модификаторы защиты 1.5 от колющего и режущего, но 0.5 от рубящего).
  • Пробелы между столбцами нужны для функции Google Sheet - LOOKUP (поиск значения по типу) для дальнейшей работы.

Самый главный коэф.

Для того, чтобы не придумывать каждый раз какие-то значения используется базовый расчетный коэффициент, который я обозвал в честь значения уровня экипировки в World of Warcraft - iLevel. За единицу уровня предмета мы будет умножать базовое значение на коэф. (1+iLevel) формируя прогрессию. Главное - определить границы, в рамках которых эти значения будут жить для разной классификации предметов.

качество экипировки и границы значений iLevel — Баланс боевой системы на примере Slash Polygon — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (GameDev, slash polygon, геймдизайн, игровой баланс)
качество экипировки и границы значений iLevel

Пример: Уровень предмета Необычный варьируется от 20 до 29. Таким образом при придумывании какого-то либо нового предмета - я должен ориентироваться на эти значения, чтобы соблюдался баланс качества экипировки.

Cводный баланс экипировки

Перейдем к самому интересному - созданию экипировки в таблице.

баланс экипировки — Баланс боевой системы на примере Slash Polygon — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (GameDev, slash polygon, геймдизайн, игровой баланс)
баланс экипировки

Объяснения:

  • Все, что выкрашено в цвет использует формулу, основывающуюся на базовой величине (указанной в самом верху) и рассчитывающую свое значение исходя из заданных параметров (Slot, Type, iLevel).
  • Все предыдущие модификаторы используются в расчете через функцию LOOKUP и поиск значения в соответствующей колонке. Так, например, значения защиты у шлема автоматически домнажаются на 0.6, так как в поле Slot написано head.
  • Суммарный абсорб брони дает представления сколько урона от среднего оружия будет гасить данный предмет экипировки.

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

В заключении о прогрессии

Экипировка в Slash Polygon прокачивается и имеет 5 уровней. Для расчет прогрессии используется отдельная таблица.

прогрессия экипировки по уровням — Баланс боевой системы на примере Slash Polygon — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (GameDev, slash polygon, геймдизайн, игровой баланс)
прогрессия экипировки по уровням

Объяснения:

  • Не путайте уровень предмета и iLevel, это разные величины.
  • 1 уровень предмета это 10 iLevel.
  • Armor ID - это место для ввода идентификатора предмета из предыдущей таблицы. Все остальное заполняется автоматически.
  • В среднем у каждого предмета на данный момент по 5 уровней прокачки, но как вы понимаете, можно сделать хоть 10000.

Резюме

Собственно, резюмирую свои рекомендации:

  • Используйте таблицы для наглядного представления баланса игры.
  • Используйте таблицу модификаторов и функцию LOOKUP в сводном балансе, чтобы ускорить свою работу с огромным количеством контента.
  • Минусом функции LOOKUP является требование обязательной сортировки по А-Я для таблиц, в которых происходит поиск.
  • Документируйте свою работу, иначе через 2 месяца перерыва ничего не поймете.
  • Для расчета баланса оружия используется похожий принцип, с некоторыми дополнениями, но об этом в следующей статье.

А что вы используете для балансировки игр? Быть может баланс-на-глаз (что, кстати называется интуитивный баланс)? Расскажите о своем опыте, мне интересно.

Смотрите также:


Комментарии

Здесь еще никто не оставил комментарий

Справка