略語・用語集[MMF2編]

MMF2関連

本家ClickTeam USA あるいはUSAのClickTeam(クリックチーム)のサイトを指す

CTClickTeam(クリックチーム)の略

PMを送る(本家で)相手にプライベートメッセージを送る。開発者に送ると返信の早さに驚くことがある。

クリックジャム(Click-Jam)ゲームジャムのクリックチーム版、ゲーム製作に使うツール=MMF2のライセンス協力をクリックチームが引き受けてくれる。2012年に世界規模のクリックジャムが初めて開催された、それ以降定期的にヨーロッパ地域限定版とか小規模なものも何度か開催されてる。最初の開催時には極東地域(日本)にもお誘いがあったのだけど、日本国内だと施設とか人員の問題もあって、せめてGGJと合流するとか工夫しないと単独での開催はちょっと厳しいと思う。

ゲームジャム(Game-Jam)開催規模によってはグローバルゲームジャム(GGJ)とも呼称される。世界規模で開催されるものもあるし地域規模で開催されるものもあるが基本的にゲーム作成をテーマとしたジャムセッション(即興)である点は同じ。アナログやデジタルという枠にも囚われない。制限時間内にその場で即席チームを作って皆でワイワイ言いながらゲームのプロトタイプを作ろうずという体験型イベント企画。大規模なものは企業協賛とか学術機関が開催をサポートしている。イベントがすべてボランティアベースで成り立っている場合は参加費すら取らないけど、この場合提供される道具は限られてくるため持ち込みとなる。

CCクリックコンベンション(Click Convention)。一年に一回開かれるクリックチーム主催のユーザイベントもしくは公開会議。クリックチームの開発者が一同に介し参加したユーザと交流したり発表したりという内容。2011年からイギリス・ケンブリッジが開催地に選ばれており、2012年はイギリスでオリンピックがあったため交通事情なども考慮して開催を断念、2013年にもケンブリッジで開かれる予定。週末の三日間を利用した一種のツアー兼コンベンションで、参加者特典とかも付くらしい。クリックチームの最新製品に関する発表とかお披露目もある。

HWAハードウェアアクセラレーション/英語版では2011年以降標準機能に組み込まれた。英語版の体験版ではHWA体験もできる。日本語版MMF2にはHWAは付いていない。もともとHWAはユニコードに非対応なので英語版のユニコードパッチ(別売り)を適用してもユニコードパッチ上ではHWAは使えない。

MMFマルチメディアフュージョンMulti Media Fusion
MMF2Sマルチメディアフュージョン2スタンダードMulti Media Fusion 2 Standard
MMF2Dマルチメディアフュージョン2デベロッパーMulti Media Fusion 2 Developer
MMF3MMF2の次期バージョン。発売日未定だが本家では時々具体的な話題が出る…が基本的にまだ謎が多い。情報はガードが固くて、通常CTに聞いてもあんまり具体的な返事が返ってこないのだが大雑把な仕様については過去に返答が貰えたことがある。とりあえず完全なユニコードアプリなのでエクステンション開発にもSDKが最初からユニコード対応を義務付けているとか。その他、変数の検索機能やデバッグ機能の強化など統合開発環境としての更なる充実を図っている模様。2012年4月頃から時期バージョンの正式な名称を開発者ブログで模索するような動きがあるなど確実に進展してるみたい。

R249日本語版MMF2のベースとなったMMF2のビルドナンバー。本家ではR256を配布中(2013年1月)、日本語版MMF2でもオンラインアップデートからR256へアップできます。

R2552009年に日本語版MMF2が発売されて以降、一度も活躍する場面の無かったオンラインアップデート機能が2012年5月に初めて機能した、その記念すべきビルドナンバーがR255である。ちなみに本家ではアップデータを直接ダウンロードすることができるけど、日本語版は通知すらない。本家のビルドではR255はすでにHWAとの機能的統合を終えているのだが、HWAがユニコード未対応なので日本語版は相変わらずHWA機能が一切使えない。iOSエクスポーターなどはR249など古いバージョンのMMF2のままだとエクスポーターを動かすことができない。

