Я делаю WoW-подобную MMORPG внутри Telegram. Честно и с цифрами
Я — TurboBear, и я делаю MMORPG, которая целиком живёт в Telegram. Называется EclipseFall. Подземелья с ключами, рейд, арена, недельное Хранилище — эндгейм устроен как в больших клиентских MMO, а открывается игра как обычный чат: нажал — играешь. Ниже — история о том, как она строилась, с настоящими цифрами и настоящими ошибками.
Почему Telegram
Мне была нужна платформа, где между игроком и игрой нет ничего: ни магазина приложений, ни установки, ни регистрации. В Telegram человек приходит в игру по ссылке из чата и через минуту уже дерётся в первом бою. Плюс встроенные платежи и партнёрская программа — без единого внешнего сервиса.
Рынок мини-игр в Telegram при этом занят «тапалками» и раздачами токенов. Настоящих RPG с боевой системой там почти нет. Это и была ставка: сделать в мессенджере игру, за которую не стыдно перед человеком, выросшим на WoW.
С чего началось
Первая версия собиралась на веб-конструкторе. Там появился первый бой и первая лавка — и там же стало ясно, что дальше конструктор не пустит: база данных не моя, серверной логики нет, каждая правка — боль. Игра переехала на собственный стек и собственную базу.
С переезда я завёл железное правило: каждое изменение базы — отдельный записанный шаг. Сегодня таких шагов 175, и любой из них можно перечитать и повторить. В каталоге игры 474 предмета. Поведение боя закреплено 146 эталонными записями: если после правки хоть один бой разыгрался иначе — сборка красная.
Самое дорогое решение
Бой считается на сервере. Телефон игрока только показывает то, что сервер уже решил.
Дорого это потому, что каждый расчёт приходится доказывать: у боя детерминированная симуляция, у неё эталоны, у эталонов тесты. Зато читер не может прислать себе победу — ему просто нечего прислать. Для игры, где два игрока встречаются на арене, я не вижу другого честного пути.
Как я выбросил весь арт
Первый арт был сгенерирован наспех и выглядел чужим: набор картинок без общего языка. Я вывел его из игры целиком и завёл канон — один стиль, одна палитра, один свет. Теперь каждая картинка проходит приёмку против канона, и у каждого из 474 предметов арт свой, не шаблон по типу слота.
Дороже всего канон обошёлся на партии поножей: ради двенадцати картинок сделано двадцать три съёмки и четырнадцать точечных правок. Смешно и дорого. Не жалею.
Тексты, которые пришлось учиться писать
У игры есть писчий канон: стоп-лист оборотов, по которым текст выглядит сгенерированным, лестница регистра по редкости вещей, правила имён. Первые версии имён и лора я браковал пачками — они читались как машинные. Сейчас каждый текст, от описания предмета до реплики босса, прогоняется через этот фильтр. Мир зовётся Аэрнгард; его завязка — медленная волна Тишины, которая поднимается из Бездны раз в несколько десятков лет.
Как это делается вдвоём с машин
Я строю игру не один: рутину, код и арт-конвейер тянут ИИ-агенты. Но у этой кухни жёсткие правила: агент предлагает — принимаю я; каждый арт и каждый текст проходят живую приёмку; всё, что агент посчитал, перепроверяется тестами и эталонами. Половина историй выше — это истории о том, как машинную работу приходилось браковать и переделывать, пока она не стала неотличимой от ручной.
Что внутри сейчас
Кампания в четырёх краях, подземелья четырёх сложностей до эпохального+, рейд, ранговая арена 2 на 2 и дуэли, кланы, группы, девять путей героя со своими ресурсами. Покупки не дают силы — только внешность и боевой пропуск.
Чего нет: игроков. Игра вышла тихо, без маркетинга, и сейчас в ней играю я и тестовые герои. Эта статья — первый выход к людям.
Попробовать
Первый бой занимает минуту и начинается в Топях Сточина: https://t.me/eclipsefall_bot/app?startapp=src_dtf
Канал разработки — новости, лор и такие же честные разборы: https://t.me/eclipsefall_game
Отвечу в комментариях на любые вопросы про Telegram как игровую платформу, серверный бой и цену «своего арта на каждую вещь».