🎲 Crowd-Control Hero, когда толпа управляет героем
Давно ничего не постил, конец года выдался горячим)
Решил сегодня покопаться в закромах и нашёл один проект: идея пришла ещё полгода назад, руки дошли раньше, а рассказываю только сейчас.
Что ж в этот раз необычный проект, как обычно с LLM под капотом, куда без него)
Crowd-Control Hero интерактивная текстовая RPG в Telegram, где толпа управляет героем.
Как это работает:
Начинаешь или вступаешь в игру → видишь сцену с описанием ситуации → голосуешь за один из вариантов действий. Когда таймер истекает, определяется победивший вариант, бросается d20, и результат влияет на последствия: от критического успеха до катастрофы.
Причём можно играть не только в одиночку, а компанией, обсуждая попутно в специальной тг-группе, где автоматом создаются треды под каждую игру.
15 сеттингов на выбор: от классического фэнтези и киберпанка до Лавкрафтианского прибрежного городка и Феодальной Японии с ёкаями. У каждого свои архетипы героев, локации и таблицы лута.
🔧 Немного технички:
Архитектура: два процесса на общей SQLite (с WAL):
FastAPI: API + статика Mini App, логика игры, планировщик
aiogram3: бот для тредов в супергруппе и логирования обсуждений
LLM-движок: GPT-4o-mini генерирует сцены, эпилоги и варианты действий. Всё через structured output в JSON. Есть локальный fallback на случай ошибок API.
Механика кубика: d20 → модификатор [-3..+5] + тон.
Тон влияет на исход: шанс лута, множитель урона, вероятность потери предметов.
Система исходов: базовый d100 + бонусы от предметов/эффектов/d20. Сложность масштабируется из акта в акт. Бросок кубика определяет HP-дельту, лут, статус-эффекты.
SSE для real-time обновлений состояния, чтобы фронт не дёргал API каждую секунду.
Трёхактная структура: Вступление → Середина → Кульминация. Переходы по флагам сюжета + счётчику сцен. В финале открываются окна победы или поражения (тут как сыграете).
Фичи:
✓ Инвентарь с категориями и защитой новых предметов от потери
✓ Статус-эффекты с длительностью (воодушевление, раны, царапины)
✓ Прогресс цели 0-100%
✓ История игр с эпилогами
✓ Форумные темы для обсуждения в Telegram
Короче, это такой эксперимент на стыке интерактивки, мини-аппа и партий в стиле DnD, где в роли game-мастера выступает LLM.
В планах, если звёзды сойдутся как нужно, генерить картинки под каждую игру и фоновую музыку.
Потестить можно тут: @crowd_control_hero_bot
#gamedev #telegram #python #llm #sideproject
Post #261
257

- 👍 3
- 🔥 3