はじまりは突然に
Xで「よこぼの3Dカート」をポストしたときに、
「CraftNova」さんからお声がけいただいた。

https://www.craftnovagame.com/
CraftNovaはブラウザゲームのプラットフォームです。
AIで作成したあなたのゲームを世界に発信しましょう!
ほう。
何やら面白そうなサイトである。
ただし、CraftNovaには強烈な制約が存在することが判明した。
- html1ファイルのみで動作
- 1MB以下
つまり、
「なんでも盛ればいい」という開発スタイルは封印せねばならない。
これはもはや、
"縛りプレイ"ではなく"縛り実験"である。
ゲーム制作初心者🔰ながら、
当ラボの研究者としてはむしろ燃えてきた。
ということで、実験を開始した。
---
#研究成果
気の早い読者向けに成果を置いておこう。ぜひとも研究者レベルを教えてほしい。
https://www.craftnovagame.com/game/35
動画はこんな感じである。
---
① よこぼの3Dカートを2Dアレンジしてみる
まず最初に試したのは、
既存の「よこぼの3Dカート」の2D化である。
ChatGPTに相談しつつ、
ゲームイメージを生成してみた。

うむ。
それっぽい。
軽量2Dレースゲームとして成立しそうな雰囲気を確認した。
しかし問題が発生した。
このイメージをCodexに渡した結果、
完成したものがこちらである。

……。
なんというか、
「技術的には動いているが面白くない」という、
極めて説明が難しい事象を確認した。
その後も改良を継続した。

ただ、
ゲーム性については最後まで違和感が残った。
やはり、
低容量ブラウザゲームとレースゲームの相性には研究余地があるらしい。
ということで、
ひとまずレーシングゲーム実験は中断した。
研究継続案件である。
---
② パズルゲームをつくろう
次に目を付けたのがパズルゲームである。
低容量。
軽量化。
単純ルール。
ブラウザ適性。
これらを考えると、
かなり相性が良さそうに見えた。
参考にしたのはこちらの記事。
https://yokobo-ai-lab.vercel.app/posts/1d868e67-d4a2-4309-9f1b-5edb9f5f115a
そして、
このイメージをGPTに投げてみた。

生成された画像がこちら。

おお。
これはなかなか良い。
「AI研究所が暴走している感」を確認した。
ということで、
この画像をCodexたんへ投入し、
いつも通りゲーム生成実験を開始した。
最初の状態はこちら。

なるほど。
やはり、
画像アセットが不足すると、
ゲーム全体の空気感がかなり弱くなることが判明した。
そこで、
追加でパズルピース画像を生成した。

これが入るだけで、
急に「ゲームっぽさ」が出る。
かなり重要である。
最近の実験により、
「視覚的な完成イメージ」が生成速度に大きく影響することが判明している。
AIゲーム開発において、
画像生成は単なる装飾ではないらしい。
---
③ 色々と欲張る
BGMを追加する
私はゲームのBGMをかなり重要視している。
たとえ1MB制限があっても、
なんとか音を入れたかった。
そこで、
いつも通りComfyUIを使用し、
Stable AudioでBGM生成を実施した。

ただし、
これは完全にガチャである。
良好なBGMが出るまで、
かなりの試行回数を要求された。
さらに問題が発生した。
音声ファイルが重い。
普通に入れると300KB近く消費してしまう。
1MB制限環境では、
これは致命傷になりうる。
そのため、
- ogg化
- 超圧縮
- サンプリングレート削減
など、
かなり泥臭い軽量化を実施した。
最近の研究により、
「軽量化技術」そのものがゲーム開発能力の一部であることが判明しつつある。
なお、
軽量化についてはこちらの実験ログを参照されたい。
https://yokobo-ai-lab.vercel.app/posts/e7862082-5d7d-4b33-9002-9eeeb7313268
---
#研究成果
研究成果はこちら。ぜひともチャレンジして研究者レベルを教えてほしい。
https://www.craftnovagame.com/game/35
動画はこんな感じである。
---
研究報告
今回の実験では、
- AI画像生成
- Codexによる実装
- 軽量化
- 音声圧縮
- html単体構築
など、
かなり多くの技術要素を確認できた。
特に、
「AIで作る」だけではなく、
"制約の中でどう成立させるか"
ここが極めて重要らしい。
そして、
制約があると逆にゲーム性を考え始める。
これはかなり面白い発見だった。
当ラボは引き続き、
低容量ブラウザゲーム研究を継続する。(Dr.よこぼ)



