2013年8月24日土曜日

iPhoneでバックグラウンド動作させる場合のTIPS

久々に技術ネタを書きます。
今回は、iPhoneアプリでのバックグラウンド動作について。

1. 概要

元々(iOS3の頃)のiOSは、サードパーティ製のアプリ(一般アプリ)のバックグラウンド動作は出来ない仕様でした。しかし、iOS4でバックグラウンド動作が出来るように仕様変更されました。

ただし、バックグラウンド動作は、特定の種類のアプリにしか許可されていません。
バックグラウンド動作をしても良いアプリは、次のもののみです。

  • 音楽プレーヤーのように、バックグラウンドで音声を再生するアプリケーション
  • ナビゲーションのように、常に位置情報を知らせるアプリケーション
  • VoIP(Voice over Internet Protocol)対応アプリケーション
  • 最新号をダウンロードして処理する必要があるNewsstandアプリケーション
  • 外付けアクセサリから定期的に更新情報を受け取るアプリケーション

詳しくは、Appleが発行している「iOSアプリケーションプログラミングガイド」の「バックグラウンド実行とマルチタスク」というセクション(65ページあたり)に書かれています。上記以外の種類のバックグラウンド動作をするアプリだと、Appleの審査でリジェクトされると思います。

2. 基本的な実装方法

plistに「Required Background Mode」を追加して、オーディオアプリならitem0に「App plays audio」を設定します。あとは、デリゲートで起動完了時に、オーディオセッションのカテゴリをプレイバックに設定する必要があります。

以下の記事あたりが分かり易いと思います。
http://d.hatena.ne.jp/KZR/20100920/p1

一般的なアプリなら、この実装をするだけでOKです。ですが、OpenALを用いているプログラムの場合、その他にも色々な改造が必要です。本項の情報なら、割と沢山出回っていたのですが、その点について解説したTIPSが見当たらなかったので、若干苦労しました。以下、OpenALを用いているプログラムをバックグラウンド対応する為に必要なTIPSについて記します。

3. バッファリング間隔の変更

バックグラウンド動作時のバッファリング間隔を修正する必要があるかもしれません。iOSでは、バッファリング間隔の目安として、CD品質(44100Hz、ステレオ、16bit)の音声であれば500ms程度※としています。
※Appleが発行している「オーディオセッションプログラミングガイド」の「最適なオーディオハードウェア設定の指定」(40ページあたり)を参照

SUZUKI PLAN - Video Game System(VGS)の音声品質は、22050Hz、モノラル、16bitなので、125ms辺りが目安値になります。しかし、バッファリング間隔をそんなに長くしてしまうと、効果音の再生処理の遅延が酷くなってしまいます。そのため、VGSでは通常(フォアグラウンド動作時)は、バッファリング間隔を50msにしています。フォアグラウンド動作であれば50msでも問題無く動いてくれていましたが、スリープボタンを押すと、音飛びが発生してしまいます。どうやらiOSは、スリープ時に(電池消費を抑える為に)プロセスに対して割り当てるプライオリティを、意図的に低く設定しているようです。

そこで、バッファリング間隔を
・フォアグラウンド時は50ms
・バックグラウンド移行後は500ms
という具合に、状態に応じて切り替える制御を実装する必要があります。

4. メインルーチンの別スレッド化

私のアプリの場合、メインルーチンは、CADisplayLink(垂直同期)の仕組みを使って1秒間に60回呼び出される形になっています。しかし、バックグラウンド移行後は(アプリに対して垂直同期時に割り込み通知をする必要が無いため)それが呼び出されなくなってしまいます。そこで、バックグラウンド移行後は、メインルーチンの呼び出しを別スレッドで行うようにする必要があります。

5. デバイスロスト(割り込み)の対処

従来の私のiPhoneアプリは、ホーム画面に戻った場合、プロセスを停止するようにしていました。しかし、バックグラウンドでの動作(※サスペンドを含む)を想定する場合、OpenALのデバイスロストを検知した時の処理を実装しなければなりません。OpenALのデバイスロストが発生すると、割り込みにより、予め定義したコールバック処理が実行される仕組みになっています。そのコールバック処理で、適切な復旧処理を行う必要があります。

