スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【御礼】コエヲタヨリニ。1万DL突破!

こんばんは。
あそです。

コエヲタヨリニ。のAndroid版が公開してから明日で1ヶ月になるなぁと思い、
DL数を確認すると、AndroidとiOS併せて1万ダウンロードを超えてました!

プレイいただいた皆様、誠にありがとうございます。
まだ、プレイされていないという方はぜひ、下記からDLしてプレイしてみてください!

icatch_lsize_tuitta.png

何となくですが、次へ活かす為にも、後書きというか振り返りみたいなのを
記載しておきたいと思います。

■作りたかったのは、これまでに無い脱出ゲーム
Android、iOSのアプリマーケットだけに言えることではないですが、
世の中には様々なゲームが公開されており、プレイヤーの方々に周知されるためには、
「これまでに無いもの」を作るべきではないかと考えました。

ただ、「これまでに無い」というのは、
誰も思いついていない」か、「思いついたけど、却下した」のどちらかに分かれると思います。

「視覚情報が無い脱出ゲーム」
「声だけを頼りにする」
というテーマは、考え付いて作り始めたときは「面白いじゃん」「これまでに無い!」と
息巻いていましたが、製作が進むにつれて、
「面白くないんじゃないか?」「駄目なんじゃないかこれ」という不安との葛藤が起こり始めました。

※特に、今回初めて脱出ゲームを作って感じたのが「製作者からこのゲームが面白いのかどうか」、
「謎解きは適切なのかどうか」、「謎が理不尽ではないか」等が非常に分かりづらいということでした。

製作者本人は、謎解きの答えを全部知ってしまっているので、上記のことが本当に不透明でした。

結果として、皆様から頂戴したレビューで「面白かった」等を頂戴しているのは、非常に報われましたし、
同時に反省する部分も見えてきました。

■プレイヤー=主人公にこだわったこと
コエヲタヨリニ。は徹底して、主人公の意思を出さないようにしました。
プレイヤーにゲームにのめりこんで貰うために、「プレイヤー=主人公」の演出に徹底しました。

特に困ったのが、ゲームの後半で、りのによる主人公の行動や言動の描写というものが一切できなくなってしまうことでした。

そこで、Moriというヘルプアプリケーションを登場させ、ゲームの後半はMoriが主人公の代わりに物事の描写をすることになります。
これは、製作段階の後ろの方で思いついた仕掛けです。

■なるべく現実に近いところにストーリーやゲームシステムを近づける
コエヲタヨリニ。はフィクションですが、なるべくプレイヤーにゲームにのめり込んでもらうために、
「プレイヤーにとって有り得ない話ではない」というところを徹底しました。

番号非通知の電話がかかってきて、それは監禁された少女からだった。
プレイヤーにかかってきたのは偶然だった。

と、「有り得ない話ではない」ことにするためのルールを設けました。

また、ゲームのUIは、スマートフォンを意識しましたが、これもプレイヤーに現実感を与えるための仕掛けでした。

■「声を頼りに脱出する」ことの徹底
コエヲタヨリニ。は声を頼りに脱出するゲームなので、このテーマから逸脱しないように徹底しました。
ステージ12をプレイされた方は分かると思いますが、ここでもテーマを意識しています。

また、最後までりのがプレイヤーに頼りっぱなしではなく、最終的にはプレイヤーとりのが、協力して脱出する。
どちらかが一方的にならない。という風にしたかったので、ステージ12はああなりました。


ざっと書くとこんな感じでしょうか笑
コエヲタヨリニ。は「2」の構想があるのですが、作れるようであれば作りたいと考えてます。

「2」では、拡散『希望』のあのキャラクターを出したいとか考えてたりします。
声優さんのご都合が合えばですが……;

ひとまずはまだまだコエヲタヨリニ。が広まっていくように頑張りたいと思うので、
ぜひぜひ皆様プレイしていただけると幸いです。
スポンサーサイト

RPGツクールMV 全画面広告を表示した後のレイアウトのずれ解消(iOS)

こんばんは。
あそです。

ブログ記事を何とか継続して書いてるつもりです。

本日は、RPGツクールMVで全画面広告を表示した後のレイアウトのずれ解消について、
記載したいと思います。

RPGツクールMVで製作したコエヲタヨリニ。では、動画広告をしてUnityAdsを使用しています。
また、Admobのインタースティシャル広告も入れてみようかと検討したことがあります。

上記の2つは、ツクールMVのゲーム画面から、全画面広告に切り替わります。

そこで起こった問題が
「ゲーム画面がポートレート指定、全画面広告がランドスケープだった場合に、
 広告の表示が終わって、ゲーム画面に戻るとレイアウトがずれる」
※iOS限定

でした。

