HTML5エクスポーターで作成したアプリを自分のサイトで公開する方法

今回は『インディゲームクリエイター Clickteam Fusion 2.5(以下CF2.5)』の『HTML5エクスポーター』で作成したアプリケーションを自分のウェブサイトで公開する方法をご紹介します。
『HTML5エクスポーター』で作成したアプリケーションを公開するには、以下の2種類の方法があります。
続きを読む HTML5エクスポーターで作成したアプリを自分のサイトで公開する方法

変数・フラグの使い方

『インディゲームクリエイター Clickteam Fusion 2.5(以下CF2.5)』には『変数』と『フラグ』という、ゲーム作成に欠かせない2つの大事な機能があります。
今回は、その『変数』と『フラグ』について簡単ではありますが解説したいと思います。
続きを読む 変数・フラグの使い方

CF2.5で作成したアプリにアンチウイルスソフトが反応してしまう場合

『インディゲームクリエイター Clickteam Fusion 2.5(以下CF2.5)』や前身のソフトである『Multimedia Fusion 2(以下MMF2)』で作成したアプリ、特にWindows用exe形式で、アンチウイルスソフトが反応してしまうことが度々起こります。
ビックリするかもしれませんが、もちろん誤検出なので、そんなに心配することではないのですが、CF2.5/MMF2の設定によって防げるケースもあるので、今回はその方法をご紹介します。

■『stdrt.exe』が誤検出されてしまうケース
CF2.5/MMF2製のexeを実行すると、『stdrt.exe』というファイルがウイルスとして検出されることがあります。

『stdrt.exe』はビルドの種類を『Windows EXE アプリケーション』や『Windows スクリーンセーバー』に設定した時に、『アプリケーションプロパティ』の『ウィンドウ』タブにある『ランタイムを圧縮』を有効にすると、ビルドした実行ファイルに内蔵されるようになっています。
ビルドしたexeを実行すると、『stdrt.exe』がWindowsのテンポラリフォルダへ吐き出される仕組みとなっており(終了後自動的に削除)、この動作がウイルスと判定されているものと推測されます。
『ランタイムを圧縮』を無効にすると『stdrt.exe』は作成されなくなるので、基本的にこのオプションは無効のままにすることを推奨します。無効にすると、有効時よりファイルサイズが約300KBほど増加しますが、昨今のPCであれば大して問題は無いでしょう。

もう一つ、『stdrt.exe』が作成されることの弊害として、Windows 7/8/8.1では実行中のアプリケーションをタスクバーにピン留めする機能がありますが、『ランタイムを圧縮』を有効にしてビルドしたアプリケーションは、実行中のアプリケーションをピン留めすると、『stdrt.exe』へリンクされてしまうことになります。前述の通り、『stdrt.exe』はアプリケーション終了後に自動的に削除されてしまうので、次回以降タスクバーのアイコンをクリックしても実行できない、という状態に陥ってしまいます。こちらも『ランタイムを圧縮』を無効にすることで解決することができます。

■mfxファイルが誤検出されてしまうケース
拡張子が『.mfx』のファイルがウイルスとして検出される場合もあります。mfxファイルはオブジェクト(エクステンション)のファイルです。例えば『kcmouse.mfx』がよく誤検出の対象となりますが、これはエクステンションの『Mouse object』です。こちらはユーザー側が設定で回避できる要素はあまりないので、あまりに検出が続くようであればそのオブジェクトの使用を中止することも検討して下さい。別のオブジェクトに類似機能があればそちらで代替す2ることもできるかもしれません。

根本的な解決は、各アンチウイルスソフトメーカーに誤検出だと認識してもらってデータベースに反映してもらうことですが、もし海外製ソフトなどで連絡が難しい場合は、公式サイトのユーザーサポートまたは当ブログへご一報頂ければ対応いたします。

CF2.5 ビルド283.5公開

CF2.5のビルド283.5へのアップデートが公開されました。アップデータには本体の更新以外に各種エクスポーターの更新も含まれています。CF2.5無料版のアップデートも配信されています。CF2.5の上部メニューの『ヘルプ』→『アップデートを確認』を実行するとアップデートすることができます。
※今回のバージョンより、アップデートの受信が何度でも行えるようになりましたアップデート後にエクスポーターを購入し新規インストールした場合、ツール上の表記は最新でも、エクスポーター部分だけ古いままとなるので、再度アップデートする必要がありますので、再度実行して下さい。