ちなみに、コールバックが未登録の場合、デバイスロストが発生しても、特にエラーが発生せずに処理を続行します。しかし、その状態(適切な復旧処理を行っていない状態)では、音が鳴らなくなってしまうので、注意する必要があります。

なお、割り込みは、競合するオーディオデバイスを使用するアプリを起動した時に発生します。分かり易い例としては、アプリが動作中に電話が掛ってきた時とか。


こんな感じです。

東方VGSをバックグラウンド再生に対応させるため、これだけのことをやりました。割と大変でした・・・大変だったけど、結構沢山の方から要望を頂いたので、速めに対応した方が良さそうだということで、予定外のバージョンアップで対応することにしました。(本当は、妖々夢の全曲が揃ってからアップするつもりでしたが、それでは遅すぎるだろうと思ったので)

今回の敗因は、「iPhoneではバックグラウンド動作はできない」と私が勝手に思い込んでいたことかな。いわゆる「だろう設計」ってヤツです。Appleの設計思想は、そんなにコロコロ変わらないだろうと勝手にイメージしていましたが、どうやら、そうでもなかったようです。

2013年8月23日金曜日

NOKOGI Rider 祝100+&1周年

何気なく、Google PlayでNOKOGI Riderをチェックしていて、重大なことに気づきました。
Google Playの様子(8/23撮影)

お分かりいただけたでしょうか。

ダウンロード数が「100+件」になりました!!!

感無量です。
あれっ?
嬉しい筈なのに涙が・・・
ご購入いただいた方は、本当にありがとうございます。

ついでに、製品版のNOKOGI Riderをリリース開始してからもうすぐで1年になります。
「サクラを一切使わず1年で100本売る」
という販売目標(KPI)を立ててやっていたので、ギリギリ達成することができました。
Invader Block 2の時は、職場の知り合い数名に購入していただいたりしたのですが、NOKOGI Riderについては本物の「実力only」で勝負したかったので、Lite版を勧めることはあっても、製品版の購入は催促しないようにしました。

「1年で100本」と聞くと、とてもささやかな数字に見えるかもしれません。
ですが、ほぼ無名の個人が作ったアプリを100本売ることは、相当大変なことです。
CAVEの怒首領蜂大復活ですら5,000~10,000本しか売れていないし、パズドラが大ヒットしているガンホーも、実は有料アプリを出しているのですが5,000~10,000本しか売れていません。

無料(広告モデルとか)であれば100本なら割と簡単にクリアできますが、無料と有料の間の壁は、余りにも大きすぎます。「iPhoneなら」と、思っていた時期が私にもありましたが、iPhoneだったとしても大変なことです。(一昔前なら良かったかもしれませんが)

ちなみに、販売数の国別の内訳としては、次の通りでした。
国別の内訳
日本:外国=4:6という感じですね。
概ね想定通りの割合です。

私は、元々「スマホで作るなら、グローバルで売れるゲームを作りたい」と考えていました。グローバル路線でいくことについては、もしかすると、賛否両論があるかもしれません。日本人なら日本人向けに特化したゲームを作った方が、良いのは確かです。ただ、ロケールフリーなゲームを作るということは、言語による柵を超えることを意味します。私は常々、ゲームはシンプルでなければならないと考えていたので、グローバル路線を意識したことは、私の作品にはプラスの作用をしたと思います。

さて、次の目標ですが、「このやり方で100本売れたのなら、1万本は売れるんじゃない?」と思っていたりするのですが、それはまだまだ先のことになりそうです。地道なブランディングを推進して、「SUZUKI PLANのゲームなら買っても良い」と思っていただけるようになれば、恐らく達成できると思いますが、道はまだまだ遠い。っていうか、無料のLite版ですら10,000本に届いていないですし...(Lite版の総DL数は、現時点で6,000本ぐらい)

