Cortez95

Cortez95

На Пикабу
106 рейтинг 0 подписчиков 0 подписок 2 поста 0 в горячем
Награды:
5 лет на Пикабу
7

Как я разрабатывал боевую систему для хардкор RPG и чуть не сошёл с ума от одной формулы

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

С чего всё началось

Я делаю игру в духе хардкор RPG — с настоящей глубокой боевой системой, нестандартной для смартфонов, пошаговыми боями, множеством героев, детальным крафтом снаряжения и боссами которых нужно продумывать а не просто закликивать. Движок Unity, сервер собственный, язык C#.

Когда дошло до боевого ядра — я понял что мне нужно сесть и выстроить всю механику на бумаге прежде чем писать код. Иначе потом переписывать всё с нуля.

Первые пять минут всё было хорошо

Я сопоставил все базовые вещи. 12 раундов на бой. 6 героев на поле плюс 4 в резерве. Передний и задний ряд. Враги сверху, герои снизу — вертикальный экран. Пошаговый бой, полный автомат, герои сами выбирают цели.

Потом начался цирк.

В игре 5 классов: Воин, Страж, Рейнджер, Маг, Жрец. У каждого свои базовые статы. 12 характеристик. Система звёздности, рангов, уровней, снаряжения. Гравировки. Бафы. Дебафы. Провокация. Воскрешение. итд.

Казалось бы, а чем плоха формула из Доты 2?

Поглощение = (0.052 × Броня) / (0.9 + 0.048 × Броня)

Красиво. Проверено годами. Работает в одной из самых сбалансированных игр в мире.

Но нет. У меня не работает.

Почему?

Потому что в Доте броня это маленькие числа — 5, 10, 20 единиц. У меня герои качаются до 80 уровня, имеют 6 рангов рамки, 20 звёзд, и топовое снаряжение даёт до 480% к защите. Цифры улетают в десятки тысяч. Формула Доты при таких числах либо даёт 0.1% поглощения либо 99.9% — никакой середины.

Ладно, сказал я. Придумаем свою.

Следующие несколько часов я подбирал константу

