Dungeons & Desktops: Building a procedurally generated roguelike with GitHub Copilot CLI
개요
GitHub Copilot CLI를 활용하여 일반 코드베이스를 절차적으로 생성된 로그라이크 던전으로 변환하는 GitHub Dungeons 확장 프로그램 개발 사례를 다룬다.
주요 내용
* GitHub Dungeons: GitHub CLI 확장 프로그램으로, 현재 저장소의 코드를 기반으로 터미널에서 플레이 가능한 로그라이크 던전을 생성한다.
* 절차적 생성 (Procedural Generation): 손으로 디자인하는 대신 알고리즘을 사용하여 레벨, 맵, 적 등을 런타임에 생성하며, 각 플레이마다 다른 경험을 제공한다.
* 코드베이스와의 연동: 던전 레이아웃은 코드베이스의 최신 커밋 SHA를 시드로 하여 결정된다. 동일한 코드는 동일한 던전을 생성하며, 코드 변경에 따라 던전이 진화한다.
* Binary Space Partitioning (BSP): 큰 공간을 재귀적으로 분할하여 방을 만들고, 이를 복도로 연결하는 방식으로 구조화되고 플레이 가능한 던전 맵을 생성한다. BSP는 무작위성과 구조 사이의 균형을 제공한다.
* GitHub Copilot CLI 활용: /delegate 명령을 사용하여 복잡한 작업(예: 레벨 난이도 조절, 치트 코드 추가, 문서 및 ASCII 아트 생성)을 Copilot에 위임하고, 생성된 Pull Request를 검토 및 수정하는 방식으로 개발 속도를 높였다.
* 개발 흐름 변화: Copilot을 통해 개발자는 구문 작성보다는 게임 플레이 경험과 핵심 메커니즘 설계에 더 집중할 수 있었다.
* 설치 및 플레이: gh extension install leereilly/gh-dungeons 명령으로 설치 후 gh dungeons 명령으로 실행하며, WASD, 화살표 키, Vim 키로 조작한다.
* 위험 기능 (Crazy Mode): 프리커밋 훅을 설정하여 던전을 클리어하지 못하면 변경 사항을 삭제하도록 하여 위험한 플레이를 경험할 수 있다.
시사점
GitHub Copilot CLI는 복잡한 절차적 생성 알고리즘 구현 및 게임 메커니즘 개발과 같은 기술적 도전을 빠르게 해결하고, 개발자가 창의적인 아이디어 구현에 집중할 수 있도록 지원하는 강력한 도구임을 보여준다.
댓글
GitHub Discussions