Зараз я працюю над дуже маленькою грою MMO, яка планує підтримувати близько сотні гравців на сервері, але ми маємо проблеми з нашою економічною моделлю.
З різних причин ми вирішили використовувати систему фіксованої суми; що означає, що існує лише певна кількість «золота», яка може коли-небудь існувати в грі одночасно. У цій ранній версії тестування (9 гравців) ця сума становить 9000 золотих, але ми плануємо мати близько 1 мільйона золота на сервері (100 гравців).
Короткий приклад роботи цієї системи:
У певний момент часу саме так можуть виглядати суми золота в грі.
| Max Gold | Bank | Shopkeeper | Player A | Player B | | 100 | 90 | 0 | 5 | 5 |
Гравець A продає крамаря на суму 2 золотих кошти. У крамниці є 0 золотих, і тому він "позичає" 2 золота у банку (можуть лише NPC).
- Гравець А продає 3 гравці на суму золота гравцеві B. Гравець В платить зі свого гаманця.
Гравець A купує меч за 5 золотих у Крамаря. Гравець A платить зі свого гаманця. Тепер ми маємо:
| Max Gold | Bank | Shopkeeper | Player A | Player B | | 100 | 88 | 5 | 5 | 2 |
Повторіть вищевказаний крок з продажу та продажу, і ви можете опинитися тут:
| Max Gold | Bank | Shopkeeper | Player A | Player B | | 100 | 0 | 27 | 59 | 14 |
Гравець A намагається продати 30-золотий предмет власнику магазину, але не може, тому що крамар має лише 27 золотих і не може позичити у (тепер порожній) банку. Гравець A повинен знизити свою відпускну ціну, торгувати товарами у відповідь або чекати, поки Крамар набере гроші іншими способами.
Ця система працює чудово - здебільшого. Нещодавно один із наших тестерів зробив щось, що повністю зламало нашу систему; вони продавали, торгували та вторглись у власність близько 60% загальної суми валюти, доступної в грі, потім відмовилися її використовувати (ставши еквівалентом RPG Scrooge McDuck ). Це спричинило велику проблему, оскільки раптом приблизно 5500 золотих із наших 9000 загалом виявилися непридатними .
Звичайно, при випуску гри один гравець, який володіє 60% усіх грошей, малоймовірний, але 60 гравців, кожен з яких володіє 1% усіх грошей, можуть викликати той же ефект. Ми розглядали питання про видалення старих персонажів та повернення їх грошей у «банк», але вирішили проти цього, оскільки якщо гравець повернеться, а його персонаж буде видалений, я б вважав, що це було б дуже сумно (особливо, якби це було супер багатим!).
Отже, до власне питання; як ми можемо уникнути цього і як обмежити збитки, спричинені цим?