[GameMaker: Studio] GM:SでのWindows Store App製作の現状(追記あり)

GameMaker: StudioにはWindows Store App用にWindows 8(Native/JS)エクスポーターとWindows Phone 8エクスポーターが用意されています。

しかしマイクロソフト社はすでにWindows 10への全面移行を進めていて、ストア関連機能の改革も行われています。
※GM:SでもWindows 10に向けたUWPエクスポーターのβ版が試験配布されていますが、Windows 10のみが対象でWindows 10 Mobileには使用できません。

先日配信を開始したシンプルRPN電卓 SRC-30CVは、Android版ではAdMobによる広告を付加することで無料配信としています。

Windowsストア版も同様に広告付き無料版としたかったのですが、マイクロソフト社の広告配信サービスであるPub Centerがデベロッパーセンターに統合されて以降、GM:Sads_***系命令を使用しても表示されなくなってしまいました。

もしかしたら何か手順が変更になったのかもしれませんが、少なくともYOYO Games社の解説通りに組み込んでも表示されない状態です。

そこで代替案として広告を一旦諦め、試験的に無料お試し版あり有料配信として作り替えました。

Windows 8の方は問題なくwin8_license_trial_version()命令で試用中か購入済みかを判定することができました。

しかし、Windows Phone 8の方はwinphone_license_trial_version()命令を使用しても常にfalse(=製品版購入済み)の判定になってしまいます。
YOYO Games社のBUG Trackerを見ると過去に同様の不具合があり、現在は修正されているといった記述が見つかりましたが、現時点で最新のv1.4.1757では確実にfalseが返されます。

ライセンス系命令に関してはマイクロソフト社のサーバーも関わりGM:S側の問題ではない可能性もあったため、とりあえずアプリ申請を行ってみたところ実際にストア配信されたアプリでは正常に試用版として判定されていました。

GM:Sを使用したWindowsストアアプリ配信を行う際は、以下の点に注意した方がよさそうです。

  • [Win8/WP8] ads_***系命令が機能しない(開発中に表示が確認できない)
  • [WP8] リリースされるまでwinphone_license_trial_version()命令で試用中判定ができない。
  • [WP8] 何らかの要因によってWindows 10 Mobileは対象外になってしまう。
    SRC-30CVはWin10Mobileで使用できますが、同じGM:S製のさくらあんぷちはWin10Mobileにはインストールできません。(解決策あり)
  • [Win8/WP8] マニフェストファイルの修正が必要。
    詳細は過去の記事を参照してください。
  • [Win8/WP8] WP8では“戻る(Back)”キーがキーボードの“BackSpace(BS)”キーに割り当てられており、入力があった際に“1画面戻る”または“終了”といったネガティブなアクションを起こすことが義務付けられている。
    Win8でBSキーにそれ以外の機能を持たせてしまうと、WP8では審査を通過できない可能性がある。

*追記 2016/05/16

Windows Phone(Androidでも同様)では、そもそもGM:Sでのキーボード検出はできませんでした。GM:Sマニュアルにも”キーボードはデスクトップ環境のみ対応”と書かれていました。

さらに、Windows Phone端末の“戻る(Back)”キーは前述の通りGM:SではBSキーとして検出されますが、Windows Phoneに接続した物理キーボードではBSキーは反応せず、ESCキーを押すとGM:S上でBSキーとして検出されます。

そのため、GM:Sでキーボードの処理を行う場合は、デスクトップ環境とそれ以外で処理方法を切り替える必要がありそうです。