本家Clickteamより修正点のリストが発表されています。今回は数が膨大なため、日本語訳は後日ご案内させて頂きます。ご了承下さい。
http://www.clickteam.com/webftp/files/mmf2/ChangeLogs/283.5.final.txt

※2014-12-21追記
修正点のリストの日本語訳が公開されました。
ビルド 283.5 変更ログ|Clickteam 公式サイト

※iOS Exporterをご利用の場合は、XCodeにてアプリケーションをビルドする前にはProject / Cleanを実行して下さい。
※ご自身が作成しているアプリケーションのmfaファイルのバックアップは忘れずにお取り下さい。

CF2.5で作成したアプリを販売するためにしなければならない作業

今回は、ブログへのコメントでありました、『CF2.5で作成したアプリを販売する場合に、しなければならないこと』について解説したいと思います。
公式サイトの製品比較ページには『ロイヤリティフリーの商用ランタイム ランタイム配布許諾契約書に準拠』や『ロイヤリティフリー、ロゴおよびクレジット表示不要で商用配布 ランタイム配布許諾契約書への準拠なし』と書かれていますが、それらが具体的にどういったことなのか説明します。当ツールの購入を検討されている方で「このツールで作成したゲームは販売できるのか?」と気になっている方も、是非ご覧下さい。

■CF2.5のエディションによってやることが異なる
CF2.5には『フリー(無料)版』、『スタンダード(通常)版』、『デベロッパー版』の3つのエディションがありますが、エディションによって内容が異なります。

  • デベロッパー版:『Clickteam Fusion 2.5 ランタイム配布許諾契約書』への準拠の必要なし。ロゴ、クレジットの表示義務なし。
  • スタンダード版:『Clickteam Fusion 2.5 ランタイム配布許諾契約書』の準拠の必要あり。ロゴ、クレジットの表示義務あり
  • フリー版:『Clickteam Fusion 2.5 ランタイム配布許諾契約書』の準拠の必要あり。ロゴ、クレジットの表示義務なし。

■『Clickteam Fusion 2.5 ランタイム配布許諾契約書(以下『ランタイム配布許諾契約書』)』とは
『ヘルプ』『作成したアプリケーションの配布』内にあります(後日公式サイト上にもアップロードされる予定です)。これから解説する販売に際しての必要事項が記載されています。各エクスポーター毎にそれぞれ存在しているので、ご自身が作成したアプリケーションのプラットフォームに該当するライセンス文書を参照してください。

※2014-12-14追記
『ランタイム配布許諾契約書』が公式サイトのダウンロードページより閲覧可能になりました。製品未購入の方で確認したい場合はこちらよりご覧下さい。

– インディゲームクリエイター ファイルダウンロード|Clickteam 公式サイト
http://www.clickteam.jp/download#download_3

■デベロッパー版
CF2.5シリーズ最上位のエディションであり、特に何かをする必要もなく、作成したアプリケーションを販売することができます。

■フリー版
フリー版はHTML5アプリケーションにしかビルドすることができませんが、CF2.5のロゴ画像が作成したアプリケーションのローディング画面に強制的に挿入されるため、こちらもそれ以上のことをする必要なく商用利用することができます。

■スタンダード版
作成したアプリケーションを販売する場合は、『Created With Clickteam Fusion 2.5』ロゴ画像を、アプリケーション内に、また製品パッケージが存在する場合は、パッケージにも表示する必要があります。
また、Clickteamのコピーライト表示を、マニュアルのコピーライト表記セクションに追加する必要もあります。

ロゴ画像はディスクに収録されていると『ランタイム配布許諾契約書』には記載されていますが、実際には収録されていませんので、公式サイトのダウンロードページよりダウンロードして下さい。

※2014年11月30日現在、エクスポーターのライセンス文書にはロゴの表示義務について書かれてありませんが、ツールの表示言語を英語に設定して、英語版のライセンス文書を見ると記載されており、実際には必要となります。大変申し訳ありません。
Android、iOSで表示する必要のあるロゴ画像は以下の場所にあります。

    CF2.5本体がインストールされているフォルダの

  • iOS: Data/Runtime/iPhoneフォルダ
  • Android: Data/Runtime/Androidフォルダ

