KLab株式会社

お問い合わせはこちら

Flamixer

携帯向け高速Flash動的生成を簡単に実現するライブラリ

モバイルオンラインゲームアプリにおいて、Flashはゲーム性や表現力を高めるためにも欠かすことのできない技術です。

個々のユーザーやその交流相手の状態に応じて、サーバー上で動的にFlashデータ生成させることができれば、その表現力はより一層高まります。

Flamixer

Flamixerとはswfmill(※1)やMessagePack(※2)を用い、独自のアプローチでFlashの超高速生成を実現したPHP拡張モジュールです。多くの素材から構成される複雑なFlashも超高速に生成可能なため、モバイルオンラインゲームアプリの演出効果を飛躍的に高めることが可能になります。

※1
swfmill (http://swfmill.org/
swf<->xml の相互変換を実現するオープンソースのツールです。
※2
MessagePack(http://msgpack.org/
オープンソースのバイナリシリアライズフォーマットです。

KLabが開発したFlamixerとKGDを用いることで、swfmillなどの一般的に用いられるモジュールのみを利用した場合に比べ、15倍~100倍以上の高速化を実現することができます。これにより、従来困難とされてきた、多重かつ動的に合成されたFlashをゲームのバトルシーンなど、頻繁に発生しかつ効果的な演出が求められるシーンに活用することが可能となりました。同時に、Flash生成のために専用サーバーを増設する必要もなくなり、既に生成処理のためにサーバーを増設している場合は、その削減も可能となりました。

Flashの動的生成における問題点

携帯向けモバイルオンラインゲーム内で、ゲームのチュートリアルをFlashムービーを使って実現しているが、この内容をプレーヤーによって細かく変化させたい
Flash Lite®で作られたミニゲーム内の画像やテキストを、ユーザーのプレイ状況によって差し替えたい
あらかじめ合成済みのFlashを用意しておき、状況に応じてFlashを切り替えることで擬似的に動的生成を実現することはできるが、アーキテクチャが複雑になるので運用コストを増大させる原因となる
動画合成において、プロデューサーが実現したい演出例

特 長

ハイパフォーマンス

Flamixerは従来のswfmillを利用した動的生成と比較し15~100倍以上の高速化を実現しています。これによりサーバー負荷や応答遅延の問題を根本的に解消でき、これまで諦めざるを得なかった高度な演出を実現できます。

swfmill/Flamixerそれぞれを用いて文字列置換を行った場合、圧倒的な速度差があった

簡単な実装

従来のツールを使用した場合、Flashデータを動的合成するために非常に多くのサーバーリソースが必要となるため、(A)サーバーを大量に並べる、(B)生成済みデータのキャッシュ制御を行うなどの方法を組み合わせて対策をする必要がありました。

FlamixerはPHPの拡張モジュールとしてシンプルに使用できます。これまでは非常に複雑かつ高度な技術を用いて実現していたFlashの動的生成を数個の関数呼び出しとテンプレート設定ファイルで実現できます。

swfmill (http://swfmill.org/)swf<->xml の相互変換を実現するオープンソースのツールで、Flashの動的生成の手段の1つとして 広く用いられています。
MessagePack(http://msgpack.org/) オープンソースのバイナリシリアライズフォーマットです。スキーマレスで扱いやすいのが特徴です。
Flamixerを使用する場合、KGDに合成したい画像を渡せば、合成後画像でFlashを動的に生成可能。また、MessagePackを採用することでXMLのバース処理時間を大幅短縮できます。

コストと障害発生ポイントの低減

Flamixerが実現する高速なFlashの動的生成は、Flash生成のためのサーバー増設を不要にし(既に生成処理のためにサーバーを増設している場合は、その削減が可能です。)、アプリケーションのアーキテクチャもシンプルに保つことができ、コスト及び障害発生ポイントを低減させる効果があります。

FlamixerはKGDと連携させることも可能です。KGDで高速に合成した画像をそのままFlamixerの入力として与えFlash生成を実現します。この連携はモバイルオンラインゲームアプリに更に高い表現力をもたらします。

利用イメージ

デザイナーは、Flamixerのルールに従ってテンプレートを作成し、素材を作成します。同時にプログラマーは、Flashの合成ルールを記述します。
Flamixerが、投入された設定ファイルに従って、swfファイルを動的に合成します。

携帯向けFlashの動的生成エンジン「Flamixer」のイメージ図

導入事例

「Flamixer+KGD」の採用により、
高アクセス下でも迫力の戦闘シーンを実現しています。

モバゲータウンで好評を博している、「トイボット ファイターズ」の戦闘画面でもFlamixerを採用。11枚の画像レイヤーを合成した後に、Flashをリクエスト毎に動的に生成しても1sec以内にHTTPレスポンスを返信可能!

トイボットファイターズのQRコード
Flamixerを採用したトイボットファイターズの画面