まるまるこふこふ

数々の次元が崩壊し、全ての生命が塵と化すのを見てきた。私ほどの闇の心の持ち主でも、そこには何の喜びも無かった。

RPG アツマールに RPG ツクール MV 製ではないゲームをアップロードしてみた

弊サークル作品の「紫と霊夢の終わらない夏」の体験版を RPG アツマールに投稿できたので、アップロードにあたって、やったことをまとめます。

ゲームの概要

「紫と霊夢の終わらない夏」は PC向け 2D アクションパズルゲームです。RPGでもなければ、RPG ツクールMV 製でもありません。

技術的には、HTML5 + javaScript で開発されており、 Electron を使って、PC 向けにビルドして頒布しております。

アップロードのやり方

RPG アツマールは RPG ツクール製のゲームがアップロードできるサイトです。PRG ツクール製ゲームのアップロードに向いていますが、Web の技術で作られたゲームであれば、RPGツクール製でないゲームでもアップロード可能です。

RPG アツマールの仕様やアップロードの仕方については、 先人の方がいて、すでにまとめられてますので、以下のURLをご参照ください。

http://qiita.com/hajimehoshi/items/2a28b16a2e587c82ac5d

やったこと

Web ブラウザ上で動くゲームならそのままアップロードできるはずですが、 アツマールの仕様上、「紫と霊夢の終わらない夏」では以下の対応を行いました。

音楽ファイルを wav から m4a と ogg に変換

RPG ツクールMVが、m4a や ogg といった音楽ファイルしか使用できない制限のため、RPG アツマールでは、wav などの一部の音楽ファイルのアップロードが制限されています。

よって、wav ファイルを m4a と ogg の両方に変換し、ゲーム側で、 ogg あるいは m4a を再生しわけるように修正しました。

(Chrome では ogg が再生できますが、safari では ogg が再生できないので、m4a を使用します。)

index.htmlに埋め込みでjavascriptが書けない

セキュリティ上の理由で、index.html に javascript を記述できないので、javascript コードは全て js ファイルに記述して、script タグで読み込むように修正しました。

safari でフォントの読み込みが終わらない

これはRPGアツマールの仕様というより、Safari の挙動が怪しい話です。 弊ゲームでは以下のようなコードで、ゲームで使用するフォントの読み込みが完了するまで、ゲームをローディング画面で待機させています。

しかし、Safari のみ、loadingdone イベントが発火しません(バージョンは10.0)

 // フォントの読み込みが完了
    if(document.fonts) {
        document.fonts.addEventListener('loadingdone', function() { game.fontLoadingDone(); });
    }
    else {
        // フォントロードに対応してなければ無視
        game.fontLoadingDone();
    }

これは、以下のように safari だけブラウザ判定して、 フォント読み込み待ちをしないことで修正しました。

 // フォントの読み込みが完了
    if(document.fonts && !navigator.userAgent.toLowerCase().indexOf("safari")) {
        document.fonts.addEventListener('loadingdone', function() { game.fontLoadingDone(); });
    }
    else {
        // フォントロードに対応してなければ無視
        game.fontLoadingDone();
    }

.gitkeep が含まれていてアップロードできない

RPG アツマールにアップロードできるファイルは、 非常に限られており、未対応のファイルをアップロードすると、 アップロードした時点で、どのファイルが未対応か教えてくれます(便利)

私の場合、.gitkeep ファイルが残ったままだったのでアップロードに失敗しました。 これは、.gitkeep を全て削除して解決しました。

おしまい

RPG アツマールでは、特に規約上でもRPG ツクールMV 製でないゲームのアップロードは禁止されていません。

「紫と霊夢の終わらない夏」のようなオリジナルゲームエンジン製のゲームをアップロードすることもできますし、例えばティラノスクリプト製のノベルゲームをアップロードすることもできます。

みんなも Let’s try!

追記

RPGアツマールのスクリーンショット機能や、画面最大化機能が使えない。canvas DOM に振ったIDが悪い気がするので調査する