dairy_diary

毎日書く日記

日記

 夕飯はにんじんしりしりーを作った。ニンジンは栄養価高そうだからよく買うけど、単体で余ると味は別に好きじゃないんだよなという気持ちになる。ただ、しりしりーの形にするとニンジンが塊状のときの臭みが誤魔化されていい感じ。

 夜はゲームを作っていた。最近プログラマの友人2人がゲームを作って遊ばせてくれているので、私も何かをと思い。3Dの何かを作りたいなと思い、技術スタックをGeminiに聞いたら、JSの有名なライブラリか、ゲームエンジンを使うといいと教えてくれたので、今日はライブラリの方を使うことにした。Three.jsというライブラリにした。Claude Codeにその旨だけ伝えたら一発ですぐに立方体が球を捕食するゲームを作ってくれた。50行くらいのHTMLと300行くらいのjsを出してくれて普通にブラウザで遊べる3Dのゲームができた。

 アイデアが特にないので、ひとまず、QuizKnockが昔出していたWallPrimeを目指すことにした。壁に向かって走って、ぶつかったら問題を解くという方式。これも2回くらいエラーを修正したらすぐできた。最初に出してくれたのはただの足し算の問題だったが、blocksみたいなパズルを出すことに決めた。その後、そのパズルの問題を正しく考えるのに苦戦していたので、ここで初めて私が頭を捻った。プリセットの問題を出すのではなく、その場で動的に生成させるようにした。アルゴリズムの中身としては、長方形のグリッドを網羅する経路を見つけて、その経路から適当な長さを切り出してピースにするというもの。説明すると単純だな。実際にClaude Codeに投げる時は深さ優先探索だとかは言ってたけど。Claude Codeが苦手そうな思考にハマりそうになった時に、すぐに自分でアルゴリズムを考えようとしたのは偉かったな。まあ方針の説明をしただけでコードはまだ1行も読んでないから、今なぜか飛び地のピースを出してきている理由はわからないけど。

 その後は発想を自然に膨らませて、3Dのパズルを作ろうとした。ちょうどウボンゴみたいなやつ。ただ、これは操作感がぜんぜん改善しなかったのと、あとシンプルに問題がむずかしすぎるので断念かな。軽い気持ちで333のパズルを出力させてみたら絶対解けない難易度になってすぐに諦めた。

 明日はゲームエンジンの方で3Dゲームの制作を試してみようかな。Unityを入れてみたが、PCの容量がカツカツで、まともに動くとは思えない。ストレージもだし、メモリもたぶんダメだろう。

 そういえば会社のPCでGeoGuessrしてみたら動作が軽快すぎて驚いた。やはりこのPCはすぐにでも買い替えたい。