下記の通りになってしまいました。
konnnajoutai.png

何故か、ゲーム画面が右下にはみ出してしまうのです。
こうなると、アプリを再起動するまで直りません。

色々と試行錯誤してみた結果、
index.htmlの
<meta name="viewport" content="user-scalable=no">
となっている所を
<meta name="viewport" content="width=device-width,user-scalable=no">

※半角の<>だとブログに書けなかったので、全角になってます。

上記の通りwidth=device-widthを追記することで解決しました。
同じような問題をお持ちの方はお試しください!


コエヲタヨリニ。好評配信中です!!
koetayo_banar.png

RPGツクールMVでのiPhoneアプリ化ではまったこと

こんばんは。
あそです。

ようやくコエヲタヨリニ。のiOS版が審査を通りました!
リジェクト回数7回!!8回目の申請でようやく通りました。

koetayo_banar.png

↑iOSの方は無料なので、ぜひこちらからDLください!↑

さて、コエヲタヨリニ。iOS版もRPGツクールMVで製作しておりますが、
そこではまったことを1つ記載しておきたいと思います。

それは、アップルへ審査提出した後に発生しました。

「RPGツクールMVでデフォルトで入っているシステム画像が、
存在しなくて読み込めないエラーが発生して、アプリを起動できない」

で、2回リジェクトを食らいました。

勿論、こちらではちゃんと動作確認をしましたし、読み込めないというシステム画像も
ちゃんと入っています。

ツクールMVデフォルトのシステム画像で、1回目のリジェクトは「Balloon.png」が無いエラー
2回目は「Window.png」が無いエラーでした。

しかもこれ、7回リジェクトを食らったうちの、2回目と4回目で発生しているんです。
なぜか1回目と3回目は大丈夫でした。

ツクールデフォルトのシステム画像は、コアスクリプト等から読み込みの命令が出てるようなので、
コエヲタヨリニ。ではデフォルトの画像は使用していないので、画像そのものを無くしてしまえたら
よかったのですが、そういう訳にもいきません。

考えた結果、アップルの審査時には「ファイル名の大文字・小文字の識別が上手くいかない場合が
あるのではないか?」と結論付けました。

RPGツクールMVのデフォルトの画像素材は、大文字と小文字の英語が入っています。
これが、こちら側の環境だと大文字と小文字を識別して、ちゃんと読み込みが行われるが、
アップル側に出すと、上手く識別しない場合がある。のではないかと考えました。

なので、画像素材のファイル名を小文字だけにして、スクリプト側も小文字だけにしました。
すると、アップルからの「画像素材が読み込めないエラー」でのリジェクトも無くなりました。

RPGツクールMVでアップルへ審査を出し、同じようにシステム画像の読み込みエラーで
リジェクトされてしまったという方は一度お試しいただければ幸いです。

これが正しいかどうかの検証のしようが無いので、真相は分からないのですが……。

脱出ゲーム コエヲタヨリニ。の攻略情報

こんばんは。
あそです。

Android版 コエヲタヨリニ。絶賛公開中です!

koetayo_banar.png


iOSは……審査で止まってます……すみません。

既にプレイいただいた方や全てのエンドをご覧いただいた方もいらっしゃり、
ありがとうございました。

コエヲタヨリニ。ですが、基本的にはヒントを見れば進めるようになっていますが、
下記にその他の攻略情報を記載しておきたいと思います。

■マルチエンドについて

コエヲタヨリニ。ですが、ゲーム中の選択肢と信頼度によってエンディングが分岐し、
合計4つのエンディングがあります。

特に
・信頼度が高いときのエンド
・信頼度が低いときのエンド

の2種類が中々、1度目のクリアでは見れないエンドになっているのではないでしょうか。
信頼度が低いときのエンドはとにかく嫌われることをしまくれば、
たどり着けるエンドなのですが、

信頼度が高いときのエンドが、難易度が高いと思います。
下記に信頼度を高めるためのヒントを記載いたします。

●なるべく最短でクリアする
間違えた選択をしない。ゲームオーバーにならない。
ということです。

●電話の相手が応答しなくなっても、声をかけ続ける
相手の携帯電話のマイクが壊れて、向こうの声は聴こえませんが、
こちら側の声は相手に伝わっています。
必死で声をかけ続けましょう。

●ステージ12でタップ回数を残してクリアする
タップ回数を残してクリアすればするほど信頼度があがります。
※ヒントを見てタップ回数を増やすと無効になります。

以上になります。

ここで、ステージ12が中々、一発でクリアできないという方のために
攻略法を記載しておきます。

ステージ12ですが、「運」ではなく「100%」クリアできるようになっています。
タップ回数ですが、1歩進むために3回までタップできるように回数設定しています。

