Fiber in Tonyu

キャラクタをある手続きの元で動かしたい場合、手続きを状態遷移に書きかえなけれないけない。そんなのナンセンス。手続きが書ける言語のはずなのに、なんでそれが封印されるんだ。

こういうのは fiber とか言ったりするらしいです。

要は個々のオブジェクトを定義する外部スクリプトなんかではこれを使いたい欲求が特に強い、と。

まえにオンラインベーマガネタ(id:ABA:20031116#p1)でコメント頂いた豆乳システムは、キャラクタごとの並列処理を備えている。

ゲームの動きをプログラムするのに便利な並列処理を完全にサポートします。キャラクタの動きはキャラクタ毎に独立して記述します。 通常のゲームプログラムでは、「1フレーム(1コマ)毎に行う動作」を記述するのに対して「キャラクタが生まれてから、死ぬまでの動作」を自然に記述できます。

つまり各キャラクタの1フレームの処理が終わるごとにupdateメソッドを呼び出して、処理を他のキャラクタにyieldするわけだ。fiberの定義がまだ良く分かってないのだが、この機構もfiberに相当するのかな。