ПЛАТФОРМА · РЕДАКТОРЫ · AI-ИНСТРУМЕНТЫ
Tabletop Forge: редактор RPG-миров и действия AI-агента через MCP
Разработчик платформы и автор архитектуры
Создаю браузерный конструктор настольных RPG. Автор описывает данные, правила и интерфейсы, ведущий запускает отдельную игру, а игроки взаимодействуют с миром в рамках выданных полномочий. Та же модель действий доступна AI-агенту через MCP.
- 01Браузер или MCP
- 02Проверка прав и параметров
- 03Игровой runtime
- 04Результат и журнал
Что я сделал
Правила как данные и программы
В платформе есть компоненты с динамическими схемами, классы, визуальные и JavaScript-системы. Редактор позволяет работать с определениями мира и строить интерфейсы к ним.
Разделение проекта и игры
Описание мира, версии пакетов и игровые экземпляры имеют разные границы. Состояние миров хранится в LMDB; аккаунты, сессии и членство — в PostgreSQL.
Агент действует через правила игры
MCP-инструменты читают состояние, проверяют доступность действий и вызывают игровой runtime. Сервер выполняет проверки, броски и запись истории. Повтор действия с тем же actionId возвращает сохранённый результат.
Права на сервере
Подключение агента через OAuth не даёт ему дополнительных ролей. Инструменты проверяют участие ведущего и разрешённые операции, как и браузерный интерфейс.
Результат
- Опубликован браузерный редактор по адресу rpg.resation.ru.
- Реализованы редакторы данных и систем, игровые экземпляры и журнал действий.
- MCP предоставляет агенту инструменты чтения, проверки и выполнения игровых действий.
Платформа развивается поэтапно. Описанные механизмы не означают готовой поддержки всех настольных систем или проверки каждого игрового сценария. Для доступа к своим проектам и играм требуется аккаунт.
Где пригодится этот опыт
Опыт применим к конструкторам, внутренним инструментам и AI-автоматизации: агенту нужны понятные действия, актуальное состояние и серверная проверка полномочий. Редактирование описания процесса и его реальное выполнение требуют разных границ.
Проект и автор
Разбор написал Павел Степанов. Опубликовано .