アプリケーション内に表示するロゴはクレジット表記画面、オープニング画面またはエンディング画面に表示する必要があります。実際にはすぐに判るようにスプラッシュ画面(オープニング画面)に表示している場合が多いです。

パッケージに表示するロゴについては『ランタイム配布許諾契約書』にはサイズや位置などが細かく説明されていますが、「ロゴ自体は判る様に表示しなければならないが、あなたの作品がClickteamの著作物だと誤認されるほどに目立たせる必要はない」ということに注意しておけば大丈夫です。

もちろんフリーで配布する場合にはロゴの表示は不要です。それ故にロゴは強制表示ではなく自分で追加する形になるので、ある程度表示方法には自由があります。

Iniオブジェクトでセーブデータを保存する

プレイヤーの出したスコアや、ゲームの進行状況をセーブデータとして外部に保存するには、『Iniオブジェクト』を使用します。
今回はIniでデータの保存・読み出しを行う方法と、CF2.5のIniオブジェクトの仕様について解説します。

※INIオブジェクトの説明はヘルプにも記載されていますので、そちらも併せてお読みください。

※2017-05-04追記
相対パス(.\)を使用してファイルを指定する際の注意点について解説記事を投稿しました。

Iniオブジェクトでセーブデータを保存する際の注意点

※2015-07-21追記
消失していたサンプルプログラムおよび画像を復活させました。

続きを読む Iniオブジェクトでセーブデータを保存する

CF2.5のゲームは『タイマーベース』ではなく『フレームベース』で作ろう

※本記事は、『インディゲームクリエイター Clickteam Fusion 2.5 無料版』をダウンロードして下さったユーザーへ向けて配信されたメールマガジンに掲載されたものと同内容ですが、重要なので本ブログでも改めてご紹介します。
続きを読む CF2.5のゲームは『タイマーベース』ではなく『フレームベース』で作ろう

CF2.5 ビルド282.3の修正・変更点

配信はとっくの昔に行われておりますが、CF2.5の最新ビルド(アップデート)である282.3の修正・変更点について、本家で公開されているリストの日本語訳と、注目すべきポイントについて解説します。

■アップデートの適用方法

  • 自動でアップデート
    CF2.5の上部メニューの『ヘルプ』→『アップデートを確認』を実行。
    『環境設定』にてアップデートの確認間隔を設定している場合は、ソフトの起動時に自動的にチェックされます。
  • 手動でアップデート
    本家クリックチームコミュニティーからインストーラをダウンロードして実行。
    (自分のアカウントにお持ちのCF2.5のシリアルコードを登録する必要があります。)

■ビルド282.3の修正・変更点一覧

– Preferences: the new “D3D by default in new applications” option in the preferences was unchecked by default, it’s fixed.

環境設定: 「アプリケーションの表示モードのプロパティを Direct3D に変更」が非チェック状態がデフォルトとなっていたのを修正。

– Event editor: when you display the names of the alterable values/strings for a qualifier, it now displays the names of the alterable values/strings of the real objects if these names are identical for all the objects. Same thing for the user animations.

イベントエディタ: オブジェクトグループにそのグループに属している実際のオブジェクトの変数/可変文字列の名前が表示されるようになった。それらは全てのオブジェクトで同じ名前である場合に表示されます。同様にユーザーアニメーションの名前も表示されます。

– Event editor: incorrect message when you search for an object and it’s not found.

イベントエディタ: オブジェクトの検索で見つからなかった時のメッセージが正しくなかったのを修正。

– Event editor: F3 didn’t work when you search for objects.

イベントエディタ: オブジェクトの検索時に「次を検索(F3キー)」が動作しなかったのを修正。

– Help missing in non-physics movement extensions

非物理動作のヘルプが表示されなかったのを修正。

– Help: you can now search for double-byte characters in Japanese help

ヘルプ: 日本語ヘルプにて2バイト文字による検索を可能に。

– Translations weren’t handled in movement extensions at runtime (causing non translated messages to be displayed by physical movements when there was no Physics Engine object in the frame)

「物理 – 物理制御エンジン」がフレームに無い状態で実行した時のエラーメッセージにて物理動作の名前が翻訳されていなかったのを修正。

– Windows runtime: you can now have an unlimited number of alterable values at runtime via indexes (named values are still limited to 26). We’ll port this feature to other runtimes in a future build. Note: alterable strings are still limited to 10, this will be changed in a future build too. Also the title of the expression editor still says “Please enter an index between 0 and 25″, this will be fixed.

