ぷにころ開発記録・第4回

“世界中の知恵を使える意味”

ぷにころの軟体表現を考えていたとき、ひとつの作品に強い衝撃を受けました。

matsuoka-601さんが公開している、Floatyです。 Floaty

大量の粒子が動き、それが滑らかな水面として描かれ、飛沫まで気持ちよく表現されている。

初めて見たときは、単純に「すごい」と思いました。

水のシミュレーションそのものも見事ですが、それ以上に驚いたのは、限られた計算量の中で、どこを物理計算し、どこを描画で補い、どうすれば水らしく見えるのかが、非常によく考えられていることでした。

後に自分でもやってみたのですが、水の粒子を増やせば、リアルな水になるわけではありません。

Floatyには技術だけでなく、作者の方が試行錯誤を重ねてたどり着いた、数多くの判断が詰まっているように感じられました。

## 公開されていることと、使えることは違う

Floatyのような優れた作品のコードが公開されていることは、本当にありがたいことです。

しかし、少し前までの私にとって、優れたOSSが公開されていることと、それを自分の開発に利用できることは、ほとんど別の話でした。

コードを公開してもらっていても、

  • どこから読めばよいのか分からない
  • 数学や物理の意味が分からない
  • 描画処理とシミュレーションの関係が分からない
  • 自分のゲームに必要な部分を切り出せない
  • それ以前、コードを読むことができない。

という壁があります。

ソースコードは、確かにそこにある。

けれど、自分には扱えない。

世界中には優れたOSSが無数に存在しますが、実際に利用できるのは、自分が理解できる範囲のものだけでした。

## AIによって、OSSとの距離が変わった

今は、AIにコードを読んでもらうことができます。

もちろん、AIに渡せば何でも正確に理解してくれるわけではありません。間違った説明をすることもありますし、実際の挙動を確認せずに信用するのは危険です。

それでも、

  • 全体がどのような構造になっているのか
  • どのファイルが何を担当しているのか
  • どの処理が軟体の動きを作っているのか
  • どの処理が水を滑らかに見せているのか
  • ぷにころへ応用するなら、どこを参考にすべきか

分からない箇所があれば、さらに細かく質問できます。

数式をかみ砕いて説明してもらうこともできます。

自分のゲームとの違いを比較し、実装計画を作ってもらうこともできます。

以前なら、コードを読み始める前に諦めていたような技術を、自分のゲームに取り込めるようになりました。

## 30分で変わったもの

この時点では「ぷにころ」は軟体の物理シミュレータであり、ゲームとしては処理速度が全く足りていませんでした。

私がAIに伝えたのは、matsuoka-601さんのFloatyのGitHubリポジトリのURLを貼り、

「リンク先を参考にして、軟体を実装して」

と頼んだだけでした。

30分後には、数個置いただけで速度が落ちていたことが嘘のように、ぷにころたちがぬるぬると動き始めました。

もちろん、AIが何もないところから新しい技術を発明したわけではありません。

そこにあったのは、Floatyの作者が積み重ねてきた技術と工夫です。

ぬるぬる動くぷにころを見て、初めて思いました。

このゲームは、これまで作ってきた作り捨てのゲームとは違う。

きちんと作り込めば、本当に面白くなるかもしれない。

これまでにも、いろいろなゲームやソフトを作ってきました。

しかし、「時間をかけて作り込む価値がある」と感じたのは、ぷにころが初めてでした。

AIは、世界中の誰かが積み重ね、公開してくれた知恵に、手を伸ばせるようにしてくれたのです。

ぷにころドロップを遊んでみる

ぷにぷにした生き物を落として育てる、ブラウザで遊べる物理パズルゲームです。

ゲームを開く外部リンク