GitHub представила экспериментальный проект GitHub Dungeons — терминальную игру в жанре roguelike, которая создает подземелье прямо из кода репозитория. Игра работает как расширение для GitHub CLI и была создана в рамках GitHub Copilot CLI Challenge с активным использованием возможностей Copilot.
GitHub Dungeons написана на языке Go и генерирует карту подземелья из текущего репозитория: каждый коммит формирует новый вариант уровней. Комнаты, коридоры и противники строятся на основе структуры кода, а карта отображается в терминале. Игрок управляет персонажем с помощью клавиш WASD, стрелок или Vim-управления, сражается с «багами» и ищет выход.
Игра опирается на процедурную генерацию уровней, где содержимое создается алгоритмически вместо ручного проектирования. В GitHub Dungeons используется метод Binary Space Partitioning (BSP): пространство подземелья сначала задается как один большой прямоугольник, затем рекурсивно делится на части, пока регионы не станут слишком маленькими для комнат. Каждый конечный регион становится комнатой с немного случайным размером и позицией, после чего комнаты соединяются коридорами по дереву разбиений. Такой подход помогает избежать как хаотичного расположения элементов, так и слишком жесткой сетки.
Сидом для генерации служит SHA последнего коммита, поэтому один и тот же код дает стабильный макет подземелья, а изменения в репозитории меняют уровни. Это связывает механику roguelike с реальной историей изменений проекта.
Автор проекта активно использовал GitHub Copilot CLI, особенно команду /delegate, которая передает задачу облачному агенту Copilot. Он описывал желаемое поведение на английском языке, запускал выполнение и получал результат в виде pull request. Такой подход применялся, например, для настройки постепенного усложнения уровней (больше противников и ресурсов на последующих этажах), добавления «чит-кодов» на бессмертие, а также создания «dungeon scribe» — вспомогательного агента, генерирующего документацию и ASCII-схемы механики генерации.
По словам разработчика, использование Copilot и схемы «описать функцию — делегировать — проверить pull request» позволило сосредоточиться на игровом опыте и дизайне механик, а не на шаблонном коде и обработке редких случаев. Copilot взял на себя значительную часть реализации, включая алгоритмы BSP и описание монстров и движения в специальном YAML-файле.
В игре реализованы дополнительные элементы: «туман войны» с ограниченной видимостью, автоатака, отслеживание статистики (убитые враги, пройденные уровни) и скрытые «пасхалки». Цель игрока — пройти пять уровней, находя потайную дверь и сражаясь с врагами.
Отдельно описан экстремальный режим с pre-commit-хуком: при неудачном прохождении игра может удалять несохраненные изменения в репозитории. GitHub в редакторском комментарии прямо предупреждает об опасности такой настройки и подчеркивает, что не несет ответственности за потерю данных.
Проект, начавшийся как эксперимент, в итоге изменил взгляд автора на GitHub Copilot CLI и показал, как агентные сценарии можно использовать для быстрой проверки идей, автоматизации рутинной логики и построения игровых прототипов вокруг реальных кодовых баз.
Источник: блог GitHub.






