2013年8月4日日曜日

iPhone/Android両対応の有料アプリの売り方に関する考察

私は、SUZUKI PLAN - Video Game System(VGS)を用いることで、iPhoneとAndroid両対応のアプリを効率的に開発することができます。ですが、そのポテンシャルの活かしたマーケティング方法について、あまり考察せず、「完成したら可能な限り早くリリース」というスタンスでやってきました。ただ、ちょっとばかり考えてみると、どうもそのやり方はあまり宜しくないかもしれない…ということで、記事に纏めてみることにしました。

(1)マーケット特性
GooglePlayとAppStoreの特性の違いを、下表に纏めてみました。
比較項目
GooglePlay
AppStore
申請から公開迄に掛かる期間 1~2時間ほど 1~2週間ほど
新着インプレッション機会 一定の人気が有る場合に限る 必ず有る
ランキング変動スパン 長め 短め
価格変更 ○有料→無料
×無料→有料
○有料→無料
○無料→有料

(2)申請から公開迄に掛かる期間
GooglePlayの場合、申請したアプリについて、人手による審査は無いため、申請すればすぐに公開されますが、AppStoreの場合、Appleによる審査に1~2週間程度の期間を要します。そのため、AndroidとiPhone両方のアプリが同時に完成でき、可能な限り早く申請を行った場合、公開される順序は必ずGooglePlay→AppStoreの順序になります。

(3)新着インプレッション機会
GooglePlayとAppStoreの場合、新着アプリのインプレッション機会に大きな違いがあります。GooglePlayの場合、公開から1ヶ月以内の人気のあるアプリに限り、「新着ランキング」に載ることができますが、AppStoreの場合、全てのアプリに「新着アプリ」への掲載機会があります。
つまり、以下のようなことが言えます。
・GooglePlay:プロモーション(広告、SEO等々)をしなければ、殆どダウンロードされない。
・AppStore:何もしなくても数日間はダウンロードして貰える。

(4)ランキング変動スパン
人気ランキング(※新着に限らない)は、GooglePlayの場合、変動が少ないのに対して、AppStoreは非常にコロコロ変動します。この違いにより、GooglePlayでは、一度人気を取ったアプリは長期間ランキング掲載されるのに対して、AppStoreでは、人気が長続きすることは無いという特徴があります。換言すれば、GooglePlayでは、ランキング上位へ食い込むことが極めて困難であるのに対して、AppStoreでは、誰でもランキング上位へ食い込むチャンスがあると言えます。

(5)価格変更
AppStoreとGooglePlayの最大の違いは、無料アプリの有料化ができるか否かです。
AppStoreならできますが、GooglePlayではそれができません。
なお、有料アプリの無料化ならどちらでもできますが、それは基本的に禁じ手です。有料時に買っていただいた方に申し訳ないので、「お客様第一主義」という観点では、絶対にやってはいけないことだと思います。(個人的には、値下げ販売も同様だと思っています…割と横行してますが)

(6)考察
上述の事情を考察した結果、最も理想的な販売戦術は、次のような形だと思います。
①最初に、iPhone版を無料(広告すら無しの完全無料)でリリースする
②一定期間経過後、有料化する
③Android版を最初から有料でリリースする
④広告出稿等のプロモーションを必要に応じて行う
上記①は、アプリの内容について評価をして頂くためのものです。一般ユーザの声が聞けるので、プロモコードを発行するよりも遥かに有益だと思います。そして、評価されればランキング上位に食い込み、更なる評価機会を得ることができます。
その後(一定の評価が得られてから)、有料化(②)を行います。「有料→無料は禁じて」だと先述しましたが、「無料→有料」ならOKだと思います。ただし、「有料の別バージョンをリリースして、無料版を非公開にする」という方式はNGです。実際、そういうやり方をしているアプリを見た事があるのですが、☆1でボロクソに叩かれまくっていました。少し考えれば、そんなことは誰でも分かるのに、何故そんなことをしたのか不思議です。無料で提供することで得られなかった収益は、「プロモーション費用」だと割り切って考えるべきだと思います。
そして、iPhone版での一定の成功を待ってから、Android版をリリース(③)します。そうすれば、口コミ(ブログ等)でアプリの情報が広まった状態になっていると期待できるので、ランキング上位へ食い込むことが難しいAndroidでも、そのチャンスが訪れるかもしれません。
また、iPhone版で得た収益から、広告費用を捻出できるかもしれません。Android版の方が、売るのが難しい分、売れれば大きい(World wideでの数がiPhoneよりも遥かに多い)ので、iPhone版はテストマーケティング、Android版で本気のマーケティングを仕掛けるやり方の方が、売り上げが大きくなるのではないかと想定しています。なので、必要に応じてAndroid版の広告出稿など(④)を行います。

