Экономика MMORPG в Telegram без pay-to-win: витрина на пять вещей, пропуск за 350 звёзд и запрет, вшитый в код

Экономика MMORPG в Telegram без pay-to-win: витрина на пять вещей, пропуск за 350 звёзд и запрет, вшитый в код

Я делаю EclipseFall, MMORPG внутри Telegram, и год назад решил за себя главный вопрос экономики: за реальные деньги в игре нельзя купить силу. В прошлом лонге я разбирал, как в этой MMORPG бой считает сервер и зачем я записал 146 эталонных боёв. Сегодня про деньги: что стоит на витрине, как этот запрет держится кодом и во что мне обошлась собственная честность.

Запрет на продажу силы записан типом данных

Обещание «мы не продаём преимущество» стоит ровно столько, сколько стоит слово разработчика. Я себе не верю, поэтому запрет живёт в коде.

В файле каталога монетизации есть перечисление типов товара, и в нём три значения: косметика, удобство, доступ к платной ленте пропуска. Категорий вроде «характеристики», «снаряжение», «усиление» там просто нет. Чтобы продать силу, мне придётся сначала дописать новый тип в это перечисление, а потом объяснить самому себе, зачем я это делаю. Тест рядом проверяет состав перечисления и падает, если в наградах пропуска заведутся поля со статами.

То же самое и в других местах. Награды за приглашённых друзей — только косметика, золота и характеристик там нет по построению. Апгрейд предмета за золото жёстко упирается в потолок уровня вещи, поэтому голд-синк не умеет продавать силу выше этого потолка. Даже эффект крита, который продаётся за звёзды, отдаёт наружу только css-классы: чисел в этом модуле нет, взять их оттуда негде.

Что стоит на витрине

Пять предметов. Титул «Сломивший Тишину» — 60 звёзд, рамка «Затмение» — 75, эффект «Золочёный удар» — 100, рамка «Дыхание Бездны» — 120, Плащ Аэрнгарда — 150.

Экономика MMORPG в Telegram без pay-to-win: витрина на пять вещей, пропуск за 350 звёзд и запрет, вшитый в код

Отдельно сезонный пропуск за 350 звёзд: 12 ступеней, у каждой бесплатная награда и премиальная. В премиальной ленте девять косметик и три денежные выдачи, в бесплатной — золото, знаки доблести и рамка на последней ступени.

Экономика MMORPG в Telegram без pay-to-win: витрина на пять вещей, пропуск за 350 звёзд и запрет, вшитый в код

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

Два товара, которые не делали ровно ничего

В августе я гонял поиск по коду на предмет «кто читает эти коды товаров» и нашёл, что два кода из каталога не читает никто. Эффект крита за 100 звёзд и слот пресета ротации за 90 звёзд стояли на витрине с картинками, продавались, и в игре после покупки не происходило ничего.

Дальше было два решения. Эффект крита я сделал: теперь он надевается как рамка, красит только собственные криты игрока и стал четвёртым косметическим слотом. Слот пресета ротации снял с витрины совсем, и не только потому, что он не работал. Он продавал удобство системы, которой новичок ещё не пользуется, то есть был непонятным товаром для того, кто мог бы его купить.

Экономика MMORPG в Telegram без pay-to-win: витрина на пять вещей, пропуск за 350 звёзд и запрет, вшитый в код

Главное последствие этой истории — новый тест. Он берёт каждый код из каталога и ищет его потребителя в игровом коде; кода без потребителя достаточно, чтобы прогон покраснел. До него полсотни тестов проверяли, что каталог согласован сам с собой, и такой дефект пройти мимо них мог свободно.

Проверка живым проходом по игре нашла ещё одну вещь, которой тесты не видели. Условий «есть ли игроку что менять во внешности» оказалось два: одно у кнопки-входа, другое у самого раздела. Новый слот я дописал только в одно, и у игрока с единственным купленным эффектом кнопка гасла. Тесты читали исходник, обе строки были на месте и говорили разное.

Пропуск пришлось пересобрать после замера

Сезонный пропуск я собрал раньше, чем научился проверять его числами. Когда дошли руки посчитать, картина получилась такая: все денежные награды платной ленты за весь сезон давали 1200 золота, то есть примерно одно убийство обычного босса на максимальном уровне, и 19 знаков доблести — восемь процентов стоимости одной вещи у торговца. Двенадцать наград, из которых заметна была одна.

Хуже всего, что суммы были круглыми и ни из чего не выводились. Это не ошибка расчёта, расчёта не было вовсе.

Пересобрал в три хода. Знаки доблести убрал с платной ленты целиком: это единственная валюта в игре, которая покупает силу, и в платном месте она вредна в любой дозе. Денежных выдач стало три вместо шести, и все они переехали в начало ленты, потому что золото тратится на прокачке, а к последним ступеням игрок уже на максимальном уровне, где золоту почти некуда деваться. И главное: каждая сумма теперь равна ровно одному рероллу вторичных характеристик своего этапа — 560, 1600 и 3480 золота. Реролл в игре единственный повторяемый сток золота, значит награда всегда во что-то превращается. Равенство суммы и формулы стока держит тест, поэтому разойтись молча они больше не смогут.

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

Партнёрская программа Telegram: 20% на 12 месяцев

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

Я включил 29 августа: 20 процентов, срок 12 месяцев. Параметры Telegram разрешает потом только увеличивать, поэтому стартовать имело смысл консервативно.

Работает это пока никак, и причина арифметическая. Комиссия платится с потраченных звёзд, а тратить их у меня пока некому: игроков в игре десятки. Владельцу канала в списке программ не видно причин нас брать, потому что заработать не с чего.

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

Честные цифры

Живых игроков в базе 23. Девятнадцать создали героя, одиннадцать дошли до боя, пятеро возвращались на следующий день.

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

Проверить, чего стоит такая экономика, я смогу только на потоке игроков, которого пока нет. Поэтому ближайшая задача у меня про возврат на второй день, и следующий отчёт будет о нём.

Игра работает внутри Telegram, ставить ничего не нужно: открыть EclipseFall. Девлог с разбором таких находок я пишу в канале: t.me/eclipsefall_game

2
1