Розробка AI-системи для генерації ігрових діалогів і квестів
Нарив — один з останніх бастіонів, де розробники ігор не застосовували автоматизацію. Генеративний AI фундаментально змінює це: не замінюючи сценаристів, а даючи їм інструмент масштабування. Система, яку ми будуємо, генерує контекстно-пов'язані діалоги та процедурні квести, зберігаючи голос персонажів і світовий лор.
Архітектура системи
Ядро — дообучена LLM (LLaMA 3 70B або Mistral Large) з RAG-компонентом для доступу до бази знань ігрового світу:
Knowledge Base шар:
- Векторне сховище (Chroma/Qdrant) з описами персонажів, фракцій, локацій, передісторій
- Graph-база (Neo4j) для відносин між NPC, залежностей квестів, прапорців прохідження
- Система стану світу — ігрові змінні, що впливають на генерацію
Generation шар:
- Fine-tuned LLM з LoRA-адаптером на прикладах діалогів з гри (мінімум 10K прикладів)
- Constrained decoding для дотримання формату (JSON з гілками діалогу, умовами, тригерами)
- Character Voice Model — окремий адаптер на кожного ключового персонажа
Orchestration шар:
- LangGraph для управління багатокроковою генерацією квестів
- Валідатор наративної консистентності (перевірка протиріч з базою знань)
- Integration bridge для Unreal Engine (через REST API або UE Python)
Типи генерованого контенту
NPC діалоги:
- Репліки з розгалуженням (підтримка форматів Twine/Ink/Yarn Spinner)
- Контекстні реакції на дії гравця (вбивство NPC, вибір фракції, прогрес квесту)
- Фрази на очікуванні, ambient-розмови між NPC
Квести:
- Базова структура: мета, ланцюг завдань, награди, умови провалу
- Випадкові побічні квести з урахуванням поточного регіону та рівня персонажа
- Процедурні підземелля-завдання з динамічними описами
Конвеєр розробки
Тижні 1–4: Збір та розмітка існуючого наративного контенту. Побудова Knowledge Graph світу гри. Налаштування векторного індексу.
Тижні 5–9: Fine-tuning базової LLM на корпусі діалогів. Розробка системи промптів з ланцюгом міркувань (Chain-of-Thought) для логіки квестів. Перші ітерації з командою оповідачів.
Тижні 10–14: Інтеграція з движком. Налаштування real-time генерації (цільова латентність — до 2 секунд на реплику). Впровадження кешування для повторюваних контекстів.
Тижні 15–16: QA-тестування на предмет наративних протиріч, токсичного контенту, виходу персонажа з образу.
Метрики якості
| Метрика | Цільове значення |
|---|---|
| Character Voice Consistency (оцінка сценаристів) | >4.2/5 |
| Lore Contradiction Rate | <3% |
| Player Engagement (час на діалог) | +15% до baseline |
| Генерація унікального квесту | <500 мс (з кешем) |
| Повторюваність фраз (n-gram overlap) | <8% |
Формати експорту
Нативна підтримка Twine (JSON), Ink (.ink), Yarn Spinner, Unreal Engine Dialogue Graph, FountainHead. Користувацькі формати реалізуються через адаптер за 3–5 днів.
Human-in-the-loop
Система пропонує, люди фіналізують. Вбудований редакторський інтерфейс (веб-додаток) дозволяє оповідачам приймати/відхиляти/редагувати генерації, зберігаючи feedback loop для покращення моделі. Після 2–3 ітерацій відсоток прийнятих генерацій без правок досягає 70–80%.
Масштабування
При підключенні декількох проектів — Multi-LoRA сервінг: один базовий інстанс LLM, декілька LoRA-адаптерів переключаються по project_id. Економія інфраструктурних витрат — 60–70% порівняно з окремими моделями.