次(SUPER REAL RACING(仮))からは、この作戦で行ってみるか。
作り手サイドの思考としては、作ったらなるべく早くリリースしたいのですが...
ただ、そこは、グッと堪えた方が、得策かもしれません。

2013年7月27日土曜日

東方BGM on VGS

先日、私が公開しているAndroidアプリ、東方BGM on VGS(東方VGS)で、東方紅魔郷の全楽曲(17曲)の対応が完了しました。一区切りついたということで、このアプリの趣旨(?)のようなものを書き綴っておきます。

■東方VGS(Android版)
https://play.google.com/store/apps/details?id=com.suzukiplan.TOHOVGS

■動画(全17曲を再生する様子)
※30分ぐらいあります(BGM代わりにでもどうぞ)

(1) 趣旨

私は以前、SUZUKI PLAN - Video Game System(VGS)に関する論文の中で、ゲーム用の音源としては、VGSの波形メモリ音源ぐらいのスペックが妥当であるようなことを、クドクドと説いたような記憶があります。ただし、その点についての客観的な証明をするには、私の作曲の腕前だけではちょっと(かなり?)微妙だということで、私自身が好きで、尚且つ人気も高い、東方Projectの楽曲を「二次創作」という形でお借りすることにしました。

そして誕生したのが、東方VGSです。

(2) SUZUKI PLAN - Video Game System(VGS)

SUZUKI PLAN - Video Game System(VGS)とは、私が開発したゲーム機です。ただし、ゲーム機としての実体は存在しません。VGSは、私が論理的にデザインした仮想ゲーム機で、Windows、Android、iPhone(iOS)で動作するエミュレータのみが存在します。(ここまでテンプレート)

VGSで作られたゲーム等@Android
VGSで作られたゲーム@iPhone
※私がリリースしているスマホ(Android/iPhone)用アプリは、全てVGSで作られています。

詳しい事は、このブログで過去に何回も書いているし、論文の方でも詳述しているので、省略します。

(3) 東方VGSを作った目的 #1

私は、SUZUKI PLAN - Video Game System(VGS)のプロモーションの一環として、東方VGSを作りました。そのため、東方VGSでは、一切の収益化(マネタイズ)をしないようにしています。要するに、ひとりでも多くの方に使っていただくため、完全に無料で提供しています。東方VGSを通じて、SUZUKI PLAN - Video Game Sytem(VGS)の名前だけでも知って頂ければ、それでOKだということです。そのための障壁となる行為は一切しないようにしています。だから、広告すら付けてません。
若い時なら、単純に「好きだから」という理由で突っ走れるかもしれませんが、歳を取ると、中々そういう訳にはいきません・・・動くには、大義名分が必要なのです。

もっとも、私の場合、「無料だよ!」と言われると、警戒してしまいますが。
東方VGSは、上述のように、明確な目的の元、無料で提供しています。
だから、何もご心配なさらず、お楽しみください。

なお、スマートフォンアプリで東方Projectの二次創作アプリのマネタイズをする場合、原則的には、上海アリス幻樂団からの個別許諾が必要になるという事情もあったりします(※東方Project二次創作のガイドラインを参照)。広告付き無料アプリの場合、収益がお小遣い程度ならOKとのことなので、私の平均的なお小遣いが月3万円ぐらいだから、年間36万円前後がデッドラインであろうと解釈しています(※あくまでも、私の解釈です)。