R256=2012年12月にRC版が発表された後、正式版として公開された。MMF2のイベントエディタや新しく出たMicroSoftのOSであるウィンドウズ8でIMEを利用した場合に発生するバグなど、多数バグフィックスが含まれている。新機能などは無いが主にXPでFPSが安定しない現象を解消する効果のあるファンクションが有効になっているなど実用的な部分での改修改善もある。

R257=2013年5月に日本でもアンドロイドエクスポーターの発売が発表された頃、すでに先行して公開されていた英語版のR257にマイナーバージョンアップを加えた正式版として日本語版用にも提供されたアップデータ。今回も内部仕様などに大きな変更はなく本体のバグフィックスが主な内容、加えてiOSなど現在主流で活躍しているエクスポータに対する累積的なバグの修正が多く含まれてもいる。SWFエクスポータ向けのバグフィックスは調整不足のためこのバージョンでは実装が見送られた。

RC(もしくはRC版)=Release Candidateの略。正式版として発表する前の候補=Candidateであり、ベータ版より完成度が高いとされる。CTの場合はRC版発表後に問題が無い場合にはそのRC版が公式版に繰り上げされる場合もある。CTのアップデータは通常、最初に最新ベータとしてフォーラム登録ユーザ向けにマイナーバージョンアップされたものが不定期にアップされてから、次に年間の公開スケジュールが来るとRC版として正式公開されるようになっている。実績として公式アップデータは年に二回程度の頻度で提供されている。

ICPインストールクリエータープロ\Install Creator Professional(日本では未発売のユーティリティ)
ICインストールクリエーター\Install Creator(日本では未発売のユーティリティ)

TGFThe Games Factory(MMFSの機能限定版)\ゲームファクトリー
CnCクリックアンドクリエイト\Click and Create
KnPKlick and Play\クリックアンドプレイ

アプリケーション・フレーム・オブジェクト基礎概念1を参照してください

数式エディタExpression Editor:MMF2で使う電卓みたいなもの、算術演算子を用いて計算式を書く。

アクティブアクティブオブジェクト\Active Object:MMF2のスプライト機能を扱う。操作することができる絵あるいはアニメーション。オブジェクト(物体・あるいはスプライト)同士の衝突が判定できる。MMF2のアクティブは視覚的なアニメーション管理、複数アニメーションの管理、プレビューができるなど高機能を誇る。

通し番号アクティブオブジェクトなどに付ける識別用の番号・連番。学校やクラスの出席番号のようなもの。クラスの出席番号は名前順だが、MMF2の出席番号(通し番号)は誕生日順(生まれたもの順=作成された順番=特定の命名規則)で先生(開発者)が付ける。固有値とは違うので他と重複する可能性がある。

固定値(固有値\Fixed\Fixed Number)MMF2のフレームに配置されたすべてのオブジェクトが持つ内部的な識別番号。他と重複しないオブジェクト固有の値となるため本ブログでは固定値を固有値と言い換えたり「ユニーク(固有)なナンバー」と表現したりする。通常意識されることが無い内部番号だが、固定値を指定して呼び出すのが必要な場合もある。

コリジョンチェック衝突判定・当たり判定\collision:スプライトとスプライトの衝突をチェックする

コリジョンディテクト(デテクト)\CD(Collision Detect)= 衝突を検知、コリジョン検出、当たり判定検出

ディテクター(デテクタ)\detector = MMF2ではスプライトの衝突検知用のオブジェクト、普段非表示にして衝突判定処理のために用いる。スプライト表示用のオブジェクトと衝突判定用オブジェクトを別処理にした場合の衝突判定用オブジェクトのこと(コリジョンディテクター)。オブジェクトにスプライトの当たり判定検出機能を持たせること。

スプライトsprite\背景の上に重ねる(合成する)ドット絵などアニメーション画像・2Dスプライト

ブリット:Blit\Blt (BitBlt\ビットブリット・bit block transfer:ビット ブロック転送)=データのブロックをメモリ内のある場所から別の場所に転送するプロセスを指す。MMF2の仕様はよく分からないのでSDLなどを参考にすると良いかも?ただしMMF2には任意のタイミングで出せるBlit命令などは無く、ゲーム画面の更新はゲームループの一番最後に一括して行われる(らしい)ので、スプライトの位置を動かす→スプライトをBlitする→背景と合成してコリジョンデテクトする→もしも衝突を検知したら~という一連の流れを作るためには「高速ループ」などの利用が必要となる(という解釈をブログ筆者はしている)。

