/yolo という Copilot CLI のコマンドも登場。名前からしてかなり攻めている
GitHub Blog の記事 「Dungeons & Desktops: Building a procedurally generated roguelike with GitHub Copilot CLI」 は、GitHub のスタッフが GitHub Copilot CLI を使って、任意のコードベースを roguelike のダンジョンに変える拡張機能を作った話です。

率直に言うと、最初に聞いた印象は「何それ、めちゃくちゃ面白いな」です。
普通、コードベースはレビューしたり、検索したり、ビルドしたりするものですが、この人はそれを探索して倒して進むゲームにしてしまった。発想がかなり飛んでいて、でもちゃんと技術的な筋も通っているのが良いです。

記事ではまず、roguelike について説明しています。

roguelike は、1980年代のゲーム Rogue に由来するジャンルで、ざっくり言うと次の特徴があります。

この「毎回違う」「死んだら終わり」という感じが、なんだか開発現場の緊張感にも少し似ています。
「ひとつミスると終わる」感じは、コマンドライン上の操作とも相性がいいのかもしれません。

この記事の中心は、GitHub Dungeons という拡張機能です。

これは、今いるリポジトリを読み取り、その構造をもとにダンジョンを生成するゲームです。
プレイヤーはターミナルでダンジョンを歩き回り、bug(バグ) と戦い、出口を目指します。

しかも、ただの一発ネタではなく、commit が変わるとダンジョンの構造も変わるそうです。
つまり、コードの変更がそのままゲームの地形に反映されるわけです。これはかなり好きです。コードレビューが終わるたびに「お、ダンジョンの景色が変わったな」と思えるなら、少しだけ開発が楽しくなりそうです。

記事では procedural generation(procgen とも呼ばれる)についても説明しています。
これは日本語でいうと、「人が全部作るのではなく、ルールに従って自動で内容を作る仕組み」です。

ゲームでよくある例はこんな感じです。

つまり、
1つのダンジョンを作るのではなく、ダンジョンを作る仕組みを作る
という考え方です。

これは roguelike が何度も遊べる理由でもあります。
毎回新しい地形が出るので、慣れたはずのゲームでも油断できない。そこが醍醐味なんですよね。個人的には、この「自動生成なのにちゃんと遊べる」というバランスが、技術としてもデザインとしてもかなり美しいと思います。

記事によると、このプロジェクトは GitHub Copilot CLI Challenge から生まれました。
著者は「nerd-sniped into the challenge」と表現していて、要するに知的好奇心を刺激されて、つい深みにハマったという感じです。こういうノリ、開発者あるあるでちょっと親近感があります。

実装には Go が使われています。
著者は「普段は Go をあまり使わない」と書いていますが、Copilot を使うことで、構文を全部暗記していなくても、挙動の設計に集中できたと述べています。
ここはかなり重要なポイントだと思います。
AI補助ツールの強みって、「コードを書くのを完全に代わりにやる」ことよりも、知らない言語や慣れていない領域でも、アイデアを形にするハードルを下げるところにあるんですよね。
この事例はまさにそれを示していると感じました。

/yolo が出てくるのが妙におもしろい
記事の中で印象的なのが、Copilot CLI のコマンド /yolo です。
これは /allow-all のエイリアスで、名前の通り「細かい確認を飛ばして一気に進める」系の操作です。
記事では、roguelike がpermadeath(死んだら最初からやり直し)を特徴にしていることと結びつけて、このコマンドの名前を紹介しています。
このあたり、ちょっとしたユーモアが効いていて好きです。
「一度きりの人生なら、確認なんか気にせず突っ走れ」みたいな雑さが、ゲームの世界観と妙に噛み合っています。

もちろん、実際の開発で何でも /yolo で進めるのはおすすめしません。
でも、デモや実験の文脈では、この軽妙さがプロジェクトの楽しさを引き立てています。
この話は、単なる「ゲームを作りました」ではありません。
むしろ、

という、かなりクリエイティブな実験だと思います。

特に面白いのは、コードベースを“読む”のではなく“冒険する”対象に変えているところです。
ソフトウェア開発って、どうしても「正しく動くか」「壊れてないか」に目が行きがちですが、こういう遊び心が入ると、同じ素材でもまったく違う見え方になります。

個人的には、こういう「実用性ゼロに見えて、実は発想の幅を広げるタイプの実験」はかなり好きです。
実務で毎日使うかというと、たぶん使わないでしょう。正直に言えば、普通のプロジェクトにこのまま入れるものではないと思います。
でも、AIツールの可能性を“仕事の効率化”だけに閉じ込めないという意味で、とても価値がある試みです。
それに、コードベースをダンジョンにするというのは、比喩としてもわかりやすい。
大きなリポジトリって、慣れていない人から見ると本当に迷宮ですからね。
「どこに何があるかわからない」「謎の依存関係がいる」「バグが潜んでいる」——もう十分ダンジョンです。そこにゲーム化を重ねるのは、かなりしっくりきます。
GitHub Blog のこの記事は、GitHub Copilot CLI を使ってコードベースを roguelike ダンジョンに変える拡張機能を作った、遊び心たっぷりの技術実験を紹介しています。
実用性だけでは測れない、でも確かに開発の未来をちょっと広げるような話でした。
こういう「なんだそれ」と思わせつつ、読んだあとに妙に納得してしまう記事、私はかなり好きです。
参考: Dungeons & Desktops: Building a procedurally generated roguelike with GitHub Copilot CLI