“世界中の知恵を使える意味”
ぷにころの軟体表現を考えていたとき、ひとつの作品に強い衝撃を受けました。
matsuoka-601さんが公開している、Floatyです。 Floaty
大量の粒子が動き、それが滑らかな水面として描かれ、飛沫まで気持ちよく表現されている。
初めて見たときは、単純に「すごい」と思いました。
水のシミュレーションそのものも見事ですが、それ以上に驚いたのは、限られた計算量の中で、どこを物理計算し、どこを描画で補い、どうすれば水らしく見えるのかが、非常によく考えられていることでした。
後に自分でもやってみたのですが、水の粒子を増やせば、リアルな水になるわけではありません。
Floatyには技術だけでなく、作者の方が試行錯誤を重ねてたどり着いた、数多くの判断が詰まっているように感じられました。
## 公開されていることと、使えることは違う
Floatyのような優れた作品のコードが公開されていることは、本当にありがたいことです。
しかし、少し前までの私にとって、優れたOSSが公開されていることと、それを自分の開発に利用できることは、ほとんど別の話でした。
コードを公開してもらっていても、
- どこから読めばよいのか分からない
- 数学や物理の意味が分からない
- 描画処理とシミュレーションの関係が分からない
- 自分のゲームに必要な部分を切り出せない
- それ以前、コードを読むことができない。
という壁があります。
ソースコードは、確かにそこにある。
けれど、自分には扱えない。
世界中には優れたOSSが無数に存在しますが、実際に利用できるのは、自分が理解できる範囲のものだけでした。
## AIによって、OSSとの距離が変わった
今は、AIにコードを読んでもらうことができます。
もちろん、AIに渡せば何でも正確に理解してくれるわけではありません。間違った説明をすることもありますし、実際の挙動を確認せずに信用するのは危険です。
それでも、
- 全体がどのような構造になっているのか
- どのファイルが何を担当しているのか
- どの処理が軟体の動きを作っているのか
- どの処理が水を滑らかに見せているのか
- ぷにころへ応用するなら、どこを参考にすべきか
分からない箇所があれば、さらに細かく質問できます。
数式をかみ砕いて説明してもらうこともできます。
自分のゲームとの違いを比較し、実装計画を作ってもらうこともできます。
以前なら、コードを読み始める前に諦めていたような技術を、自分のゲームに取り込めるようになりました。
## 30分で変わったもの
この時点では「ぷにころ」は軟体の物理シミュレータであり、ゲームとしては処理速度が全く足りていませんでした。
私がAIに伝えたのは、matsuoka-601さんのFloatyのGitHubリポジトリのURLを貼り、
「リンク先を参考にして、軟体を実装して」
と頼んだだけでした。
30分後には、数個置いただけで速度が落ちていたことが嘘のように、ぷにころたちがぬるぬると動き始めました。
もちろん、AIが何もないところから新しい技術を発明したわけではありません。
そこにあったのは、Floatyの作者が積み重ねてきた技術と工夫です。
ぬるぬる動くぷにころを見て、初めて思いました。
このゲームは、これまで作ってきた作り捨てのゲームとは違う。
きちんと作り込めば、本当に面白くなるかもしれない。
これまでにも、いろいろなゲームやソフトを作ってきました。
しかし、「時間をかけて作り込む価値がある」と感じたのは、ぷにころが初めてでした。
AIは、世界中の誰かが積み重ね、公開してくれた知恵に、手を伸ばせるようにしてくれたのです。
ぷにころドロップを遊んでみる
ぷにぷにした生き物を落として育てる、ブラウザで遊べる物理パズルゲームです。
ゲームを開く外部リンク