Этот канал посвящается техническим вопросам квест-бота @Cat_game_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Сейчас работаю над тем, чтобы можно было квесты подгружать в бота динамически. Т.е. всё это время до этого квест писался в виде кода. Это было вполне удобно и читаемо, к примеру один из стандартных узлов квеста:
В таком формате было удобно работать долгое время, но из минусов - необходимость перезагружать бота на каждое исправление. И это может быть прям неприятно, хочешь исправить опечатку, а не можешь, множество игроков проходит квест в данный момент, придётся ждать. Опять же надо быть всегда рядом с компьютером, и на ходу поправить\дополнить\запустить невозможно. Ну и многословность тоже не всегда удобна. Поэтому после некоторых размышлений, я решил разработать формат, который было бы удобно и читать, писать и поддерживать.
Это т же узел квеста но уже в формате конфигурации
private void balcony(ChooseContext ctx) {
messages(
"Ваш взор быстро бежит по серым окнам многоэтажек.",
"Котами тут даже и не пахнет.");
poll("Легкий дождь начинает перерастать в ливень.")
.choice("Вернуться в дом 🏙", this::closeWindow)
.choice("Закрыть глаза 😌", this::closeEyes)
.send();
}В таком формате было удобно работать долгое время, но из минусов - необходимость перезагружать бота на каждое исправление. И это может быть прям неприятно, хочешь исправить опечатку, а не можешь, множество игроков проходит квест в данный момент, придётся ждать. Опять же надо быть всегда рядом с компьютером, и на ходу поправить\дополнить\запустить невозможно. Ну и многословность тоже не всегда удобна. Поэтому после некоторых размышлений, я решил разработать формат, который было бы удобно и читать, писать и поддерживать.
balcony:
text:
- "Ваш взор быстро бежит по серым окнам многоэтажек."
- "Котами тут даже и не пахнет."
- "Легкий дождь начинает перерастать в ливень."
choices:
"Вернуться в дом 🏘": [ "close_window" ]
"Закрыть глаза 😌": [ "close_eyes" ]
Это т же узел квеста но уже в формате конфигурации
🔥2❤1