AI Embrace — инновационное игровое приложение, разработанное на Unity, которое предлагает пользователям уникальный опыт взаимодействия с искусственным интеллектом через диалоговую систему. Проект представляет собой симулятор общения с AI-персонажами, обладающими собственной личностью, памятью и эмоциональным интеллектом.
Система использует продвинутые технологии машинного обучения для создания естественных диалогов, где AI-персонажи способны запоминать прошлые беседы, адаптировать свое поведение в зависимости от уровня отношений с пользователем и демонстрировать эмоциональные реакции.
- Контекстная память: AI помнит предыдущие разговоры и использует их для формирования более осмысленных ответов
- Динамическое поведение: Персонажи адаптируют свой стиль общения в зависимости от уровня близости с игроком
- Эмоциональный интеллект: Система отслеживания и отображения эмоций персонажей
- Уникальные личности: Каждый AI-персонаж обладает собственным характером, описанным в ScriptableObjects
- Персонализация: Возможность настройки внешнего вида персонажей (одежда, эмоции)
- Прогрессия отношений: Динамическая система уровней притяжения и развития отношений
- Облачное хранилище: Синхронизация игровых данных через серверный API
- Аутентификация: Система регистрации и авторизации пользователей
- Локальное сохранение: Надежная система сохранения прогресса игры
- Unity 2022.3.3f1 — основной игровой движок для разработки кроссплатформенного приложения
- C# (.NET) — язык программирования для всей игровой логики
- Unity UI Toolkit — современная система создания пользовательских интерфейсов
- Text Embeddings — векторное представление текста для анализа семантического сходства
- Token Management — система подсчета и управления токенами для оптимизации запросов к AI
- Conversational Memory System — продвинутая система управления памятью диалогов с учетом:
- Актуальности (recency)
- Важности (importance)
- Контекстуальной релевантности (context)
- UnityWebRequest — для асинхронной коммуникации с backend API
- REST API — архитектура для обмена данными с сервером
- JSON сериализация — формат передачи данных
- Newtonsoft.Json (Json.NET) — продвинутая библиотека для работы с JSON
- TextMesh Pro — высококачественный рендеринг текста
- DOTween — библиотека для создания плавных анимаций и переходов
- Simple Scroll-Snap — компонент для создания удобных прокручиваемых интерфейсов
- Unity Visual Scripting
- Unity Timeline
- Unity Test Framework
- Unity Collaboration Tools
Assets/
├── Scripts/ # Основная игровая логика
│ ├── AI/ # Система искусственного интеллекта
│ ├── SaveLoadGameData/ # Управление сохранениями
│ └── ScriptableObjects/ # Конфигурационные объекты
├── Scenes/ # Игровые сцены
├── Prefabs/ # Переиспользуемые игровые объекты
├── Resources/ # Динамически загружаемые ресурсы
├── Sprites/ # Графические ресурсы
├── Sounds/ # Аудио файлы
└── Fonts/ # Шрифты
Центральный класс, представляющий AI-персонажа с его характеристиками и личными данными. Управляет генерацией промптов для языковой модели с учетом:
- Системных правил поведения
- Личности персонажа
- Воспоминаний о событиях
- Уровня отношений с игроком
- Истории диалогов
Интеллектуальная система управления воспоминаниями, которая:
- Оценивает релевантность каждого воспоминания на основе трех факторов
- Использует векторные embeddings для определения семантической близости
- Оптимизирует выборку воспоминаний в рамках лимита токенов
Координирует процесс общения между пользователем и AI:
- Управление историей чата
- Отрисовка сообщений в интерфейсе
- Обработка ответов от AI
- Интеграция с системой эмоций
Обеспечивает взаимодействие с backend сервисами:
- Отправка промптов к языковой модели
- Генерация text embeddings
- Расчет семантического сходства текстов
- Подсчет токенов
- Аутентификация пользователей
- Синхронизация игровых данных
Проект использует сложную систему генерации промптов, которая учитывает:
- Ограничения по количеству токенов для входного контекста и ответа модели
- Динамическую приоритизацию компонентов промпта
- Кэширование токенизированных фрагментов
- Ленивая загрузка воспоминаний на основе их релевантности
- Асинхронная обработка запросов к AI
- Эффективное управление историей чата
Проект настроен для развертывания на:
- Windows (Standalone)
- WebGL
- Android
- Unity 2022.3.3f1 или выше
- .NET Framework
- Интернет-соединение для работы с AI API
- Visual Studio 2019/2022 или JetBrains Rider
- Git для контроля версий
- Unity Hub для управления версиями Unity
- Клонируйте репозиторий
- Откройте проект в Unity 2022.3.3f1
- Дождитесь импорта всех зависимостей
- Настройте endpoint для backend API в ClientAPI
- Откройте сцену
GameScene.unityдля начала работы
AI система построена модульно и включает:
- AICharacterData — статические данные персонажа (личность, описание)
- AICharacterPersonalData — динамические данные (история чата, уровень отношений)
- ChatHistory — управление историей диалогов с токенизацией
- ConversationalBehavior — правила поведения на основе уровня отношений
- Защищенная аутентификация пользователей через токены
- Шифрованная передача данных
- Валидация входных данных на клиенте и сервере
Проект использует следующие сторонние компоненты:
- DOTween — Demigiant
- Json.NET — Newtonsoft
- TextMesh Pro — Unity Technologies
- Simple Scroll-Snap — см. Assets/Simple Scroll-Snap/LICENSE.md
AI Embrace — это демонстрация возможностей интеграции современных технологий искусственного интеллекта в интерактивные приложения, создавая уникальный пользовательский опыт через естественное и эмоционально окрашенное общение с виртуальными персонажами.