Windowsランタイム: インデックスによる指定において無制限に変数を持てるようになった(プロパティで名前を付けられるのは従来どおり26まで)。他のランタイムへは将来のビルドで対応。注: 可変文字列の上限は10のままだが、これも同じく将来的に対応予定。数式での表記がまだ「結果は 0 から 25 の間でなければなりません」となっているが、こちらも修正予定。

– Layer Object (Windows): “Always sort by Y position” crashes if there is a Physics Particle object in the frame

レイヤーオブジェクト:「物理 – パーティクルオブジェクト」がフレームにある時、「並べ替え」を実行するとクラッシュするのを修正。

– Dialog Box object (Windows): corrupted names when you paste controls

ダイアログボックスオブジェクト: コントロールをペーストすると名前が崩れるのを修正。

– Physics Fan / Magnet / TreadMill objects (Windows and HTML5 runtimes): fix in Get Height expression (will be fixed in other runtimes in the next update)

物理の送風機、マグネット、ベルトコンベアオブジェクトで数式にて高さを取得できなかったのを修正(WindowsとHTML5ランタイム)(他のランタイムについては次のアップデートで修正予定)。

– HTML5 object: Read Cookie expression was broken in the expression editor

HTML5オブジェクト: 数式エディタにて「Cookie を読み取る」の数式が壊れていたのを修正。

– HTML5: some sounds were not played even if their format was supported by the browser

HTML5: いくつかのサウンドがそれらのフォーマットをサポートしているブラウザなのに再生されなかったのを修正。

– HTML5: the application was stuck in the preloader when a sound was not compatible with the browser

HTML5: ロード画面にてブラウザが非対応のサウンドをロードする時に止まってしまうのを修正。

– HTML5: new option in the preferences: “Build mp3 sounds instead of m4a sounds if lame_enc.dll is installed in data\runtime\flash”.
If this option is selected (default), and lame_enc.dll is installed in data\runtime\flash,
then CF 2.5 builds MP3 sound files instead of M4A files when you build the HTML5 application. This is recommended
if you want your app to work on machines where M4A sounds are not supported, like iPads. lame_enc.dll is installed
by the Flash exporter of CF 2.5. If you haven’t this exporter you can find it on the Internet, as it’s used
by other programs like Audacity.

HTML5: 新オプション「サウンドを m4a の代わりに mp3 に変換する (lame_enc.dll が data\runtime\flash にインストールされている場合)」を追加。
このオプションが選択され、且つ「lame_enc.dll」が「data\runtime\flash」にインストールされている場合、CF2.5はHTML5アプリケーションをビルドする時、M4Aファイルの代わりにMP3ファイルをビルドします。
iPad等のM4Aサウンドをサポートしていないマシンで動作させたい場合に有効です。lame_enc.dllはFlashエクスポーターによってインストールされますが、このエクスポーターを持っていない場合は「Audacity」等のそれを使用している他のプログラムからコピーしてくることも可能です。

– Hi-Score object (HTML5 runtime): application freezes when you click Cancel when prompted for your name

ハイスコアオブジェクト(HTML5ランタイム): 名前の入力を促された時にキャンセルするとアプリケーションがフリーズするのを修正。

– iOS Store object: On payment canceled/failed conditions should be now triggered again

iOS ストアオブジェクト: 「支払いのキャンセル時」「支払いの失敗時」条件が発動しなかったのを修正。

■注目の変更点

– イベントでオブジェクトグループを参照するときに、従来はそのグループに属しているオブジェクトの変数名やアニメーション名はオブジェクトグループ上では表示されませんでしたが、今回より表示されるようになりました。

↑複数のオブジェクトを同一のグループに設定する

↑所属しているオブジェクトの変数名を変更する場合は全てのオブジェクトで同一の名前に設定する

↑ユーザーアニメーションの名前も同様に、全てのオブジェクトで同一の名前に設定する

↑イベントでオブジェクトグループを参照した時、所属している実際のオブジェクトの変数名・アニメーション名が表示されるようになる

– インデックスによる指定において無制限に変数を持てるようになりました。
従来は、オブジェクトが持てる変数の数は変数A~Zまでの26個でしたが、今回より、インデックスによる指定の場合は27以降~無限に変数を扱えるようになりました。
ただし、プロパティで変数名と初期値を設定できるのは従来通り26個までとなります。