広告アプリの収益というのは、平均1DLあたり1円ぐらいなので、二次創作アプリのトータルDL数が(少し下駄を履かせて)年間50万DLを超えた場合、アウト(個別契約が必要)になる可能性があると思っています。(「アウト」というと若干語弊があるかもしれませんが)
※「50万DL」という風に下駄を履かせた理由は、広告アプリは今後、主要な広告主だったソーシャルアプリのポテンシャル低下により(=在庫不足&全体的に入札価格が低下することにより)、収益は落ちていくものと想定している為です。(あくまでも個人の予測です)

(4) 東方VGSを作った目的 #2

前項の目的とは別に、純粋に一人の音楽をやっている人間として、東方の音楽をアナリーゼしてみたかったという目的があったりします。東方の音楽は、とても人気があり、私自身も好きなのですが、具体的に何処が良いのか、何故人気があるのかを論理的には説明し難い部分があります。その点を、東方の音楽を詳細に解剖することで掴んでみよう・・・という試みです。

こちらの目的の方が、何となく同人っぽいかも。

ちなみに、私が東方紅魔郷の中で一番好きな曲は、「ヴワル魔法図書館」(4面道中)です。王道ファンタジーのような旋律で始まったかと思うと、現代音楽のような不安定なパートで終わる曲なのですが、この曲の良いところは、非常にゴチャゴチャとしているところです。ただし、一般的な人気は、必ずしも高い曲とはいえません。(敢えて、この曲を一番に推す人は、そんなに居ないと思うので)

一般的に人気がある曲は、「U.N.オーエンは彼女なのか?」じゃないかと思います。ただ、純粋に音楽として見てみると、正直なところ、曲自体の良さが今一つ分かりません。データを作りながら曲を分析してみて分かったのは、「U.N.オーエンは彼女なのか?」は、やはり、音楽自体は極めてシンプル(悪い言い方をすれば単調)な作りだということです。つまり、曲の解析からは何も導き出すことができませんでした。

それが、意図的な演出であるかは定かではありません。

しかし、恐らく、開発当時、一番最後に作ったであろうExtraステージということで、半分投げやり状態で作ったのかなぁ?と感じるところ(疲れ?のようなもの)が所々あるので、恐らく意図しないで生まれた演出だと思います。そして、それがゲーム本編と組み合わさると恐ろしくマッチしている。「U.N.オーエンは彼女なのか?」に限らず、一般的に人気がある曲は、概ね同じ傾向だったと思います。

ゲーム音楽は、「ゲームのための音楽」なのだから、ゲームと調和した音楽の人気が出る。
だから、曲はシンプルな方が良い。
・・・そんなことを、再確認しました。

なお、「再確認」というところがポイントです。

つまり、「論理的に説明」という部分に関して、新発見は何もありませんでした。
まぁ、この程度の分析で本質が掴めれば、誰でも東方のように人気のある曲が作れる訳で...
ただ、文書では説明できない部分では、幾らか掴めたモノはあります。
非常にフワフワしたものです。

(5) データの作り方

ここでちょっと話題を変えて、東方VGSに同梱している東方の音楽データを、私がどういうプロセス(手順)で作成しているかということを解説しておきます。

まず、ピストンコラージュ(ピスコラ)を使って、耳コピーや原曲のMIDIデータを参照するなどして、ピスコラ譜を作ります。この段階で、対位法などを駆使して編曲まで済ませておきます。VGSの場合、音声チャネルが6に限られていて、原曲通りの音を鳴らす事が不可能なので、対位法で編曲する際は、より原曲に近いイメージにするため、敢えて原曲通りの副旋律ではなく、独自の副旋律を挿入します(稀に、原曲通りで良い感じの場合もありますが)。また、自然楽器じゃないと自然に聴こえない部分とかは、主旋律も多少弄ります。更に遊び心で弄ることもあります。ただし、それでも原曲らしさは失わないように細心の注意を払います。

二次創作とはいえ(むしろ、二次創作だからこそ)、原作者の著作者人格権を保つように努める必要があるから、私は、東方VGSでなるべく私の個性を消し、著作者の個性を出すようにしたつもりなので、もしも、私の独自色が目立つ形に聞こえてしまった場合、私の負けです。そういうゲームです。

アプリの説明文で、「基本的に原曲忠実にコピーしたつもりですが、VGSで良い感じに聴けるようにするため(または、私の力不足のため)、若干アレンジしています。」といったことを書いていますが、この括弧書きの部分は、そういった意味で書いています。

そして、ピスコラ譜が出来上がったら、それを基にしてMMLデータを作成します。
この作業の過程でも、主にエフェクト周りの調整などのアレンジをします。
そのため、この作業も機械化せず、手作業でやるしかありません。

それらの作業を経て、ようやく1曲分のデータが完成します。

アプリのレビューで、「もっと早くアップして欲しい」というお願いをよく頂きますが、上記全ての作業は、機械的に実施することが一切不可能な作業でして、ついでに、専業ではなくサラリーマン兼業でやっているから、スピードアップは中々難しいです。専業でできれば、週3曲ぐらいはイケると思いますが。しかし、兼業では週間連載が精いっぱいです。

(6) 反応&今後の展望

おかげさまで、東方VGSは、私が想定していた以上に好評でした。
5月2日にリリースしてから、7月26日現在の総DL数は2,259件、評価は☆5が51個、☆4が1個、☆3以下が0個で、平均すると☆4.98でした。これだけ高い評価を頂けたのは、偏に東方の楽曲の実力によるものだと思います。

これだけ好評を頂けた以上、まだまだやめる訳にはいかないかなと思います。実のところ、東方VGSは、紅魔郷の楽曲がコンプした時点でやめるつもりでした・・・が、想定以上に良い反応を頂けたので、妖コンプ&永コンプぐらいまでは頑張ろうかと思っているところです。

先のことは分かりませんが。

ちなみに、上海アリスサイドから「やめてくれ」と言われれば、即座に止める準備があります。私は、東方VGSを作るのに際して、東方Project二次創作のガイドラインを完全に遵守するように努めているつもりですが、私のようなパターンの二次創作は、もしかすると、想定外かもしれないので。(ただし、東方の場合、私に限らず作者が想定していないパターンの二次創作があまりにも多すぎるから、私の二次創作もごく普通程度のものです。自分で音源モジュール(エミュレータ)を作った上で演奏するタイプは、私が知る限りでは初めてのパターンだと思いますが。)

純粋な二次創作=ファンアートという側面があり、且つ、外形上はガイドラインは満たせていますが、私は外形上のルールより、もっと本質的な部分を守るようにしたいと思っています。

(7) iPhone版について

例によって、iPhone版も作りました。
Appleの開発者向けサイトがハッキングされた影響で、若干リリースが遅れてますが。
ちなみに、Android版とはちょっとばかり仕様を変えました。
iPhone版のスクリーンショット
Android版でご要望いただいたものの、技術的な事情で実装を断念した連続再生とシャッフル再生の機能を実装しました。その代わり、Android版でご好評いただいているバックグラウンド再生機能については、iOSの仕様の都合で実装できないため、省きました。

ちなみに、「技術的な事情」というのは、「私の」技術的な事情ではなく、「OSの」技術の事情です。あちらを立てればこちらが立たず・・・という感じ。実のところ、Android版であれば、連続再生とシャッフル再生を実装できなくもないのですが、ノーパーミッション&セキュアな形で実装をすることは、できません。

(8) アップデート再開の見通し

当初、iPhone版のアップロードがされてから、次のアップデート(妖々夢対応)を再開しようと思っていましたが、Appleがハッキングされた影響で若干計画が狂ってしまったので、iPhone版のアップロードを待たずに、なるべく早く(Android版の)アップデートを再開しようと思っています。