■1度目のタップ
エリアの中央をタップする
    ↓
すると、「右上のエリア」なのか「左上のエリア」なのか
「右下のエリア」なのか「左下のエリア」なのかが分かります。

■2度目のタップ
判明したエリアの中央をタップする
    ↓
仮に「左上!」といわれた場合は「左上のエリアの中央」をタップします。
すると、正解が分かります。

■正解の場所をタップ

これの繰り返しでクリアできるようになっています。
ただ、このやり方ですと、タップ回数は残り1回でクリアとなります。
信頼度はあまりあがりません。

偶然にも1回目や2回目で正解をタップできれば、その分貯金ができますので、
タップ回数を多く残してクリアしようと思うと、運が必要になります。

以上となります。
ご参考になれば幸いです!
ぜひ、信頼度が高いときのエンドを目指していただけるとうれしいです!

RPGツクールMVでのAndroidアプリ化のこととか

こんばんは。
あそです。

ブログを書いてませんでしたね……。
アプリ化作業に追われ、ようやくコエヲタヨリニ。のAndroid版を出すことが
できました!!

koetayo_banar.png

↑ダウンロードは無料なので、ぜひぜひDLしてください↑

※iOS版は審査待ちから動いてくれません……。
 すみません、もう少々お待ちください。

さて、コエヲタヨリニ。ですが、RPGツクールMVで製作しています。
ツクール初のマルチプラットフォーム対応で、スマホにも出力可能ということで、
期待も大きかったのですが、

「RPGツクールMVではスマホアプリにするための下準備ができる」
ぐらいで考えておいた方が良いかなと思いました。

ゲーム自体はRPGツクールMVで作れますが、
そこからAndroidやiPhoneアプリにしようと思うと、結構な作業があります。

作業に当たってはcretia studio様のブログをかなり参考にさせていただきました。

http://studio.cretia.net/
↑サイトはこちら↑

特に困ったのはAndroidアプリ化についてでした。
下記に記載していきたいと思います。

私はプログラミング等の知識はほぼ無いので、
説明が間違っている場合もあるかもしれません。
その際にはご指摘等いただけると幸いです。

AndroidはOSのバージョンや機種ごと、
はたまたAndroid5.0から実装されている「AndroidシステムのWebView」によって
挙動がかなり変わってきます。

私がRPGツクールMVで製作したゲームをAndroid化するにあたって
試した手法は次の3通りです。
※ツクールのバージョンは1.3.5です。

■RPGツクールMV公式通りのやり方(Python版のCrosswalk10)
■Cordova+Crosswalk23
■Cordoba+AndroidのWebView56

以上の3通りです。
このやり方にはそれぞれメリット・デメリットがありました。

まず、
■RPGツクールMV公式通りのやり方(Python版のCrosswalk10)
ですが、
全体的に少し重たくなります。
(画像処理及びBGMやSE等)
BGMは1秒ぐらいの遅延が発生したりするので、
イベントによっては、「ここからBGMを鳴らして盛り上げるぜ!」という時に
BGMが後から流れてくる情けないことになってしまいます。

また、広告を入れたり、スマホ自体のネイティブな機能を使うのは
かなり難しそうです。
(詳しく調べてないので、できるかできないか分かりません)

ただ、動作的には少々重たいものの、安定はまだしてるほうだと思います。
というのもCrosswalkというWEBブラウザエンジンを同梱してアプリ化するので、
どのスマホでも同じ動きをしてくれる。というのがメリットだそうなので、
安定してくるのかなと思います。
AndroidOSも4.0から対応してるようです。
※ツクールMVはAndroidOS4.4から対応としています。

■Cordova+Crosswalk23
これめっちゃ苦戦しました…。
Cordovaはモバイルアプリケーションのフレームワークだそうで、
Androidアプリ化するための手法の1つのようです。

Cordova自体にWEBブラウザ機能は無いので、
スマホ本来のWEBブラウザ機能を使うか、他のWEBブラウザ機能を同梱して
アプリ化するかになります。
ここでは、Crosswalkを同梱してアプリ化しました。

が、CordovaのCrosswalkはバージョンがいくつも存在していて、
バージョンによって挙動が変わります。
最新版は23になります。

昔のバージョンで安定したのがあるようなのですが、
現在はAndroidのセキュリティの関係上、19以上のバージョンしか入れることが
できないようです。
(海外のフォーラムを漁って得た情報なので、真偽は分かりません。
 もしかしたら入れる方法があるのかもしれませんが、
 私は見つけることが出来ませんでした)

そして、このCorsswalkのバージョンによる挙動ですが、
まず19~22までのバージョンは音が鳴りません。
webaudioにバグがあるとか何とかで、まったく音が鳴ってくれません。

