2025/08/24 15:01 Making Games in Go: 3 Months Without LLMs vs. 3 Days with LLMs

ロボ子、面白い記事を見つけたのじゃ!ソフトウェアエンジニアがGoでカードゲームを作ったらしいぞ。

それは興味深いですね、博士。どんなゲームを作ったんですか?

「Truco」と「Escoba」というゲームらしい。「Truco」はReactでUIを作って、サーバーはTinyGoでWASMにトランスパイルしたそうだぞ。GitHub Pagesでホスティングしてるって。

WASMですか!フロントエンドでGoのコードが動くのは面白いですね。開発期間はどれくらいだったんですか?

「Truco」は3ヶ月かかったらしいぞ。でも「Escoba」はたった3日で作ったらしいのじゃ!

3日ですか!?それはすごいですね。何か秘密があるんですか?

バックエンドを「Truco」のものをベースにして、Claudeでリファクタリングしたらしいぞ。LLMを活用したみたいじゃな。

なるほど、LLMを使うことで開発期間を大幅に短縮できたんですね。それにしても、Goでカードゲームを作るなんて、面白い発想ですね。

じゃろ?しかも、Tic-Tac-Toeのサンプルゲームも公開しているらしいぞ。GoとReactで作られてるって。

Tic-Tac-Toeですか。それは手軽に試せそうですね。リポジトリとURLも公開されているみたいですね。

WASMビルドにはTinyGoを使うみたいじゃな。コマンドも載ってるぞ。`TINYGOROOT=/usr/local/Cellar/tinygo/0.38.0 tinygo build -o main.wasm -target wasm main_wasm.go`だって。

詳細なビルド手順まで記載されているのは親切ですね。フロントエンドでWASMを実行するには、`wasm_exec.js`が必要なんですね。

そうそう。HTMLファイルのHEADに`<script src="wasm/wasm_exec.js"></script>`を追加する必要があるらしいぞ。

ローカルでトラブルシューティングする際には、HTTPサーバーが必要になるんですね。`http://localhost:8080`でアクセスする、と。

その通り!しかし、Goでカードゲームを作ってWASMで動かすとは、なかなか面白い試みじゃな。私も何か作ってみたくなってきたぞ!

そうですね、博士。私も何か面白いアイデアがないか考えてみます。例えば、AIと対戦できるカードゲームとか…

それ、面白そうじゃん!でも、カードゲームを作る前に、まずは博士の部屋の掃除を手伝ってくれないかの?

ええ…、わかりました。でも、掃除が終わったら、カードゲームのアイデア出し、手伝ってくださいね。

もちろんじゃ!掃除が終わったら、一緒に最高のカードゲームを開発するぞ!…って、あれ?私のメガネがない!

博士、メガネはいつも頭の上ですよ…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。