Я ушел от базовой казуальной формулы которая работает по типу АТК = (АТК / (АТК + ЗАЩ) - это вообще "забейте" она будет хорошо смотреться в кликерах но не в хардкор рпг. Затем я сменил тактику, работать от защиты а не атаки(так делают многие топ ММО) и перевести бонус к защите от снаряжение не + процент от базы, а пойти в плоскую величину(это тоже фишка топ ММО но есть свои косяки)

Новая формула выглядела просто:

Поглощение = Защита / (Защита + Константа)

Константа — это число которое определяет при какой защите поглощается ровно 50% урона. Всё логично.

Одна проблема — какое число?

Я перебрал: 300, 500, 1000, 3000, 6000, 7000, 12000, 20000.

При маленькой константе — новичок в серой рамке поглощает 80% урона и игра превращается в детский сад.

При большой константе — прокачанный танк в мифическом снаряжении поглощает 3% и жрец который бафает его броню на 50% выглядит как шарлатан потому что разница между 3% и 4.5% это издевательство а не механика.

В какой-то момент Жрец со своими +50% к броне как будто даёт танку святую воду вместо защиты. :D

Тогда я попробовал гибрид

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

Считаем этап 3 — синий шмот, 40 уровень:

Воин: 37% поглощения. Норма!

Но потом смотрю на другие вариации и вижу что Воин, Страж, Маг и Рейнджер на каждом этапе поглощают примерно одинаково. Разница между самым толстым танком и хрупким магом — 5%. Это не хардкор RPG, это мусор.

Плоская часть шмота одинакова для всех классов и просто давит разницу между ними.

Семь лет в ArcheAge спасли проект

Я играл в ArcheAge семь лет почти до закрытия игры в мире(в РФ она все еще функционирует но вроде как отрезана от Кореи). И пока я кружил по одним и тем же граблям — на след. утро я пошёл на работу, погуглил скриншоты шмота из ArcheAge и вспомнил как там всё устроено.

Вернулся и думаю, давай возьмём их подход, ведь не зря это бестселлер 2014.

В ArcheAge шмот всегда давал два стата сразу — физическую защиту и магическое сопротивление. Тип брони определял пропорцию: тяжёлый давал много брони и мало сопры, лёгкий наоборот. И всё это были плоские числа — никаких процентов.

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

Воин максимальная прокачка = 5000 единиц защиты

Константа = 5000

Поглощение = 5000 / (5000 + 5000) = 50% - норма

Элегантно. Просто. Работает.

голый | Мид. гейм | Лейт гейм

Воин 10% 32% 77%

Страж 11% 36% 81%

Маг 8% 24% 64%

Рейнджер 9% 26% 68%

Разница между Стражем и Магом на лейте — 19%. Страж реально толще. Маг реально хрупкий. Жрец который бафает танка наконец перестал быть шарлатаном.

Что ещё зафиксировал

Пока искал формулу — попутно выстроил всю систему:

Типы навыков — Вступление, Активная, Пассивная, Фатальная, Реакция. Все с шансом срабатывания.

Система прогрессии — уровень до 80, 6 рангов рамки, 20 звёзд четырёх типов (медь, серебро, золото, алмаз), тир героя от обычного до босса ( этого можно укротить и получить себе)

Механика рядов — автоатака всегда бьёт первый ряд, навыки с шансом 30/70. Провокация перехватывает все атаки на носителя с абсолютным приоритетом.

Крафт снаряжения — три типа брони с разными пропорциями защиты и сопротивления, шесть тиров редкости, гравировки, сет-бонусы за полный комплект.

Штрафы за неподходящую броню — Маг в тяжёлом шмоте теряет 5% маг атаки и HP за каждый предмет. Надеть можно всё что угодно, но цена есть. Это песочница.

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

Если интересно — напишу продолжение когда дойду до кода.

А пока главный урок: если делаешь глубокую игру а не казуалку — не берите первую попавшуюся формулу из популярной игры. Контекст имеет значение. Дота это не мобильный хардкор RPG, и формула которая работает там будет выдавать мусор у вас.

Иногда решение приходит от задротства в ArcheAge. :D


Разрабатываю в одиночку. Вертикальный срез в процессе. Если есть вопросы по механикам — спрашивайте в комментариях.

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

Создаю свою хардкор фэнтези RPG

Привет, Пикабу! Я в одиночку пилю карточную хардкор RPG на Unity. И, честно говоря, за последние недели я знатно выгорел.

Индустрия мобильных и кроссплатформенных фэнтези RPG сейчас шагает куда-то совсем не туда. Крупные студии думают только о том, как продать пиксельных героев за бешеные деньги и забанить в сообществах любого, кто открыто недоволен балансом (как это произошло со мной). Недавно закончились "траблы" с одной Кипрской игровой компанией, которая ради цензуры критики их игры на ютуб навешала на все мои видео по их игре страйки, что является абсолютно вопреки закокам США, РФ и правил ютуб. Из-за страйков в бан ушла вся сетка каналов, даже те каналы которые не имели отношения к видео. Каналы я без проблем восстановил, страйки снял, так как моя пощиция была полностью защищена. Эти ребята даже не соизволили почитать правила ютуб и законы, прежде чем использовать страйки как карательный инструмент в целях цензуры. Это и делит разработчиков игр на 2 лагеря: импульсивные любители и профессионалы.

Раз мне запретили обозревать чужое — я создаю СВОЁ.

Я собираю проект на основе своего многолетнего опыта в MMO. Здесь будет живая экономика, глубокий крафт, гибкие герои, слоистая система гильдий в духе EVE Online, свобода статов экипировки (хотите одеть мага в тяжелые латы из Diablo — пожалуйста!) и глубокий, живой лор, под который я пишу полноценный небольшой роман.

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

Часть 1. Наш Главный Город

Изначально я планировал сделать главный экран города (где игрок находится между вылазками) в виде парящих в облаках островов. С технической точки зрения это казалось удобным: все ключевые постройки отлично влезали на экран смартфона, оставались крупными, и по ним было легко кликать. Это дешовое и легкое решение. Но когда я начал прописывать Лор, понял: летающие острова напрочь ломают атмосферу логики фэнтези. Откуда в этом мире парящие куски земли?

Это рушило всё погружение.
Какое решение я нашел?
Я полностью отказываюсь от «облачного» города и переношу его на почву. Город станет настоящей цитаделью, в кольце крепостных стен.
Главный визуальный якорь: Кольцо стен будет замыкаться на горе. Именно в подножии этой горе вход в Подземелья (Данжи) — это будет самый крупный объект на экране.
Инфраструктура цитадели: Чтобы сохранить удобное расположение зданий и не превратить экран телефона в мелкую кашу, используется ракурс 2.5D (диорама под углом сверху). Ближнюю стену мы «срезаем» для идеального обзора. На площади внутри кольца стен разместятся: Трактир, Портал, Академия наук, Экспедиции, Зал славы и Рынок. Клик по любому зданию полностью скрывает город и открывает меню этой постройки.
Адаптивная камера: На ПК эта диорама будет видна целиком, а на узких экранах телефонов камера будет аккуратно приближена. Игрок сможет легким движением пальца сдвигать экран в стороны, чтобы оглядывать окрестности крепости и с комфортом тапать по зданиям.

Часть 2. Первый данж (Экран Подземелья)

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

Я полностью переписал визуальную логику карт подземелий, превратив их в интерактивную 2.5D диораму с параллакс-эффектом, где задний бэкграунд (каменные своды, цепи) реалистично двигается слоями. Игрок продвигается по гоблинскому логову поэтапно:

Автоматический скролл дороги:
На экране всегда отображается текущий отрезок пути с двумя башнями, которые пронумерованы строгими римскими цифрами. Игроку не нужно крутить карту вручную. Как только вы побеждаете во второй башне на экране, дорога автоматически пролистывается вперед, открывая следующие две башни.

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

10 уровней штурма: Всего на пути к финалу вас ждут 10 башен, которые делятся на три типа.
Простые башни (рядовые PvE-враги) выглядят скромно и потрепанно. По лору это штурм окраин — Гнилого пригорода и Трущоб гоблинов.
Механика Ключа: Башня под номером V (середина данжа) — уникальна. Она монументальная, а охраняет её промежуточный сильный босс. Именно в пятой башне спрятан Ключ, необходимый для открытия следующего, более высокого уровня сложности всего этого подземелья.

Башня X: Финал данжа. Ззамок, где засел Главный Босс с редкой наградой. После клика по любой конкретной башне открывается предбоевое Боевое Лобби (экран тактического формирования отряда перед боем).

Часть 3. Боевое лобби (и разведка врага до начала битвы)

Только после того, как игрок кликает на конкретную башню в данже, открывается третий, финальный этап перед дракой — Боевое Лобби.
В хардкорной игре победа должна коваться умом, а не слепым рандомом прихода карт, поэтому идти в бой вслепую вы не будете.

Прямо в боевом лобби вы можете открыть «паспорт» любой карты противника и полностью её просканировать:

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

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

В PvE-режиме на рамке портрета врага отображаются ранги в виде «лычек» (от 1 до 6). Количество лычек строго равно числу навыков у противника. Враг I ранга имеет всего 1 навык, а супер-босс VI ранга (карта которого в PvE визуально намного больше остальных, выделяя главаря) применит против вас комбо из 6 пассивных и активных умений. В PvP, к слову, все карты всегда будут одинакового размера, чтобы игроки были в равных условиях.

Чтобы игрок подсознательно понимал, чей паспорт он сейчас смотрит, интерфейс игрока выполнен в персидском зеленом цвете, а всё, что касается противников — в кожаном или коричневом стиле.

Что дальше?

Сейчас проект проходит через стадию технической очистки кода. Я разделяю архитектуру, навожу порядок в ассетах и связываю логику интерфейсов с сервером, чтобы данные не хранились локально на устройствах.
Как только этот фундамент будет готов — я сяду за боевое ядро.
В игре не будет ии генераций или ии контента, вся графика рисуется вручную художниками, озвучка выполнена профессионалами, а звуки воссозданы на лицензионном по.

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

Следить за разработкой и принять участие в будущих тестах можно тут:

ВКонтакте: https://vk.com/project_hardcore_rpg
Telegram: https://t.me/+H6TsrI1YEOIwZGYy

Всем добра!

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества