Квест-бот для Telegram


Анализ индустрии квестов показывает, что составляющая внефраншизных квестов примерно 1/3 от всего имеющегося многообразия.

Небольшим городам не выгодно арендовать движки, но что тогда, квесты на бумажках? Нет, друзья, хотим познакомить вас с БЕСПЛАТНЫМ «Квест-ботом» в телеграме и с его создателем, итак знакомьтесь — Даниил Никанов, г. Шадринск.

Пару слов о себе, так сказать для знакомства?

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

У нас в Шадринске игры в основном проводили вручную, это создало некоторую специфику — большого количества кодов не сделать («живой» оператор не сможет столько принять), поэтому сложность росла в основном за счет усложнения заданий, сильная местная специфика.

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

Но сообщество у нас в городе небольшое и мало пополняется новыми игроками — иногда игры проходят с 3-4 командами, а если наберется 10 команд, это уже очень хорошо) поэтому наиболее доступным вариантом было создание собственного движка в виде бота Телеграм, поддерживающего автоматическую выдачу заданий, состоящих текста, картинок, аудиозаписей, файлов и т.п., прием неограниченного числа кодов, учет бонусных кодов, разделение уровней игры по секторам.

А программирование это для тебя хобби или профессия?

Это хобби, по профессии я технический переводчик, но программирую на разных языках и платформах уже 15 лет как, уровень довольно приличный

А как появилась идея создать бот-движок?

По изначальной задумке бот должен был работать на любом ПК, например с флешки, периодически сохраняя состояние в виде файлов (как в компьютерных играх) — для повышения надежности, чтобы в случае проблем с ПК или интернетом можно было просто перенести его и продолжить игру.

Но также рассматривался вариант использования и удаленного сервера, поэтому для разработки была выбрана кросс-платформенная Java.

В конце 2016-го — начале 2017 года, тогда Телеграм еще не был официально заблокирован в РФ, необходимости в прокси-серверах не было.

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

А как загружается игра в бот?

Сценарий игры пишется в виде файла скрипта, используется специально разработанный «язык» — напоминает тэговую разметку на форумах, все ключевые слова русскоязычные.

В скрипте задаются:

  • уровни игры
  • задания (которые состоят из текстовых блоков и файлов, отправляемых в заданной последовательности)
  • до 3-х подсказок (время выдачи каждой подсказки задается независимо)
  • проходные и бонусные коды
  • коды-подсказки (при вводе таких кодов также могут выводиться любые текстовые блоки и картинки/файлы)
  • секторы, которые представляют собой этапы уровня — секторы могут открываться (активизироваться) вместе с уровнем или по заданному коду, выдавать собственное «подзадание» принимать собственные коды и т.п.

Игра может быть, как линейной, так и нелинейной — порядок уровней определяется специальной секцией/секциями.

То есть автору/оргу без знаний программирования игру не запустить?

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

Написано очень подробное руководство по разработке сценариев, с картинками.

А как команды взаимодействуют с движком?

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

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

Управление ботом полностью осуществляется с помощью клавиатур, которые у рядовых и капитанов отличаются. Не требуется вводить команды типа /start и т.п., просто нажимаются кнопки)

Со стороны организатора игры используется админ-панель бота — это тоже чат с ботом, но в нем также в виде клавиатур доступны управляющие команды для контроля игры, статистики, сценария.

Что нужно организатору, чтобы провести игру через бота?

Нужно зарегистрировать свой бот в Телеграм, арендовать VDS (виртуальный выделенный сервер) за границей ИЛИ надежный (лучше платный) заграничный прокси сервер, установить бота на этом VDS или домашнем ПК (при использовании прокси), создать игровой сценарий.

Подробная пошаговая инструкция по всем этим процедурам есть в руководстве.

То есть необходимо развернуть бот на сервере?

Да, бот предоставляется как исполняемый файл, а не как готовый сервис.

Когда Телега не была заблокирована в РФ, все было намного проще, можно было просто запустить бот на домашнем ПК.

Хорошо, как тогда организатору провести игру через бота?

Все просто — можно скачать свежую версию бота канале вместе с инструкцией  и запустить игру. Если вдруг будет не понятно, то пишите в личку.

И самое интересное…

А теперь предлагаем вам пройти по ссылке и потестить бота — в него загружена демонстрационная игра — код входа demo.

На каждом уровне сектор с описанием кодов — в стартовой заглушке говорится, что если ввести «коды» на любом уровне, появится подсказка с кратким описанием полевого задания и списком кодов.

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

Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *