○○さんだーおめが

ONScripter on MEDIAS W N-05E作ってみた(配布はしてません) 2013-05-16(木)22:47
 MEDIAS WでONScripter on Androidを二画面フルスクリーンモードで起動すると、向きが左右二画面固定なせいで、キャラが真ん中に立っている時に縦真っ二つに分断されてしまうのが残念な件。
 アプリが端末の傾きに関わらず画面の長辺を横幅とするようになっているため、二画面フルスクリーンだと、1080(540x2)x960の左右見開きで固定されてしまうのが原因。
 開発環境は基本的にPCですが、センサー系の処理の動作確認には実機が必要になりますし、そもそもジャイロセンサーなどがない端末もありえるのと、どの道MEDIAS Wみたいな変態解像度端末でもないとまず問題にならない話なので、ONScriptorに限らずそういうコーディングをしているアプリは多いのです。
 ACTなどで自キャラが真ん中でぶった切れるのは割とどうしようもないと思いますが、一般的なADVであれば、左右でなく上下に分割できれば、下画面にテキストウィンドウ、上画面にバストアップって感じになるでしょうから左右に分かれるよりは遥かにマシですし、1080x960とほぼ正方形なので、4:3の作品だと、1080x810が960x720になったところで大差はないですが、720x540との差は結構大きいわけで。
 ということで、ONScriptorはオープンソースで基本的な設定やビルドの仕方も解説されていることですし、Androidアプリの作成を試してみるついでに、MEDIAS W向けにカスタマイズしてみることに。
 折角なのでeclipse+ADTで開発できるようにしたかったんですが、文法チェックで警告が発生する書き方をしていたり、最新プラットフォーム向けだと推奨されてないメソッドが使われてたりで色々面倒そうだったので、とりあえず今後の課題ということにして、解説ページの指示通りのビルド環境で作業開始。

 まず横向き固定なところの修正で、AndroidManifest.xmlのandroid:screenOrientationをlandscapeからportraitに。
 試しにsensorにしてみたら、ちゃんと端末の傾きに合わせて回転する様になりましたが、それはどちらかというとアプリの外側の話で、アプリ自体は向きの変更に対する制御をしていないため、向きは変わってもリサイズはされないようなので、ゲーム開始後に向きを変えるならアプリを再起動する必要があるのでした。
 しかもこの場合、端末の設定で回転offにしても効かなかったので、起動時の端末の向き依存にするにしても、unspecified(システム依存)にするのが正しそうな予感。
 もちろん画面の回転に反応して再調整されるようにするのがベストだと思いますが、どの道いちいち自動回転のon/offを切り替えるのも面倒ですし、16:9の作品なら普通にシングルモードで横向きにした方が良く、アプリ本体は数MBしかないので、今回は横固定のオリジナル版と共存できるようにいじって縦固定にしました。
 ちなみにアプリを縦向きにしても、OPムービー等は動画再生アプリ任せで、そちらもやはり大抵画面の縦横比で向きを決めるため、ムービーの時だけ横向きになってしまいます(^^;(MX動画プレーヤーだとうまくいかないのでVPlayerを使用)

 更に縦固定にしただけだと、ボタンの表示/非表示時のゲーム画面の位置の都合で、テキストウインドウが切れて読みづらくなったり、極端に背の低いキャラだと顔が切れるなどして結構気になったので、常時テキストウインドウのすぐ上(画面の下3分の1)で切れる様にゲーム画面の位置を調整。
 ついでにデフォの指定フォルダ"/sdcard/ons"に置いたconfig.txtに設定したパスを読み込む様に改造し、起動時のランチャーで開く初期フォルダを"/storage/sdcard1/Game/ons"みたいな任意のフォルダに出来るようにしてひとまず完成。
 「最後にゲームを開始した時の直前のフォルダを自動保存」とかも頑張れば出来そうでしたが、個人で使う分にはここまでで十分だったのでパス(^ω^;
 機能追加したのでオリジナル版も修正してパッケージ名を変更し、アプリ名もONScripter+とONScripter'とかにしておきました。

 にしても少し前に調べたことがあるので知ってはいましたが、内蔵ROMの容量が少なく外部SDが事実上のメインストレージという端末が主流だった頃からのものだからか、Environment.getExternalStorageDirectory().getPath()は外部ストレージというよりメインストレージのパスを返すものになってしまっていて、追加ストレージとしての外部SDのパスを自動的に返してくれるメソッドが用意されてないのはなんとかならないもんですかね(´・ω・`)
 Environment.getExternalStorageDirectorys()とかで使用可能なストレージのリストを返してくれるようになったりするといいんですけどな。

 そんなわけで例によって無駄に汎用化した改造も上手くいったので、久し振りにプリホリやはにはにで遊んだりしてますw

 てかデストロ・銃トリ・アイドルのチームが序盤から安定し過ぎててモチベが上がらないせいで、セブドラIIがなかなか進みません(-_-;

P.S. ナビゲーションバーのことを忘れていた件
 Android 3.0以降は基本的に物理ボタンの代わりにナビゲーションバー(コンバインドバー)が表示されるため、通常のアプリで全画面使い切ることは出来ないのを忘れていました。
 従来のステータスバー同様、ナビゲーションバーの表示を抑制することも出来なくはないようですが、一時的に消すことはできてもタップ等の操作に反応して強制的に現れるため、ONScripterの場合オートモードやギャラリー以外では実用的ではなさそうです。
 2画面アプリ開発コンテストで公開された作成ガイドラインによれば、MEDIAS Wのナビゲーションバーの高さは62ないし63pixel(LandscapeとPortraitで変化)で、上下二画面時もタブレットのコンバインドバーのように下に出たりはしないで右に付く仕様な模様。
 従って二画面フルスクリーンでのアプリケーション領域は1080x897で、縦固定時の4:3のゲーム画面は、960x720ではなく897x672の微妙なサイズということに。
 それでも面積比でシングル時(720x540)の倍近くはあるのですが、横向きなら1080x810を使い切れるだけに少々残念。
 ダブルモードや左右二画面の時はともかく、上下二画面フル時にアクティブラインも無しでナビゲーションバーを下に表示とかできれば幸せなんですが、ホーム画面のデザイン的にも今の仕様が無難でしょうしなぁ。
 Android4.0以降の時にLow Profileモードにする(ナビゲーションバーのボタンを“・”にして目立たなくする)くらいはしても良さそうですが、ONScripterだと何気にバックボタンがEscキーとして機能しますし、設定メニューを開くボタンも目立たなくなるので、個人的にはこのままで良いかという感じ。
 ともかくプログラム本体の修正内容とかまとめたので晒しておきます。

ONScripter on Android for MEDIAS W N-05Eまとめ
前作もクリア後やってない 2013-05-24(金)20:11
 セブドラIIはようやくチャプターX。
 結局初期の迎撃パターンが最後まで通用しちゃってて作業化してますし、クリア後も相手に合わせて「〜也」決め撃ちで安定になってしまいそうなんで、クリアしたらさっさとダントラ2に戻ろうか悩み中。



・[PS3]仮面ライダー バトライド・ウォー プレミアムTVサウンドエディション(バンダイナムコゲームス)
 あまり見てなかった時期もありますが、好きな作品は多いですし、初PS3ということで、これまでに比べるとターゲットの年齢層もやや高めな内容っぽいので、コレクターズアイテム的に購入。
 基本は無双ACTみたいなのでゲーム的にはお察しくださいな感じだと思いますが、ザコ戦党員を薙ぎ倒してボスと戦闘という流れは格ゲーよりもライダー向きですし、平成ライダー14作品揃い踏みなのはもちろん、各種フォームチェンジやライダーごとの固有ルールの他、バイクアクションも再現といった方向性は間違っていないかと。
 流石にPS3とはいえ、自分で操作可能なのが公式サイトのライダーだけらしく、ディケイドのカメンライド用カードは一度に3枚までといった制限もありますが、キャラクター数についてはとりあえず放送中のウィザードから2種が無料配信予定ですし、時期的に新作のリリースに合わせた初期フォームの配信くらいは期待したいところ。

 ちなみにプレミアム版ではBGMにTV版OPや挿入歌が収録&プリセットされていますが、カスタムサントラ機能で自分で好きな曲に入れ替えられて、他に特典もないのでCDとか持ってる人は通常版でも一応問題ない模様。
 但しPS3のHDDに入っているMP3等をカスタムサントラにセットする際、あまり大量の曲をひとまとめにしておくとフォルダの読み込みが遅かったりするらしいですし、そうでなくても色々カツカツで不安定みたいなので、余程こだわるorケチる人でなければプレミアム版の方が何かと楽そう。

 土日にやる予定ですが、メインシナリオくらいはサクッと終わらせてしまいたいところです。



・[PC]お嬢様はご機嫌ナナメ(WillPlus/ensemble)
 シリアルキー共通で公式サイトに公開とかプロテクトの意味なくね?と思ったけど、フラゲ対策ってことですかね?


P.S.
 初めてだったもののウチの環境では問題なかったのでスルーしてたんですが、プロテクトに使われてるStarForceとやらは、性質上セキュリティソフトの誤検知のようにホワイトリストとかで任意に回避可能に出来る物でもないというのに、チェック方式に問題があって誤検知しやすいシロモノだそうで。
 光学ドライブが物理的にSCSIを使っていなくてもSCSIデバイスと認識されてるだけでダメだったりするようですが、デバイスマネージャーとかよく分からない場合も、USB接続の安い外付けDVDドライブでも使えば大丈夫そうな気はします。
 にしてもユーザー登録用のシリアルナンバーと初回認証用シリアルキーが別で、認証用キーの方は公式サイトとか参照で同梱物には記載されてないとかも紛らわしいんですが、メーカー的にはそんなやっつけ実装でも規制した方がマシだったりするんですかね……(-_-;