1 Виклик PvP
Проектування PvP для покрокової браузерної MMO вимагає вирішення проблеми, з якою не стикаються ігри реального часу: відсутність вираження навичок гравця у механічному сенсі. У VvW, коли два персонажі б'ються, немає введення часових меток, рефлексів, мікроменеджменту. Бойовий рушій вирішує все виходячи зі статистики, спорядження та набору навичок.
Здається, це спростило б баланс — просто вирівняйте числа. На практиці це робить баланс складнішим. Без механічного вміння як диференціатора розриви в статистиці домінують повністю. Гравець рівня 30, що атакує гравця рівня 10, — це не цікавий контест, це нищення, і воно миттєво отруює утримання нових гравців.
Наші цілі дизайну для PvP:
- Чесний матчмейкінг — гравці повинні битися лише з супротивниками порівнянної сили
- Значущі результати — перемоги та поразки мають впливати на становище та нагороди
- Захист нових гравців — свіжий гравець рівня 5 не повинен бути затаврований до виходу
- Фракційна ідентичність — PvP повинен підкріплювати наратив вампірів проти вовкулак
- Ніяких векторів P2W — магазин не повинен створювати непереборних PvP-переваг
Оригінальні браузерні MMO в стилі BiteFight 2006–2012 років боролися з тим, що гравці вищого рівня нескінченно фармили гравців нижчого рівня. Вся наша PvP-архітектура була спроектована зробити це неможливим із першого дня.
2 Реалізація системи рейтингу ELO
Кожен персонаж у VvW починає з рейтингу ELO 1000. Рейтинг змінюється після кожного PvP-бою за стандартною формулою ELO, з K-фактором 32 для гравців нижче рівня 20 та 16 для гравців вище рівня 20 (зменшення волатильності для встановлених гравців).
Ключове обмеження — обмеження діапазону атаки: ви не можете ініціювати PvP проти гравця, чий ELO відрізняється від вашого більш ніж на ±400 очок. Це одне правило усуває найпоширенішу форму грифінгу в браузерних MMO — ветерани вищого рейтингу фармять початківців для легких перемог.
Розрахунок ELO
| Параметр | Значення | Примітки |
|---|---|---|
| Початковий ELO | 1000 | Всі нові персонажі |
| K-фактор (≤ рівень 20) | 32 | Вища волатильність для нових гравців, що знаходять свій дивізіон |
| K-фактор (> рівень 20) | 16 | Нижча волатильність для встановлених гравців |
| Діапазон атаки | ±400 ELO | Жорсткий ліміт, примусово застосовуваний на сервері |
| Максимум атак на день | 3 на ціль | Запобігає фармінгу однієї цілі |
| Підлога ELO | 600 | Рейтинг не може впасти нижче цього значення |
Рейтинг ELO відрізняється від рівня персонажа. Висококваліфікований вампір рівня 15 із сильним набором спорядження може досягти ELO 1200+, тоді як погано побудований гравець рівня 25 може залишатися на 950. Це природно створює органічні дивізіони навичок.
Ми розглядали окрему систему "рівня PvP" замість ELO, але саморегулювальна природа ELO ідеально підходить для цього випадку використання. Гравці природно знаходять свій дивізіон без втручання розробника.
3 Вікна імунітету та антигрифінг
Обмеження діапазону ELO обробляє справедливість матчмейкінгу, але не повністю усуває грифінг між гравцями зі схожим рейтингом. Гравець на 1050 ELO може все одно постійно атакувати іншого гравця на 1050 ELO тричі на день, щодня.
Імунітет нового гравця
Усі персонажі імунні до PvP протягом перших 72 годин після створення облікового запису. Протягом цього вікна вони все ще можуть самі ініціювати PvP (імунітет є однонаправленим), але не можуть бути атаковані. Це дає новим гравцям три дні, щоб знайти своє місце без переслідування.
Імунітет після атаки
Після поразки в PvP персонаж отримує 2-годинне вікно імунітету. Це запобігає найпоширенішому шаблону грифінгу: перемогти гравця, почекати, поки спаде кулдаун лікування, а потім атакувати знову. Імунітет скидається при будь-якому новому PvP, ініційованому імунним гравцем.
Щоденний ліміт атак
Ліміт 3 атаки на день на ціль застосовується з ковзним 24-годинним вікном, а не скиданням опівночі. Це запобігає скоординованому насиллю, де гравці встановлюють час атак на скидання опівночі.
Всі PvP-атаки обмежені на рівні API (окремо від щоденного ігрового ліміту) для запобігання автоматизованим скриптам атак. Незвичайні шаблони частоти перемог запускають журнал аудиту антишахрайства.
4 Нагороди PvP та крадіжка золота (ліміт 10–25%)
PvP у VvW має відчутні ставки. Перемога в PvP-бою нагороджує атакуючого:
- Підвищення рейтингу ELO — масштабується за різницею ELO (перемога над суперником з вищим рейтингом нагороджує більше)
- Крадіжка золота — відсоток від поточного золота переможеного гравця
- Очки PvP — валюта для крамниці нагород PvP (ексклюзивна косметика та титули)
- Фракційний рахунок — внесок у поточний рахунок Затемнення
Ліміт крадіжки золота
Крадіжка золота навмисно обмежена. Атакуючий краде між 10% та 25% поточного золота захисника, розрахованого при вирішенні бою. Точний відсоток масштабується з різницею ELO: перемога над суперником на 300 ELO вище дає 25%; перемога над кимось на 300 нижче дає 10%.
Ліміт є критичним. Необмежена крадіжка золота створює дегенеративну економіку, де активні PvP-гравці повністю висушують пасивних гравців. Діапазон 10–25% робить PvP значущим, не руйнуючи: переможений гравець втрачає значну суму, але не настільки, щоб суттєво відкинути свою прогресію.
Золото в банку (депоноване в сховищі клану або витрачене на спорядження) імунне до крадіжки PvP. Це створює природний золотий поглинач: кмітливі гравці витрачають або депонують золото, а не накопичують великі рідкісні резерви.
5 Подія Затемнення
Затемнення — це тижнева фракційна PvP-рейтингова подія, що проходить 48 годин кожної неділі та понеділка. Під час події всі PvP-вбивства між гравцями-вампірами та вовкулаками сприяють поточному фракційному рахунку. Фракція-переможець наприкінці 48-годинного вікна отримує колективні бонуси на наступний тиждень.
Механіка підрахунку очок
Очки нараховуються за кожне PvP-вбивство члена протилежної фракції, масштабуючись з ELO переможеного гравця:
| ELO переможеного гравця | Нараховані очки фракції |
|---|---|
| 600–900 | 1 очко |
| 901–1100 | 2 очки |
| 1101–1300 | 3 очки |
| 1301–1500 | 5 очок |
| 1501+ | 8 очок |
Нагороди фракції-переможця
Фракція, що набирає більше очок до кінця події, отримує:
- +10% до набору XP для всіх членів фракції на 7 днів
- +5% до норми падіння золота з підземель на 7 днів
- Скриня фракційної війни — випадкова нагорода рідкісного предмета, розподілена 50 найкращим гравцям за очками
- Титул "Переможець Затемнення" — відображається поряд з іменем користувача протягом тижня
Підрахунок очок Затемнення агрегується на сервері одним SQL-запитом до таблиці BattleLog. Жива таблиця лідерів оновлюється кожні 5 хвилин через заплановане завдання — жодних накладних витрат WebSocket у реальному часі не потрібно.
6 Що далі
PvP-система, як описано, є живою та активно налаштовується на основі даних гравців. Майбутні доповнення включають:
- Кланські війни: Структуровані PvP-конфлікти, оголошені між суперничаючими кланами, з автоматичним вирішенням через планувальник та загальноклановими нагородами для переможця.
- PvP-арена: Режим ранжированої арени за бажанням з тижневими сезонними скиданнями та окремим треком косметики.
- Система нагород: Гравці зможуть розміщувати золоті нагороди на конкретних цілях, створюючи органічні стимули PvP.
- Перегляд PvP: Зареєстровані повтори битв будуть доступні для перегляду іншими гравцями для боїв з високим ELO.
7 FAQ
Чи можуть мене атакувати, поки я офлайн?
Так. PvP у VvW є асинхронним — атакуючі ініціюють бої проти статистики вашого персонажа незалежно від того, увійшли ви чи ні. Ваш показник захисту, спорядження та активний набір навичок визначають, наскільки добре ви тримаєтеся в офлайні. Це свідомий дизайн: ризик бути атакованим в офлайні є основною частиною циклу браузерної MMO.
Чи завдає поразка в PvP постійної шкоди моєму персонажу?
Поразка коштує вам ELO (що природно відновлюється в міру перемог) та частину поточного золота (10–25%). Ви не втрачаєте спорядження, прогрес навичок або рівні від поразок у PvP. Ставки значущі, але не катастрофічні.
Що таке підлога ELO та чому вона існує?
Підлога ELO встановлена на рівні 600, щоб запобігти маніпуляціям з рейтингом — поширений експлойт у браузерних MMO, де гравці навмисно програють бої, щоб потрапити в нижчий дивізіон для легкого фармінгу. Підлога 600 означає, що зниження рейтингу нижче цього значення не має сенсу.
Чи є міжфракційний PvP поза Затемненням?
Так. Ви можете атакувати будь-якого гравця в межах вашого діапазону ±400 ELO в будь-який час, незалежно від фракції. Затемнення просто додає фракційний рахунок поверх звичайного PvP. Міжфракційні вбивства завжди нараховують очки Затемнення, коли подія активна.
Як перевірити мій поточний статус імунітету PvP?
Ваша сторінка профілю персонажа показує ваш поточний статус імунітету з таймером, якщо він застосовний. Імунітет нового облікового запису відображає значок "Захищений", який зникає після закінчення 72-годинного вікна. Імунітет після поразки відображає зворотній таймер.