世界の果てで終末を待つだけの雑記

患った中二病は30代になっても僕を蝕む

ミドルウェアとしてみたFlash

アーティストとゲームプログラマーにおけるアニメーションミドルウェアの取り扱いについて。

おそらく殆どの読者の方には関係ないことだろうが、現在僕はゲームスタジオに勤務していて、アニメーション業務に携わっているのだが、その上で使用するミドルウェアについて少し思ったことがあったので書いてみようと思う。

現在常駐させていただいているスタジオは、デザイン業務を広く一般的に行う人間のことをアーティストと呼んでいる。
プログラマは広くシステムエンジニアも含めプログラマである。
僕が行っているのはFlashでの作業なのだが、最初に結論から申し上げると、Flashでは、アーティストはスクリプトを必要最低限以上書かないほうが良い。語弊があるといけないので、もう少し言及したいと思うのだけれども、ミドルウェアとしてのFlash作業では、数人での作業が結果的に求められることになり、Flashというソフトウェアは、タイムラインだけではなく、ActionScriptというスクリプトで様々な命令や見た目を作っていける。玄人になればなるほどに、タイムラインを使用しない傾向があるように思う。これは、Flashlite1.1(ガラケーソーシャル)を仕事していた時にも感じたことなのだけれども、Flashに造詣の深い人ほどにスクリプトを書く。
しかし、複数人で作業をすることを考えると、どうしてもそれがうまくない。Flashスクリプトエディタが素晴らしいものであったなら、これも少しはもっと柔らかい物言いになっているのかもしれないが。複数人で仕事に当たる場合、もしくは引き継ぎを前提としている時ほど、タイムラインを使用するべきだ。

まず、スクリプトでしかできないことは、ミドルウェアとしてFlashを使用する際にサポートされていない可能性がある。
現在は現場はActionScript2.0であるが、それでもかなり広大な言語セットである。これがAS3.0以降だとちょっと考えたくもない。
もちろんミドルウェアとしてではなく、フロントエンドの技術として第一線で使用するのならばスクリプトを使用できるとこはすべきだろう。それはミドルウェアではないからだ。
ミドルウェアとしてFlashに求められているもの、主に演出としての位置づけである。
つまるところ、演出に必要なのは、どのようなものであれアニメーションであり、モーショントゥイーンを使用すれば基本的に頑張れば割と様々なものが再現できる。ちなみに、モーショントゥイーンさえサポートされていない現場であれば、正直パラパラアニメで良いと思うので、連番画像をおすすめする。Flashを使用する必要を思いつけない。
Flashには懐疑的だったが、AfterEffect ver6プロジェクトからだと、ほとんどのことが再現できる。むしろいろいろ楽な面もある。よく進化したなって思う。しかし、Afx ver6程度である。別物なのでそのままをそのまま移植できるわけではない。
Expressionもしくは、もっと簡単にプラグインなどが使用されている場合は殆どを再利用できないので何らかの対応を考える必要がある。ただし、ゲームの現場では様々なパーティクルシステムが使えることがほとんど(だとおもわれるの)で、Afxでパーティクルを設定していることは少ないのではないだろうか。
少ない現場経験からそう思う。

で、スクリプトなのだが、Afxを、もしくはデザインを、もしくは3Dを主に仕事にしている人からする問がいいと馴染みがない。MAYAのMELなどの例外もあるが、基本的にアーティストな人たちと、スクリプトは縁が遠い。なので、Flashのプロフェッショナルな人と、アーティストの人が一緒に仕事をするときは、Flashの人が少し折れるほうがいいと考えている。
もちろん読めるに越したことはないが、AS2.0はすでに書籍が殆ど無いし、3.0とは様々な面で常に拡張されている。習得するには少しどころではない努力が必要になる。
また、上記にも少し触れたが、Flashで担保されている機能すべてが、ミドルウェアとして再生されたとき担保されている保証はどこにもないのだ。

結論として、Flashにはタイムラインというものがあり、階層構造を持つことができる。
なので、素直に素人くさいかもしれないが、タイムラインでの記述を僕は推奨する。