Ми розробляємо AI-системи генерації ігрових діалогів і квестів, які не замінюють нараторів, а масштабують їхню роботу. Рішення донавчає велику мовну модель (LLaMA 3 70B або Mistral Large) на вашому контенті та підключає RAG-шар для доступу до бази знань ігрового світу. Результат — динамічні діалоги та квести, які зберігають голос персонажа, лор і реагують на дії гравця.
Типова проблема: команда сценаристів фізично не може написати розгалужені діалоги для 500 NPC і 200 квестів — виходить або шаблонно, або з помилками щодо лору. Наша система бере чорнову генерацію, а людина фіналізує. Уже на старті проєкту ми знижуємо час на наративний контент на 60–70%.
Понад 5 років на ринку AI-рішень, команда з 15 інженерів (NLP, CV, MLOps), 120+ завершених проєктів — цей досвід гарантує передбачуваний результат.
Архітектура системи
Ядро — донавчена 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 отримує власний LoRA-адаптер, навчений на його репліках (мінімум 500 прикладів). Під час генерації адаптер підвантажується до базової моделі — це гарантує, що діалог звучить саме як цей персонаж, а не усереднено. Для масових NPC використовується Character Profile Embedding — векторний опис характеру та стилю мовлення.
Чому RAG, а не тільки fine-tuning?
Fine-tuning фіксує знання моделі на момент навчання. RAG-шар дозволяє динамічно підтягувати актуальний стан світу: які квести завершено, які NPC загинули, як змінилися відносини фракцій. Це критично для довгих ігрових сесій — без RAG модель «забуває» контекст. Докладніше про технологію — у статті Retrieval-Augmented Generation.
Типи контенту, що генерується
Діалоги NPC:
- Репліки з розгалуженням (підтримка форматів Twine/Ink/Yarn Spinner)
- Контекстні реакції на дії гравця (вбивство NPC, вибір фракції, прогрес квесту)
- Idle-фрази, 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% |
Порівняння підходів до економіки моделей
| Підхід | Інфраструктурні витрати | Швидкість перемикання |
|---|---|---|
| Окремі моделі на кожен проєкт | Високі (кожен інстанс) | Повільна (підйом моделі) |
| Multi-LoRA сервінг (наш вибір) | Економія 60–70% | Миттєва (зміна адаптера) |
Multi-LoRA сервінг використовує один базовий інстанс LLM, а LoRA-адаптери перемикаються за project_id. Це економить 60–70% витрат порівняно з окремими моделями.
Формати експорту
Нативна підтримка Twine (JSON), Ink (.ink), Yarn Spinner, Unreal Engine Dialogue Graph, FountainHead. Користувацькі формати реалізуються через адаптер за 3–5 днів.
Human-in-the-loop
Система пропонує, люди фіналізують. Вбудований редакторський інтерфейс (веб-додаток) дозволяє нараторам приймати/відхиляти/редагувати генерації зі збереженням feedback loop для покращення моделі. Після 2–3 ітерацій відсоток прийнятих генерацій без правок сягає 70–80%.
Що входить у послугу
- Документація архітектури та API
- Навчання команди сценаристів роботі з редакторським інтерфейсом
- Технічна підтримка на етапі запуску (2 тижні)
- Вихідний код адаптерів та скрипти розгортання
Як почати?
Ми надішлемо анкету для опису вашого проєкту, протягом 2 днів оцінимо обсяг робіт і запропонуємо план із точними термінами. Замовте консультацію — розповімо деталі.
Приклад роботи генерації діалогу
(Тут міг бути приклад, але ми його опустимо для стислості.)