ちなみにiPhone版は、Android版ほど頻繁なアップデートは行いません。
ひとシリーズ(東方の場合、シリーズという呼び方は禁忌だったか?)が終わった都度、一気にアップデートすることを予定しています。スピーディーなアップデートを期待される方には、Android版がオススメです。

2013年7月14日日曜日

Battle Marine完成

昨日(13-Jul)、Battle Marineが完成したので、Windows版とAndroid版をリリースしました。
ダウンロードはコチラからできます。

(プロモーション動画)

例によって、iPhone版も近々リリースする予定です。
ちなみに、iPhone版は、リリースから数日間は無料配布し、その後、有料化する予定です。リリースに関する情報は、私のSNSアカウント(Twitter、Google+)でつぶやく予定なので、無料でiPhone版をゲットしたい方はリストなりフォローなりで監視をしてください。

このゲームの趣旨

このゲームは、PC-8001時代に今風太さんが作成したSUB-MARINEというゲームのキャプチャ画像を見て、「これは、面白そうだ」と思って起草しました。ただし、私はSUB-MARINEをプレイしたことはありません。キャプチャ画像を眺め、ゲーム内容を想像しながら自分流にリファクタした感じです。

もっとも、このゲーム自体、いわゆる「潜水艦モノゲーム」という有名なカテゴリのゲームなので、全くの無知ではないかもしれません。例えば、PC-9801のSuper Depth(BIO_100%)の序盤ステージや、アーケードゲームのDeep Scan(セガ)のような感じだろうと思います。

実のところ、私は潜水艦モノゲームがあまり好きではなかったりします。何というか、チマチマしているような印象があったので。私は、チマチマしたゲームは好きではありません…もっと、ガシガシとスピーディーに敵を殲滅したい。そんな訳で、そういう感じの人(≒危ない人)の欲求を満たせる潜水艦ゲームを目指して開発したのが、この「Battle Marine」です。

ニコ動ゲームフェス2

このゲームですが、懲りずにニコ動画ゲームフェス2に出品しました。
ニコ動版の動画はコチラ
※動画の内容は、上記(YouTube版)と同じです。

前回のゲームフェス(※iPhone版NOKOGI Riderを出品)と違って、肩の力が抜けきった状態でお手軽に作ったゲームだから、受賞を逃しても全く惜しくないという、極めてパッシブな理由で再挑戦することにしました・・・というのは嘘で、なるべく多くの方の意見を頂きたいというのが理由です。取りあえず出品しておけば、少なからずインプレッション機会があり、第三者の意見を頂ける機会があるから、参加しました。

ニコ動は仕様上、率直な意見を頂き易いシステムなので、とても参考になります。ストア上のレビューも参考になりますが、第三者の反応というのは、多ければ多いほど良いです。もちろん、褒められると嬉しいですが、指摘されるのも嬉しいです。Mですね。本当は、2chとかでも晒してみたいところなのですが、2chで自分から率先して宣伝するのはちょっと憚れるので、2chでは、私の方から率先して情報を出さないようにしてます。

売り方について

私は、Battle Marine以降にリリースするゲームについては、Invader Block 2やNOKOGI Riderみたいな感じのLite版(制限付き無料バージョン)は提供しないことにする予定です。以前、ブロマガの方にも書きましたが、今後はこういう感じのミニゲームを大量に作っていく路線でいきたいので、無料版を作る暇があったら別の新作開発に時間を充てたいというのが最大の理由です。

ついでに、Invader Block 2やNOKOGI Riderでの経験を経て、如何に無料版を作っても、売れないものは売れないし、売れるモノは無料版が無くても売れるということを理解したという事情もあります。

もちろん、無料でモノを提供することも重要です。
何処の馬の骨とも知れない人間が作ったゲームを買ってくれる人は、そうそう居ないので。