↑変数の数式にて右上の『数式を使う』をクリックする

↑変数のインデックスを入力します。変数A~Zは0~25、それ以降の変数を使用する場合は26以降を指定します。

↑オブジェクトから変数を取得する場合は、『インデックスによる変数』を選択し、取得したい変数のインデックスを指定します。

インディゲームクリエイター Clickteam Fusion 2.5無料版について

『インディゲームクリエイター Clickteam Fusion 2.5(以下CF2.5)』には、体験版に相当するエディションとして『無料版(フリーエディション)』があります。
無料版は製品版と比べて大幅な機能制限と『HTML5アプリケーション』にしかビルドすることができない、という違いがありますが、無期限にご使用頂けます。

無料版のダウンロードはコチラ!

– インディゲームクリエイター Clickteam Fusion 2.5 無料版|Clickteam 公式サイト
http://www.clickteam.jp/product/clickteam-free

注:無料版でHTML5アプリケーションにビルドするためには、『Microsoft Visual Studio 2012ランタイム』が必要です。

– Download Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Center
http://www.microsoft.com/ja-jp/download/details.aspx?id=30679

■無料版と製品版の違いについて
無料版には製品版と比べて以下の制限があります。

– エディタで編集可能なアプリケーションは 1 つに限定されます
製品版では複数のmfaファイルを同時にロードして編集することができます。

↑無料版では2つ以上のアプリケーションを同時にロードすることはできない。

– 1 アプリケーションにつき作成可能な フレームは、3 つまでに限定されます
製品版ではフレームの数に制限はありません。

↑無料版では3つまでしかフレーム(アプリケーションにおける場面の単位)を作成することができない。

– 1 フレームにつき、作成可能な背景オブジェクトは 100 個まで、非背景オブジェクトは 30 個までに限定されます
フレームエディタの左のオブジェクトリストでの数です。フレーム上に配置できるオブジェクトの数の制限ではありません。

↑背景オブジェクト:『背景』『クイック背景』(赤枠で囲ったオブジェクト) 非背景オブジェクト:それ以外のオブジェクト

– 1 フレームにつき、作成可能なイベント数は 150 までに限定されます
製品版ではより多くのイベントを作成することができます(明確な上限はありませんが、10000行程度はOK)。

↑無料版では150行までしかイベントを作成することができない。

– グローバルイベントおよびオブジェクトのビヘイビアは利用できません
製品版では複数のフレームで共通のイベントとして動作する『グローバルイベント』やオブジェクト内にイベントを設定することができる『オブジェクトイベント(ビヘイビア)』を利用することができます。

↑グローバルイベント

↑オブジェクトイベント

– 利用可能なオブジェクトの種類は限定されています
製品版ではより多くの様々な種類のオブジェクトを利用することができます。

– エクステンションマネージャーから他の種類のオブジェクトのインストールはできません
製品版では『エクステンションマネージャー』を使って、主に海外のユーザーが作成したサードパーティー製オブジェクト(エクステンション)をダウンロードして機能を強化することができます。

↑エクステンションマネージャー画面

– ピクチャエディタで画像をエクスポートできません
製品版ではピクチャエディタの画像をファイルとして出力することができます。

– データエレメンツエディタでサウンドや音楽ファイルをエクスポートしたり、入れ替えることはできません
製品版では『データエレメンツ』にて、アプリケーションで使用されているサウンドを手軽に差し替えたり抽出したりすることができます。

制限を超えると警告表示が出ます。制限を超えたままですと、殆どの項目がグレーアウトし、編集が不可能になります。

グレーアウトしている項目の中には、無料版としての制限の他に「HTML5アプリケーションでは非対応」であるために選択できなくなっているものもあります。

↑例:HTML5アプリケーションでは『音楽を再生(MIDIの再生)』は利用できない。『サウンドを再生』で、WAVやOGGファイルを再生することで代替可能。

HTML5アプリケーションとして作成しているが故に利用できない機能は、製品版でHTML5アプリケーションを作成する場合でも同じように利用不可能なのでご注意下さい。
また、同梱されているチュートリアルは『Windows EXE アプリケーション』として動作させることを前提として書かれているものなので、HTML5アプリケーションでしか作成することができない無料版では多少異なる部分があります。