StoryGopher — это современный кроссплатформенный движок для создания и воспроизведения текстовых RPG квестов.
Главная особенность движка — Hybrid Rendering Architecture. Один и тот же код сценария и логики работает одновременно в двух режимах:
- GUI (Desktop): Красивое оконное приложение с поддержкой мыши, инвентаря и звуков (на базе Wails/React).
- TUI (Terminal): Олдскульный консольный интерфейс для игры через терминал или SSH (на базе Bubbletea).
- Hot Reload (Горячая перезагрузка): Изменяйте файл сюжета
story.yamlво время игры, и изменения мгновенно применятся без перезапуска. - Гибкий DSL: Сценарии пишутся на простом YAML с поддержкой Markdown (жирный текст, курсив).
- Скриптовый движок: Поддержка математики (
health - 10), условий (gold > 50) и мутаций состояния. - Система инвентаря: Полноценная работа с предметами (добавление, удаление, проверка наличия).
- Аудио: Воспроизведение звуковых эффектов при событиях.
- Сохранения: Система Save/Load (JSON сериализация).
- Core: Go 1.25.1+
- Logic:
expr-lang/expr(Expression evaluation) - GUI: Wails v2 + React + Vite
- TUI: Bubbletea + Lipgloss
- Data: YAML
- Go 1.18+
- Node.js 16+
- Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
Этот режим поддерживает Hot Reload и инструменты разработчика.
wails devgo run cmd/tui/main.goСоздаст оптимизированный файл в папке build/bin.
wails buildНе забудьте положить файл story.yaml рядом с созданным .exe!