しかし、同じゲームの無料版と有料版を配布するのは、無意味なことだと確信しました。例え機能制限をしていても、機能制限されている内容で満足する人が大多数なので。例えば、この記事によると、怒首領蜂大復活ですら、ステージ1しかプレイできない無料のLite版をリリース以降、売り上げがガクッと落ちたりしたようですし。もちろん、このケースは前評判が良く、露出機会も多い大手に限られることです。ただし、私のようなニッチな路線でやっている人間にとっても、少なからず同じようなことが言えます。

それでは、どうすれば良いのか・・・という点の解は、まだ出てません。
波の随に漂う浮草の如く、色々な方法を模索しているところです。

2013年7月6日土曜日

Interlace Scan

割と久々にNOKOGI Riderをバージョンアップ(version 1.13)しました。
今回のバージョンアップの目的は、インタレースへ対応させることです。
インタレースをいれた図面
やっぱり、インタレースがあった方がアーケードゲームっぽくて良い感じです。とりあえず、Android版のNOKOGI Rider(製品版)のみ、オプションで指定できる感じにしてあります。後々、対応範囲を拡大させるかは定かではありません。(完全に誰得機能なので)

そもそも、インタレースは、描画データ量を増やさずに描画回数を増やす技術です。
wikipedia等で詳しく説明されてますが、要約すると「間引きして引き延ばす」ということ。
VGSは、QVGA(240×320)の画像を引き延ばして使っているのですが、OSのAPIで拡大していて、OSのAPIにはインタレース拡大機能は無い(あるかもしれないけど、常識的に考えれば無駄機能なので無いと想定しています)から、実際には、インタレース線(NOKOGI Riderの場合、縦置きモニタなので縦線)が入った画面データを引き延ばして表示している感じです。

要するに、NOKOGI Riderの場合、インタレース方式の方が描画データ量が増えます。
インタレースとは、何だったのか。
何故、そのような無駄機能を実装したのかというと、「カッコイイから」の一言に尽きます。

ちなみに、NOKOGI Rider以外に、インタレース表示に対応しているAndroid用のゲームとしては、KARATEKAPatchy等があります。これらをプレイして、触発された感があります。

2013年6月23日日曜日

破壊意欲を満たせる潜水艦ゲーム

Depth charge等の潜水艦ゲームは、弾のスピードが超低速でじれったい感じがあまり好きではなかったりします。その感じこそが潜水艦ゲームの醍醐味かもしれませんが。

とりあえず、敵潜水艦を登場させ、自機のショットで破壊できるところまで作成。
敵をぶっ壊せる図
静止画だと分かり難いですが、自機の弾は無茶苦茶早めです。
バシバシ打ち込むことができ、バカスカぶっ壊せて快適です。
( ゚∀゚)アハハ八八ノヽノヽノヽと笑いながら画面をバシバシ叩いて、敵をバカスカぶっ壊していく様子は、客観的に見て若干狂気めいているかも。良い感じです。
流石にこのままリリースという訳にはいかないかもしれませんが、個人的にはこのままリリースしてしまっても良いぐらい。

敵の種類は、潜水艦の他に海鳥、魚、カニなどを入れようと思っています。
海鮮要素を強めにしようかと。
海戦(BATTLE MARINE)だけに!!
それが言いたかっただけ。

ところで、NOKOGI Rider開発時は、ほぼ毎日のようにこの日記に開発状況を書き綴っていましたが、今年初めぐらいから、Google+を使い始め、そっちの方にツイートしていくのがメインになりました。このブログは元々、与太話を延々と書き綴るだけで、マネタイズ(収益)とかを一切していないから、それならツイート的な感じで流してしまって良いかなと思ったので。
ただ、先日このブログをスマホからでも閲覧できるテンプレートに変更して、自分で読み返してみたのですが、客観的に見て中々面白い。お気軽なツイートも良いですが、こうやって後から読み返し易いブログ形式でツイートしておいた方が、後々楽しいかも。
そこで、そこそこの規模の文書なら、ツイートで流すのではなく、ブログに書き残しておく方向にしてみようかと思っているところです。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...