Релиз модели27 июля 2026 г., 11:45 МСК🤖 Auto

Claude of Duty: ИИ создал FPS-шутер одним промптом

Проект Claude of Duty демонстрирует, как флот ИИ-агентов написал 55 000 строк кода для браузерного шутера на Three.js без использования внешних ассетов.

Баннер новости 4448

Масштаб и архитектура проекта

Разработчики из сообщества GitHub представили Claude of Duty — первый от первого лица шутер, работающий в браузере. Проект состоит из 55 000 строк кода, распределенных по 11 подсистемам. Ключевая особенность: полное отсутствие внешних ассетов. Ни текстур, ни 3D-моделей, ни звуковых файлов. Все ресурсы (геометрия, материалы, звуки) генерируются процедурно в момент загрузки с помощью WebGL2 и Three.js r180.

Игра управляется командой ИИ-агентов, работающих под оркестровкой. Архитектура строго регламентирована файлом ARCHITECTURE.md, который определяет интерфейсы подсистем, зоны ответственности и общий словарь событий. Управление стандартное для жанра: WASD, мышь, стрельба, приседание, уклонение и спринт.

Технические характеристики подсистем

Проект включает сложный графический и физический движки, реализованные с нуля. Ниже приведены ключевые компоненты, сгенерированные ИИ:

Подсистема Ключевые возможности
Рендеринг HDR-пайплайн, каскадные карты теней (PCSS), GTAO, TAA, GPU-экспозиция, процедурный LUT
Материалы GPU-генерация 19 типов поверхностей (бетон, металл, дерево), параллакс-окклюзия, трипланарная проекция
Физика Собственная реализация: BVH (29k трисов за 22 мс), swept-capsule контроллер, PBD-рагдоллы, пробитие пуль
AI Навигационные сетки, поведение укрытий, восприятие игрока, рагдолл-смерти
Аудио Web Audio API: синтез выстрелов, HRTF-пространственное звучание, реверберация без файлов

Проблема производительности и оптимизация

Изначально проект столкнулся с критическими проблемами производительности. Бенчмарки с неподвижной камерой показывали 94 FPS, но в реальном геймплее частота падала до 12–17 FPS из-за длительных задержек (до 1236 мс), вызванных ленивой компиляцией более 34 WebGL-программ прямо во время кадра.

Разработчики внедрили инструмент profile.mjs для точного анализа хитчей и baseline.mjs для воспроизводимых тестов. Оптимизация включала предварительную загрузку шейдеров (pre-warm). Результат:

Метрика До оптимизации После оптимизации
FPS (p50) 12–17 28–30
FPS (p99) 4–9 14–17
Худший кадр 728–1236 мс 66–82 мс
Время загрузки шейдеров ~9–12 с 3.7–4.6 с

Честная оценка качества

Целью проекта было создание аналога Call of Duty. ИИ-критики оценили результат по шкале от 1 до 10. Средний балл вырос с 3.59 до 5.05. Однако в слепом тестировании все критики однозначно выбирали настоящий Call of Duty. Основные недостатки:

  • Руки и оружие: «Блочные» пальцы, не convincing держащие оружие. Проблема с освещением viewmodel (избыточная яркость).
  • Материалы: На близком расстоянии текстуры выглядят как процедурный шум, а не фотография.
  • Персонажи: Враги напоминают манекены на расстоянии.
  • Освещение: Отсутствие настоящего глобального освещения (GI), только аппроксимация.

Инсайты о работе ИИ-агентов

Эксперимент выявил важность последовательной работы. Параллельная обработка 11 директорий шестью агентами привела к деградации качества (рост дефектов с 60 до 66). Последовательная оптимизация с одним владельцем на каждую связанную систему улучшила оценку на +1.00 балла и сократила дефекты до 26. Также выяснилось, что ИИ-агенты могут ошибаться в интерпретации задач: агенты «улучшали» оружие, делая его темнее, чтобы убрать блики, но это убивало диффузную составляющую. Исправление потребовало обратного действия — увеличения яркости, что противоречило первоначальной инструкции.

Источник: Github ↗