Моя текстовая RPG в Telegram перестала быть просто историей. Рассказываю, как я добавил в нее бесконечные квесты, ачивки и рейтинги.

Привет, участники данного сообщества и все, кто следит за Бездной!

Пару месяцев назад я впервые показал здесь свой проект — «Эхо Бездны», текстовую RPG в духе S.T.A.L.K.E.R. в Telegram. Тогда это была короткая история с парой квестов. Благодаря вашим отзывам, она обросла новой боевой системой, расширенной картой и даже боссом-охотником. Но я столкнулся с главной проблемой всех сюжетных игр: "А что делать, когда история закончилась?"

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

Моя текстовая RPG в Telegram перестала быть просто историей. Рассказываю, как я добавил в нее бесконечные квесты, ачивки и рейтинги.

Во-первых, я полностью переделал старт игры. Теперь, прежде чем сделать первый шаг, игра требует выбрать себе уникальный позывной. Я написал систему валидации, которая проверяет ник на занятость, длину и запрещенные символы. Теперь у каждого сталкера в Бездне есть свое имя. Торопитесь занять "тот самый" позывной, который будет ассоциироваться именно с Вами. Сейчас их бесчисленное множество.

А теперь по проблемам:

Проблема №1: "Я прошел все квесты. Что дальше?"

Это был самый частый вопрос. Мне нужна была система, которая бы каждый день давала игрокам новую, пусть и небольшую, цель. Так родилась идея Доски объявлений с контрактами.

Техническая реализация: Я создал два пула заданий: короткие ежедневные ("убей 5 крыс", "собери 10 металлолома") и одно большое еженедельное ("убей 40 гулей за неделю"). Теперь, когда игрок заходит в игру, система проверяет дату. Если наступил новый день (по МСК), она автоматически удаляет его старые дейлики и генерирует три новых, случайных из пула. То же самое происходит раз в неделю с еженедельным заданием.

Чтобы это работало гладко, пришлось встроить "хуки" во все основные действия. Теперь, когда ты убиваешь крысу или подбираешь металлолом, игра на лету проверяет, не продвигает ли это один из твоих контрактов. Это сделало мир живым — любое действие может принести пользу.

Проблема №2: "Я самый сильный. И что?"

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

Решение: Я решил добавить в игру две классические RPG-механики: достижения и рейтинги.

Достижения и Титулы: Я создал список ачивок ("Убить 100 врагов", "Заработать 10000 жетонов", "Сделать 1000 шагов"). Чтобы не проверять их все постоянно, я написал универсальный обработчик. Теперь любое действие (убийство, шаг, продажа хлама) вызывает одну функцию, которая обновляет общую статистику игрока в базе данных и сразу же проверяет, не "прокнуло" ли какое-то достижение. За самые крутые ачивки теперь выдаются Титулы, которые можно гордо носить перед своим ником.

Еженедельные Рейтинги: Но просто считать общую статистику — скучно. Нужна была конкуренция. Я ввел недельные счетчики убийств и заработанных денег. А чтобы все было по-честному, я впервые в жизни написал код, который работает без меня — планировщик задач (apscheduler). Теперь каждый понедельник в 8 утра по МСК робот на сервере сам:

Подводит итоги недели.

Награждает топ-3 игроков в каждой категории новой премиум-валютой — Кредитами.

Обнуляет недельные счетчики у всех игроков.

Рассылает всем в личку отчет с именами победителей.

Это превратило одиночную игру в еженедельное соревнование.

Что в итоге?

«Эхо Бездны» сделала огромный шаг от линейной истории к полноценной RPG-песочнице. Теперь в ней есть не только сюжет, но и ежедневные цели, долгосрочные ачивки и дух соревнования.

Это обновление — одно из самых больших и сложных за всю историю проекта. Оно заложило фундамент, на котором можно строить мир годами. И я снова приглашаю вас в него.

Важно помнить: игра все еще находится в стадии активного бета-теста. Все новые механики могут (и будут) меняться на основе ваших отзывов. Ваш фидбек сейчас бесценен.

Как всегда, все обсуждения, анонсы и ссылка на самого бота — в нашем Telegram-канале.

Спасибо за ваше внимание и за то, что остаетесь на связи. Удачи в Бездне, выжившие.

5
5 комментариев