高速ループ\Fast Loops(ファーストループ)=MMF2が扱う三つのループ処理のうちの一つ。MMF2はゲームループ(メインループ)とAction loops(アクションループ)と高速ループを駆使してアプリケーションを作ります。高速ループはMMF2のゲームループ内でループ処理を行うための標準命令で、一般的なプログラム言語の「for」に相当する機能。標準となる前が「Fast Loop Object」というエクステンション扱いだったらしい。いわゆるMMF2における「めり込み防止」のためにデテクタと併用でこのループ処理を使うことが多い。1ドット単位での当たり判定にこだわりすぎたり、過剰にループ回し過ぎだとゲーム処理速度が遅くなるから注意されたし。本家ではこれに代わるループ処理として「ForEach Object」などに人気が集まりつつある。

アクションループ\Action LoopsMMF2が扱う三つのループ処理のうちの一つ。オブジェクト・インスタンスに対するループ処理を行う場合に用いられる。MMF2はゲームループ(メインループ)とAction loops(アクションループ)と高速ループを駆使してアプリケーションを作ります。このループ処理は長いこと名前が分からなくて、フォーラムで聞くのもめんどくさいので横着して基礎概念では「隠しループ」と勝手に命名していたループ処理で、最近ようやく名前が分かりました(ドヤ顔)。For Each的なループという点でインスタンスに指示を出す際に大変便利なものです。

めり込み防止=MMF2のメリ込みはコリジョン(当たり判定)の問題とも、画面描画更新機能の仕様上の問題とも言える。現象として2Dアクションでプレイヤーキャラクタが床にメリ込む(瞬間)から、壁に埋まる、壁を突き抜けるなど問題ある一連の動作を回避するための策。回避策は複数あり、一般的には「高速ループ」やディテクタを用いるか、専用エクステンションの「Move Safely 2 Object」を使用したり、2Dプラットフォーム動作用エクステンションである「Platform Movement object(PMO)」の利用があげられる。

エクステエクステンション\拡張\Extension
PMO=Platform Movement Object:プラットフォームムーブメントオブジェクト
XLuaMMF2でLua Scriptを扱うエクステ