なので、音を使うゲームに関しては最新版の23しか入れることが
できないんですね。
18以下のバージョンでは音が鳴るようなのですが、
cordovaに蹴られて入れられませんでした。

で、この23のバージョンも問題があります。
それは、アプリがバックグラウンドにいっても音が鳴り止まないことです。

ユーザーがプレイしている間、BGMが鳴っているとします。
「ちょっと休憩しようかな」
「人が来たからちょっと中止しよう」
として、ホームボタンや電源キーを押してスマホをスリープ状態にしたとしても、
BGMが鳴り止まないのです。

これは結構致命的な問題かと思います。
どうもvisibilitychangeが発火してないくさいです。
Cordovaの機能で
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
を実装すれば、効いてくれたのですが、
まれに失敗することがあり、信頼性に欠けました。

あと、BGMの遅延がひどいです。
2~3秒ぐらいのラグはある気がします。
その他は安定していて、Android4.0等からでも動くので、
このオーディオ周りの不具合を直すことが出来れば、
一番良い選択肢なのですが……。

ちなみにCrosswalkの開発は23で終わりらしいので、
もう改善されることは無いのかもしれません。

■Cordoba+AndroidのWebView56
今回、コエヲタヨリニ。はこれを採用しました。
Cordovaでアプリ化しますが、WEBブラウザの機能は、
ユーザーのスマホに入っているもの(WebView)を使用します。

が、このWebViewですが、バージョンによって動作が変わります。
最新版は56になります。
ユーザーがWebViewをアップデートしているかどうかは、そのユーザー次第です。
それで挙動が変わってしまうのです。

色々なバージョンを試してみたのですが、
46ぐらいまでであれば、まぁまぁ大丈夫な動きをします。
※46で大体1年半ぐらい前のバージョンっぽいです。

しかし、それ以前のものになってくるとBGMの遅延や
ホーム画面に戻ってもBGMが止まらない。広告が出ない等の不具合が出てきます。

最新版の56であれば、BGMの遅延もほぼなく、安定しているのですが、
ユーザーが最新版にしてくれているとは限りません。
なので、自分のスマホのバージョンを46まで落とし、46でも動作するようにしました。

それが、ゲームを始めた瞬間に行われる「ロード」の正体です。
Webviewが56の最新版であれば、BGMの遅延はほぼ無いので、事前のロードは必要ないのですが、
WebViewが古いバージョンの人のために、ゲーム開始時にBGMをプリロードするように
しています。

が、最新版の56であれば問題ないのかというと、そうでもありませんでした。
WebViewの最新版である56では、タッチの挙動が変わったようで、
1回タッチすると、何回もタッチしたという結果が返ってきてしまいます。

RPGツクールMV上では、タッチしただけなのにメニュー画面が開いたり、
セーブしようとすると連続タッチされて、ファイル1しか選べ無かったりと、
まともにプレイできる状態ではありませんでした。

これは、コアスクリプトの
document.addEventListener('touchstart', this._onTouchStart.bind(this));
となっている箇所を
document.addEventListener('touchstart', this._onTouchStart.bind(this), {passive: false});
とすることで解決しました。
同じような症状をお持ちの方はお試しください。

たぶんchromeでプレイする場合も同じ症状が出るんじゃないでしょうか。

これで、一番安定するものを見つけることができたのですが、
この手法はAndroid5.0以上しか対応していません。
WebViewはAndroid5.0から現れたものなので、それ以前のものは
OSの中に入っているwebkitを使うようなのですが、
それがwebaudioには対応していないので、音が鳴りません。
できれば、Android4.4何かにも対応させたかったのですが、
私の技術と頭ではこれが限界でした。


まとめになりますが、
■RPGツクールMV公式通りのやり方(Python版のCrosswalk)
 一番無難な選択肢だが、広告を入れたりするのが難しい

■Cordova+Crosswalk23
 オーディオ周りの不具合が何とかできれば一番いいんだけど…

■Cordoba+AndroidのWebView
 ユーザーがWebViewを最新版の56にしてればパフォーマンス最高!
 でも、Android5.0以上しか対応できない。


ちなみに、crosswalkにするとパフォーマンスが向上するという記事が検索すると出てきますが、
昔の話のようです。

下記はBGM4曲のプリロードタイムを計測したものですが、
●cordova+crosswalk23
   18秒
●cordova+webview56
   6秒
と3倍の差が出ました。

てな感じでした。
知識も無い素人の書いたものなので、誤り等あるかもしれません。
その際にはご指摘やアドバイスをいただけるとうれしいです!

最後に、このアプリですが、トリアコンタン様のピクチャのボタン化プラグイン
大活躍してます!たぶんこのプラグインが無かったら作れてなかった……。



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。