エクスポーターExporter\外部出力(変換)機能\MMF2アプリをPC以外の環境で動作させるためのバイナリを作るための機能。基本的に別売り、有償。種類は以下のものがある。

  • Javaエクスポーター各種Java、モバイル用はMIDP2.0対応など。MMF2Dを買うと付いてくる。iアプリは作れない。すでにオワコンと言われる…。
  • SWFエクスポーターAdobeのFlash(SWF)形式のファイルを出力するためのエクスポーター。日本販売代理店でも扱っているが、本家のフォーラムに製品登録できないかもしれないので基本的に本家で買うことをお勧めしたい。HTML5に注目が集まる中、これもすでにオワコンと言われつつあるが現時点ではまだオワコンではない。iOSが動作をサポートしてないのは痛い。
  • iOSエクスポーターAppleのiOS(iPhone 3GS以降を対象とする)対応アプリを出力するためのエクスポーター。アップルストアとか、iOS6にも対応済み(2013年1月)。変化や進歩が著しい分野なので細かいアップデートやサポートが必要になるから、これは本家で買って本家フォーラムに登録し本家フォーラムを活用することを絶対お勧めしたい。エクスポーターの役割はXcodeの出力迄に留まるので、その後このXcodeを自分でビルドする必要がある。日本語版MMF2から利用する場合、HWA機能の一部(シェーダー関連)が利用できないという制限がある。現在一番人気のあるエクスポーターですが日本語での情報は少なめ。
  • XNAエクスポーターMircrosoftのXNAに対応。2012年六月から本家にて発売開始、英語版用。ユニコード対応などは現在軽く絶望できるレベルの出来(2013年1月)。XNAは仕様として文字出力にスプライトフォントを利用するため従来のPC用のビルドとは色々趣きが異なる点にも注意。Windows Phone 7(一応8も対応可能)やXP以降のWindows PC、XBOX 360の3種類のハードウェアに一挙対応できる。C#のソースコード出力後にVisualStudio(C#)で手動コンパイルという形をとるため、ビルド手順はiOSエクスポーターと似ている。ソースコードのコンパイルには最低限のIDEに関する知識が必要となる。またXNAは本家でもあまり人気が無いため?フォーラムもiOSに比べたら活気が無い。マイクロソフトの方針が変わり、WP8ではXNAへの対応プライオリティが下げられているのでWP8の固有機能にはXNAからではアクセスできない。XNAってすでにオワコンじゃね?的な雰囲気を纏いつつある。
  • Android(アンドロイド)エクスポーター主にスマートフォンやタブレット端末分野でアップルのiOSに対抗する一大勢力を築くAndroid OS用エクスポーター、CT本家にて英語版用が2013年4月から、5月からは日本語版も絶賛発売中。Android OSとは…美麗なGUIの皮を被った中身は本気でLinuxとJava(代替)テクニョロジーの塊。開発やOSの利用に別途費用がかからないので人気だが、アプリの販売実績ではアップルより低調。いろいろな面で制約が無いことが売りだったが、そのフリーダムすぎる仕様が逆に開発者を苦しめ、乗り越えることのできない壁となりつつある。スマートフォンやタブレット用OSとしてのアンドロイド搭載機の販売実績が毎年高いため本エクスポータも前評判と注目度は高いが、アンドロイド自体は機種毎の動作互換性は完全検証とかもはや不可能な規模の数に膨らんでおり、Googleがどこで下位互換製を切り捨ててくるか開発サイクルがハッキリしないのでそれも恐怖感がある。
  • HTML5エクスポーター:HTML5は次世代向けWebコンテンツ用の標準技術として機能するための新規格として発表されて以来注目を集めている技術。マイクロソフト以外はWebGLなどGPUハードウェアアクセラレーション機能をブラウザ搭載する方向に動いており、対応ブラウザにも依存するけれど3D表現とかにも格段に強くなる予定(※エクスポータが3D機能をサポートするという意味ではありません)。プラグイン導入が必要でしかも2D表現がメインのFlashがオワコンと言われ開発者のFlash離れが世界的に進んでおり、逆にFlash開発者不足となり現状のFlash開発者向け求人は軒並み給料が上がってるらしい(〜2012年)。とかくHTML5は注目されているだけに、CTもこのエクスポーターにはかなり力を入れていて、ベータテスター募集も他プロジェクトより慎重に行ってる。本家では随時ベータテスターを募集していますが(2012年8月〜)、このベータテストは体験版じゃない(バグ報告が必須となる)ので注意してね?とのこと。個人的に面白いと思ったのは、ランタイムがオープンソース化されているためMMF2のHTML5における動作アルゴリズムを自由に閲覧できる点。ウェブにおける次世代の標準技術なので、Andoroid、iOS、Windows、Linuxと真のクロスプラットフォームとして活躍が期待されている面も。
  • PS VITAエクスポーター:プレイステーション VITAで動作するバイナリを作るためのエクスポーター、ベータテスタを本家で募集中。XNAと同じくC#を開発言語として利用している。2012年当時XNAエクスポーターの公開が間近に迫っていた頃にFrancoisがアメリカのゲームショウに出席、ソニーのブースで出品されていたVITA とSDKに注目して以来開発を宣言していたエクスポーター。ソフトウェア開発キットとしてのPlayStation Mobile SDK(旧名:PS suit SDK)ではAndroidとVitaで動く仮想マシン(実行環境はMono)が提供されており、その仮想マシン上で動作するソフトウェアとなるためネイティブ言語を駆使して開発したVITA用ゲームよりも実行パフォーマンスはだいぶ劣る。クロスデバイスの展開だが、Androidに関してはデバイスがソニーから PlayStation Certified を取得している必要があるためスマフォだと「XperiaシリーズやHTC・シャープ、Sony Tablet等」が対象である。背面タッチ・センサとかVITA固有のハードウェア機能は利用できない。やっかいなのは動作互換性を検証されるので、VITA実機での動作とアンドロイド実機での動作が両方共安定的でないと公開が承認されない点。つまりVITAだけでの動作を保証しますとかは確実にアウトとなる。この辺り、つまりオーサリングツールのVITAエクスポーターが出たら、動作互換性の検証をスキップできる可能性があるので個人開発者には重宝されるかも。PlayStation Storeを経由のアプリが現時点ではフリーウェアとしてのソフトウェア配布を許可されておらずなんらかの課金を組み込まざるを得ない。パブリッシャーライセンス契約は、個人法人共に可能。VITAは家庭用ゲーム機ではあるがハードウェア構成なども含めスマフォに近いものがあるという点を留意したほうが良いかも。

その他一般

FPSFrames Per Second\1秒間に描くフレーム数を60FPS(Frame Per Second)と設定した場合、1秒間に60回フレームが更新されることになる。

識別子identifier\プログラムでコントロールするものにつける名前、実体を区別するために差し示す記号。名前

SDKSoftware Development Kit
MIDPMobile Information Device Profile\DoCoMoのJava仕様は「DoJa」
pxpixel:ピクセル
ptpoint:ポイント

Unicodeユニコード\すべての文字を16ビット(2バイト)で表現し、1つの文字コード体系で多国語処理を可能にしようとするもの。速い話、対応してくれないと日本語が表示できない。MMF2は現在もユニコードには標準対応していない(パッチを別売りしてる)。しかし日本語版はパッチじゃなく標準対応してしまったので英語版MMF2とはバージョンを分けることになった。

LMCLeft Mouse Click\左クリック

RMCRight Mouse Click\右クリック

その他ツール

PSPhotoshop\フォトショップ:画像編集ソフト

Constructコンストラクト\MMF2のライバル?…というよりConstructはMMF2の影響が非常に大きいソフトだった。イギリスの新鋭チーム「SCIRRA」が開発。現在フリーソフトでオープンソース、ユニコード未対応。だがMMF2より一部優れてる部分があり海外では一定の支持層を集めている。現在開発中のConstruct2(C2)はユニコード化及びHTML5出力に特化した対応、そのために下位互換性をきっぱり捨てた経緯がある。

Construct2発表されたばかりのC2ベータ版に関しては、当時Construct(クラシック)と比較したC2アーリーベータは未実装の機能が多くずいぶん未熟で、C2で開発はまた振り出しに戻った感があったけど、その後の開発は結構順調、2011年までに基本機能の実装は(WebGLへの対応も含め)結構進んだ。2012年1月以降C2は正式に課金となったけど値段はそれほど高くない(MMF2の個別エクスポーター並の値段設定)。C2のコミュニティフォーラムは活動活発でドキュメントやプラグインも急速に充実してきているが、サンプルファイルなどの配布は特定の集約的リポジトリを持たず個人のDropBoxなどに依存しているので、一時的に集積された情報は消えやすい可能性がある。HTML5自体ちゃんとまだ仕様が固まっていないのでフライング気味の傾向も。ブラウザはGoogle Chrome(クローム)やSafariなどウェブキットベースや、最新のFireFoxなどと相性が良い。すでにC2は日本語の表示もできるしWeb フォントやスプライトフォントなどにも標準対応している。あとは開発者がブログで技術的見解や見識を定期的に発表してくれるので仕様も含めその進展は見てて面白い。HTML5系のオーサリングツールとしてはかなり良く出来た面白いツール。

GameMakerゲームメーカー(GM)\海外でそこそこ人気があるツール。最新版では日本語の表示にも対応したらしい。

PygamePython用SDLを利用したマルチメディア関連の処理を簡単に扱えるラッパー。マルチプラットホーム対応のゲームも作れる。怪しいツチノコのページに情報が集約されているのでブログ筆者がMMF2を買う前はよくツチノコを見に通った。サイト全体が基本的に緑色だが、何か有事の際にはホームページの色は変わることがある。

スクリプト言語

Lua軽量なため組み込み向き、実行速度が速い、けどできることは少ない、でも必要十分。

Python海外で人気。恐ろしくパワフルだがやや太りすぎ(メタボ)、デブのくせに動きは俊敏。採用実績は結構な数があり、ダイエットするとサイズも小さくできる。MMF2はPython ObjectというエクステもあるのでPython 2.7を(MMF2英語版では)利用できる。

Ruby日本で人気。RPGツクールシリーズのスクリプト環境にも採用されているけどゲームでの採用実績はそれ以外あまり目立ったものは無い。基本的に言語としては海外でも評価は高いけど速度面で劣ると言われる。