2014年11月8日土曜日

Goldberg Variations on VGS

唐突かつ当たり前に始めたGoldberg Variations on VGSについて、唐突かつ当たり前に始めすぎた感があるので、説明しておきます。
Android: https://play.google.com/store/apps/details?id=com.suzukiplan.BWV988
iPhone: https://itunes.apple.com/jp/app/goldberg-variations-on-vgs/id936643076?l=en&mt=8

Goldberg Variations (ゴールドベルク変奏曲)は、J.S.Bach作曲(BWV988 ト長調/ト短調)の音楽で、2段式のチェンバロ用の練習曲として書かれたものです。バッハがチェンバロ演奏の手解きをしたヨハン・ゴットリープ・ゴルトベルク少年(当時14歳)が、不眠症に悩むカイザーリンク伯爵のためにこの曲を演奏したという逸話からこのタイトルが付いたようですが、ぶっちゃけかなり弾くのが難しいので、真偽のほどは定かではありません。そもそも、私なら逆にギンギンになって眠れない気がします。

原本の楽譜に記載されている表題は、「Clavier Ubung bestehend in einer ARIA mit verschiedenen Veraenderungen vors Clavicimbal mit 2 Manualen」。2段式のチェンバロ用のアリアとその変奏みたいな感じの意味です。Goldbergとは何だったのか・・・

グレン・グールドの録音が特に有名で、1956年にリリースされたデビュー盤と、晩年(1981年)にリリースされたものの2種類があります。

で、そのゴールドベルク変奏曲をVGSでプレイというのが今回のアプリの趣旨です。

VGSのMMLには、一般的なMMLには無い「%」というオペランドがありますが、これは、音符の長さの何%目でKEY-OFFイベントを投げるかを指示するものです。実はこれはかなり重要な機能です。VGSの音源(エミュレータ)本体の機能ではなく、MMLコンパイラの機能ですが。この機能の重要性を理解するには、チェンバロとピアノの違いを理解する必要があります。

チェンバロとピアノの楽器としての最大の違いは「強弱の表現」の有無です。チェンバロはキーを押すと絃を弾いて音を鳴らすのに対して、ピアノはキーを押すとハンマーが絃を叩いて音を鳴らします。チェンバロは機械的な仕組み上、ギターのような強弱表現ができませんが、ピアノはキーを押した時の運動がそのままハンマーに伝わるため繊細かつダイナミックな強弱表現が容易に可能です。

ピアノの音の強弱による表現の幅は絶大なものです。それ故に、そこに頼り切ってしまうことでモチーフの本来あるべき姿が濁ってしまうデメリットがあると私は考えています。これをデメリットと捉えるか否かは、演奏者の性質(何処に重点を置いているか)によりけりですが。私の場合、強弱表現が無いことによりモチーフの本来あるべき姿が露わになることに異常な性的興奮のようなものを覚える性癖があります。グールドの演奏のスゴイところは、モチーフを明確に示すチェンバロ的な演奏をしつつ、ピアノ的な要素も利用して表現しているところではないかと思います。これだけでご飯3杯はイケる感じです。

VGSのMMLは%オペランドにより、チェンバロ的な演奏をすることも「比較的容易に」可能です。MIDIでもイベント処理機構としては同じ仕組みだから出来なくはないですが、GUIのシーケンサ(※)だと入力がかなり面倒だからMMLの(というよりMMLしかない)VGSは、チェンバロ的な演奏をする為に生まれた楽器だといっても過言ではありません。そんなことをいうとチェンバロ厨に怒られてしまうかもしれませんが。一応強弱表現もできるのでグールド的な演奏もできます(が、今回は強弱表現は一切入れません)。

※MIDIは汎用性が高すぎるのでイベント数が多すぎて、MMLで制御するのに向かないからMIDIシーケンサはだいたいGUIです。私が知る限り唯一の例外はPC-98版のレコンポーザぐらい。Windows(95)版レコポは、そのレコポの最大の強みがキレイサッパリ失われていましたが…そして、レコポ開発元のカモンミュージックももう潰れてしまいましたが…(Singer SongwriterのPro版とかにはそれっぽい機能があるらしいけど、ノータッチです)

注意深く聴いてみると、同じ8分音符でもモチーフの切れ目(やスタッカート表現)で細かく%が変わっていることに気付くかもしれません。実際、かなり細かい音符区切りで%の値を変化させることで、モチーフの本来の姿を表現しています。

実際のMMLは下記のような感じです。(下記はVariation 4です)
$Init r1024 l16 \s220 \e4420 @2 %75 v14

#-----------------------------------------------------------------------------
Ch0 t95 m8 (Init)
Ch1        (Init)
Ch2        (Init)
Ch3        (Init)
Ch4        (Init)
Ch5        (Init)

#-----------------------------------------------------------------------------
Ch0 o4
Ch0 r8%30b8%50g8 %30>d8<%40a8>%50d8 %80g2f+8^8
Ch0 r2.r8<%30a8>%60c8.%30e8%60g8%30c+8 %70a4%30d8%80g4.%40f+8%60e4
Ch0 %30d8%60c4%50d8%60c+4%80d8^8<

Ch0 r8%30b8%50g8 %30>d8<%40a8>%50d8 %80g2f+8^8
Ch0 r2.r8<%30a8>%60c8.%30e8%60g8%30c+8 %70a4%30d8%80g4.%40f+8%60e4
Ch0 %30d8%60c4%50d8%60c+4%80d8^8

Ch0 r8%30f+8d8%50g8 %80b4.%40agf+ed+e%80f+4.
Ch0 %30e8%50g8%30c+8%40d+8%80e4 %60d+c+r8c8%40e8<%50a8 %30b8>%40d8<%50g8>%70c4.%30d8c8
Ch0 %40c%80d4^16%40c dcd8<%40g8%60f+4%90g8r8

#-----------------------------------------------------------------------------
Ch1 o4
Ch1 r2%30d8%40f+8<%30b8>%40g8%60>c8<%40bg%80a8^8
Ch1 r2%30c8%40e8<%50a8>%80d4.g8^8
Ch1 r2.r8>%30c+8%40e8%60%40g8%60>c8<%40bg%80a8^8
Ch1 r2%30c8%40e8<%50a8>%80d4.g8^8
Ch1 r2.r8>%30c+8%40e8%60%30d8%50c8%70c8d8%80c8.%80d4r8
~ 中略 ~

Ch2 r8%80d8%30f+8%80e8 r4c+8%30e8
Ch2 %80%80d4r8
Ch2 r8%80d8%30f+8%80e8 r4c+8%30e8
Ch2 %80d8%30g8e8%80c4.%40c+8<%80b4.g8%30b8
Ch2 e8%40agf+g>%80d4.c8%30c8<%80f+8%30g8a8%80g4r8

#-----------------------------------------------------------------------------
Ch3 o3
Ch3 %80g4.f+4.e4.r8%30d8f+8
Ch3 <%80b4.>c4.d4.r8%30d8
Ch3 g4.f+4.e8%30g8c+8 %80a8>%30c+8
Ch3 <%80f+4.%30g8<%80g4.%30f+8a8%80d8.%40>def+

Ch3 %80g4.f+4.e4.r8%30d8f+8
Ch3 <%80b4.>c4.d4.r8%30d8
Ch3 g4.f+4.e8%30g8c+8 %80a8>%30c+8
Ch3 <%80f+4.%30g8<%80g4.%30f+8a8%80d8.%40>ab>c+

Ch3 %80d4%30c8<%80b4%30g8>c8<%80f+8 %30a8b8%80d+8%30e8%80g8 %30e8a8%80f+8 %30e8a8r8e4%30d8
Ch3 %80c2c8<%80f+8 %30d8f+8
Ch3 %80g8%30b8g8>%80c2%30d8<%80g4r8

ゴールドベルク変奏曲のモチーフをアナリーゼした結果を実際に示しつつ表現してみようというのが、今回のアプリの目的です。そういう趣旨なので、敢えてループは演奏していません。一部例外はありますが。なお、カノンだけはループするのが通例(グールドもカノンの前半はループしている※)ですが、通例を守る必要はないと思うので無視しています。

※追記:そういえば、グールドがカノン(前半)をループしているのは1981年盤で、1956年盤では無視していましたね。今回のSUZUKI PLAN盤はその中間かな。(ループしたいバリエーションではループ)

まぁ、このアプリは東方VGSの時のようにヒットすることは無いと思います。

ヒットすることは無いと思うから、マネタイズについても色々やる予定です。
ちなみに、iOS版もリリースします。(現在、審査待ち)
iOS版もリリースされました。

2014年9月21日日曜日

これまでで最も大きな東方VGSのリリースです

久々に東方VGS(Android版)をアップデートしました。

今回のリリースには「Appleに対する抗議」という裏があります。

先日リリースされたiOS8.0では、SUZUKIPLAN製のアプリが軒並み動かなくなる不具合が発生します(ご注意ください)。この不具合はVGS mk-IIでオープンソース化している部分が該当箇所だったので、技術的な原因をGitHubのVGS mk-IIのリポジトリでシェアしています。
※iOS側ではなくVGS側の問題だということであれば是非Pull Requestを投げてください

不具合の原因は要するに「Appleがやらかした所為」という認識なので、この件はAppleが対策すべきだと思っています。ただ、私が言いたいのはそんな下らない責任の擦り付け合いではなく、Appleには失望したということです。

4GB超のバカみたいなデカさに比例して、どの程度ユーザに喜ばれるエンハンスがされたのかサッパリ分かりませんでした。
・使い難くなったカメラロール
・動かなくなったメッセージアプリ
・使わないバンドルアプリ増加
・一向に賢くなる気配のない公式キーボード
などなど。

確かに色々なエンハンスメントが見受けられましたが、唯一、ユーザに喜ばれそうなフューチャーは、サードパーティ製のキーボードへの対応ぐらいだと思いました。これもAndroidなら初期の頃から出来てたことなので、今さら感しか感じられませんでした。「何故3年前にやらなかったし」と。

現在、AppleのWebサイトに以下のようなことがデカデカと書かれています。

これまでで
きなiOS
リリースです。


自虐?

OSについては、誰も大きくなることを望んでいないと思います。
OSの容量は小さければ小さいほど良いと思います。

また、大きい≒重いです。
世の中には「俊敏なデブ」も居るかもしれませんが、飽くまでも一般論として。
OSの動作は軽ければ軽いほど良いと思います。

小さくて軽い方が、コンテンツ(アプリや音楽など)が沢山入るしサクサク動くので。

OSはコンテンツを入れる器です。
Windows然り、
Androidにも然り、
言うまでもなくiOSについても然り。
デカくて重い上、中身があまり入らない器など誰が望むのか...

端末がデカくなった件については好みが分かれそうですが。個人的には今でもiPhoneは3.5インチがベストサイズだったと思っています。これは単なる私の好みの問題ですが、少なくとも「全ての人が大きくなることを望んでいたか?」と問われれば、答えは確実にNoだと断言できます。「モーバイル機器ならコンパクトな方が望ましい」という人も少なからず居るので。
デカい画面が必要なら、自宅でiPadやMacBookAirを使った方が良いと思います。
これは半ば引き籠り気味な私特有の考え方なのかもしれませんが。


欠陥だらけのOSアップデート


魅力に欠ける端末アップデート


それらを提供するAppleに失望しました
※そういった意味ではBad Apple!!を入れた方がメッセージ的な意味でも適切だったかもと思ったのですが、これは単純に準備が間に合いませんでした。無念。


文句を言うだけなら誰でもできます。
既に各所で「iOS8はアカン」という声が上がっているので、そろそろ飽きた感もあります。
そこで、本当にユーザに喜ばれるアップデートとは何ぞやというお手本をAppleに代わって示してみようというのが、今回のアップデートの端的な動機です。
捻くれててごめんなさい。


そんな暇があったらiOS8の不具合対策を早くせい!
というお叱りの言葉を頂かないかと、ヒヤヒヤしながらアップデートの作業をしてました。

日に日に「iOS8で動かない」という報告が順調に増えていく事に心を痛めております

しかし、対策の目途はまだ立っていません

本当に申し訳ありません

三日とろろ美味しゅうございました

流石に三日とろろのくだりはジョークですw

【追記】
この日記を投稿したすぐ後に原因を特定しました。
みまがうことなきiOS8のバグです。
https://github.com/suzukiplan/vgs2/issues/3

2014年9月15日月曜日

iPhoneアプリのAppビデオプレビューを掲載するためにやったこと(まとめ)

iOS8のAppStoreからビデオプレビュー(Appビデオプレビュー)が掲載できるようになるようです。
まだ、iOS8もリリースされていない状態ですが。
しかし、iTunes Connectでは設定できる状態になっていたので、今度リリースするアプリ(iPhone版の連魂)にAppビデオプレビューを載せてみることにしたのですが、案の定、色々と地雷が敷いてあったので、Appビデオプレビューを掲載までの流れを(備忘録を兼ねて)書いておきます。

(1)OS X 10.10βをインストール

Appビデオプレビューを追加するには、OS X 10.10以降が必要です。ところが、現時点(2014年9月14日時点)では未だ公式リリースされていないので、beta版を入手してインストール。
OS X 10.10 beta をインストール中

(2)ビデオの解像度を調整

ニコニコ動画(ニコニコ自作ゲームフェース4)用に撮影した動画をそのまま登録してみたところ、ビデオサイズが1136x640、640x1136、1920x1080、1080x1920じゃないとダメだと言われました。
何故かディスられてるiPhone 6(無印)w
つまり、
iPhone 5(4インチ)のPortrait or Landscape
iPhone 6 PlusのPortrait or Landscape
の何れかということのようです。

ちなみに、登録できる動画は1つだけ(4種類全部は登録不可)らしいです。
つまり、現状は1136x640 or 640x1136の二者択一ですね。
iPhone 6が普及するかは未知数なので。
「iPhone 6 Plusに注文殺到!」みたいな記事をしばしば見ますが、正直、眉唾モノです。というより、私はあんな馬鹿デカいiPhoneは要らない。iPhoneは3.5インチのヤツが一番使い易かったと今でも思っています。画面が小さい?デカいのが欲しいならMacBookAirの方が楽しいですよ?(Macを買えば、ちょっと勉強するだけでiPhoneアプリも作れます)
iPhone 6とだいたい同じぐらいの値段(※実質価格)でMacBookAirが買えますよ?

(3)ビデオを640x1136に編集

ニコニコ動画の方に投稿した動画の解像度はVGS mk-IIの解像度(320x400)なので、まずはiPhone版の枠画像をスクリーンショットから切り出し、
iPhone版から切り出した枠画像
これと動画をaviutilを使ってハメ込み合成する形で320x568の動画を作成し、それをffmpegで640x1136に引き延ばしたものを準備しました。(一度320x568にしているのは、私の環境ではaviutilが縦720ピクセルを超える動画を編集できないためです)

(4)ビデオの長さを調整

上記動画の容量はだいたい100MBぐらいで、Appビデオプレビューに掲載できる動画は500MB以内と書かれていたので、「これで大丈夫だろう」と思って登録してみたところ、今度は「長すぎる」と怒られました。どうやら、ビデオの長さ(尺)は15秒~30秒にする必要があるようです。
こういう事は最初から書いておいて欲しい…
そこで、SUZUKIPLANのロゴ~タイトルデモ~デモプレイ~SUZUKIPLANのロゴの範囲だけを切り出し29.22秒に編集。

(5)音声の調整

上記の29.22秒の動画を登録してみたところ、一見上手く登録出来たように見えたのですが、Appビデオプレビューにカーソルを合わせてみたところ、音声は44.1kHz、ステレオ、サラウンドなしにしなければダメだと言われました。正直もうグロッキー状態です。
だからこういう事は最初から書いておけと…
動画のエンコーディングにツンデレエンコのYouTubeモードを使っていたのですが、どうもそれだと音声を48kHzに変換してしまうようで、そこで引っ掛かってしまったようです。そこで、44.1kHzステレオの元動画(avi形式)を、ffmpegで元ビットレートを保った状態でH.264/AVC+AACにエンコーディングしました。
変換結果(ffprobeで出力)

【指定コマンド】(参考)
ffmpeg -i  promotionvideo_short5x.avi -vcodec libx264 -crf 25 -acodec libvo_aacenc -threads 0 promotionvideo_short5x.mp4

(6)最大24時間待機

ようやく正常にAppビデオプレビューが登録できました。
正常に登録できると以下のような感じで処理が始まります。
処理には最大24時間掛かるようです。
処理が始まれば成功(した筈)
おつかれさまです。
以上です。
私は4回ぐらい心が折れそうになりましたが、何とかなりました。

動画の編集って時間が掛かるので面倒くさいんですよね...
外注すると高いですし。
30秒動画なら(編集を凝らなければ)十万ぐらいで作ってくれるプロダクションもあるかもしれませんが、Appビデオプレビューの解像度は割と特殊なので、当面対応してくれるところは無いかもしれません(ニーズがあればすぐに出来るかもしれませんが)。ちなみに、私は撮影から編集まで全部ひとりでできるので、動画の外注関連の相場には疎いです。

最近はPCも高速だから編集もお手軽にできるし、ツール類も概ね無料で揃います。だから、自力編集がオススメです。参考までに、私が動画撮影に要したコストはPCを除けばだいたい3000円ぐらい(&初期投資のみ)です。

【私の撮影環境】
・撮影機: Windows+DirectX9上のVGS mk-IIで連魂をエミュレーション (無料)
・撮影ソフト: Bandicam (有料/3000円ぐらい)
 ※ロゴ表示が気にならなければ無料
・動画編集: aviutil + 拡張プラグイン (無料)
・エンコーディング: ffmpeg (無料)

それでもやはり面倒くさい。
Androidのプロモ動画(YouTube)と比べると格段に面倒くさい。
まぁ、これだけ面倒くさい対応が必要だからこそ、Appビデオプレビューを載せておくだけで(出始めの数か月ぐらいは)目立てて良い感じではないでしょうか。

iOS8が浸透したぐらいの頃には皆やっている感じになると思いますが...

そして、iOS8じゃないとAppビデオプレビューは見れないですが...

2014年9月7日日曜日

連魂 ~ Soul Incarnated

SUZUKI PLANの新作弾幕STG「連魂」について、色々と説明します。
ゲームの大まかな内容は、動画で概ね把握できると思います。

概要

連魂は「連射すること」を重視した弾幕STGです。スマートフォンはタッチパネルで操作する関係で、この点に満足がいくSTGがありませんでした(※当社比)。もちろん、連射がなくても面白いSTGであれば沢山あります。しかし、満足に連射できるSTGがスマホでもやりたい・・・連魂は、そんな作者の想いから誕生したスマートフォンのための連射重視型弾幕STGです。

叩いてください!

これ見よがしに叩いてください!

熱く、切なく、時に優しく叩いてください!

【操作方法】
・画面をタッチした地点を目指して自機が左右に移動します(上下移動はできません)
・画面から指を離すとショットを発射します
・画面を2点マルチタッチするとショットを連射します(※iPhone版のみ)
・戻るボタンを押すか画面を3点マルチタッチするとポーズします(※Android版のみ)

【遊び方】
・自機が敵や敵弾に衝突するとゲームオーバーです
・全2周の道中(ボスなし)を突破すればオールクリアです
・オールクリアに要する所要時間は2~3分ぐらいです
・このゲームには自機の残機やコンティニューはありません
・このゲームではショットで敵だけでなく敵弾も破壊することができます
・敵機は若干固めで敵弾は柔らかめです
・敵機や敵弾は爆風で誘爆することができます
・敵弾を狙って撃破すれば誘爆で一掃することができます
・2周目にはレンコンみたいな形状の打ち返し弾があります
・レンコン弾は破壊することができません
・スコアには倍率が掛ります

【スコアの倍率】
・倍率 = 連爆倍率 + 打込倍率 (最大32.00倍)
・連爆倍率 = 連爆コンボ数 ÷ 10 ※小数点以下切り捨て (最大16倍)
・打込倍率 = 打ち込み1回につき上昇 (最大16.00倍)
・打込倍率の上昇値 = 0.01 × 連爆倍率
・連爆倍率はミスショットをすると1/2に減少します
・打込倍率は減少しません

今回のテーマは、ズバリ「連射」です

今回のテーマとか言いつつ、SHOT03ぐらいの頃からそれとなく意識しているテーマですが。
超連射68kへのリスペクトみたいな...
果たして通じる人がどれ程居るのかはさておき

当初のタイトルは「連射魂」でした。
ただ、「けいおん!」ではないですが、マーケティング的な方面の都合もあり、どうしても(日本語で)4文字に収めたかったので、短縮して「連魂」になりました。

やっぱり、連射って大事だと思います

疲れるけど。
疲れるのは嫌だけど。
でも連射はしたい。
ゲームをプレイしている気分になるので。

スマホは(縦スクロールの)STGと相性が良いゲーム機ですが、この「連射欲」を満たしてくれる作品はほぼ皆無に等しいです。ショットについては垂れ流すのが普通ではないでしょうか。これは、スマホのインタフェース的な事情も当然ありますが、弾幕STGの場合、「撃つこと」よりも「避けること」にフォーカスしているので、ショットは垂れ流し状態でもゲームとしては成立してしまうことが要因だと思っています。

だから、Battle Marineのような形のゲームを作ってみたのですが、Battle Marineはどちらかといえばスナイプ(狙い撃ち)に重きを置いてしまったため、連射欲を満たせるか?と問われると、そうでもない感じでした。

そこで、今回は連射欲を満たすことに重点をおきました。

連射をすると何故疲れるのか?

普通に考えれば、手を動かす運動行為そのものが疲れを引き起こす最大の要因だろうと思いがちですが、実のところ、運動行為よりも精神的な疲労が大きいのではないかと仮定しました。なぜ、そのように仮定したのかというと、このブログの初期の頃(Invader Block 2のAndroid版を作っていた頃)の記事にヒントがあります。

2012年2月の記事より抜粋
http://suzukiplan.blogspot.jp/2012/02/blog-post_22.html
小一時間ぐらい、Android版のInvaderBlockを遊んでいて気付いた問題・・・
スライドしまくっていると指が疲れる。
ん~・・・仕様です。
タッチペン推奨ということで。
こればっかりは、どうしようもない。(仕様だけに)

この問題に対して、後日の記事で現状のインタフェース(スライドではなくタッチした位置を目指してバーを動かすインタフェース)にすることで自己解決しました。

そういった経緯から、SUZUKI PLANブランドのゲームの標準インタフェースがスライド式ではなくポイント式になった訳ですが、この時、指が疲れた原因は「精神的なもの」だったから、連射も同様に精神的に疲れるのだろうと仮定した訳です。

どうすれば疲れなくなるのか?

連射が(精神的に)疲れる原因は、「連射しなければ敵を倒せないため」です。だから、その原因を解消してあげれば、「連射しても疲れない形」になります。私はそれについての解決策を、Battle Marineの時に採用した誘爆システムから見出しました。これにより、「必ずしも連射をしなくても敵を撃破できる形」になったと思います。

もちろん、それだけでは不十分です。

何故なら、連射をする必要が無くなってしまったので。
そこで、これを解決する手段を講じる必要があります。

連射インセンティブ

一番良い解決策は、スコアによるインセンティブ供与だろうと考えました。しかし、バカみたいに連射し続けていればスコアが上がるというのは当然ダメです。それではゲーム性が無いので。ゲームである以上、「何かしらの成功報酬」としてスコアをアップさせる必要があります。

そこで、敵機に命中した時にスコアを引き上げる形にしました。その上で、敵弾は柔らかく(狙い撃つ)、敵機は固くする(連射で撃破)という感じにしてみました。

下図のブロック(※かなり固い)が登場するエリアがありますが、そこ(ブロックへの打ち込み)が連射欲を満たせるパラダイス地帯です。インカム待ち画面(デモプレイ)で、ブロック地帯で連射を楽しんでる感じでプレイしているので、(右下の倍率の上がり方を含めて)チェックしてみてください。
ブロックエリア
(連射パラダイス)
打ち込み倍率(0.00~16.00倍)と連爆倍率(1~16倍)を組み合わせることで、程好く連射欲を満たせつつ疲れない仕様になったのではないかと思います。

より快適なゲームプレイ方法

たぶん、以下のような感じで持てば、より快適にプレイできるんじゃないかなと思います。
精神的な意味ではなく、運動行為的な意味で。
快適なプレイ方法(物理)
もちろん、片手でも快適にプレイできるようにしたつもりではありますが・・・

iPhone版について

今回、ロケテ的な意味合いも込めてAndroid版を無料(広告付き)で先行リリースしましたが、iPhone版もリリースします。ただ、iPhoneアプリに広告を入れるのは若干面倒くさいということが分かった(Invader Block 3の時にそれで2回ぐらいリジェクトを喰らって結局広告を外してリリースした)ので、今回iPhone版は有料版のみ販売することにします。

・Android(Google) = 無料モデル(広告)
・iPhone(Apple) = 有料モデル
というのが、ある意味それぞれのプラットフォームの生態系に適したスタイルではないかなと思い始めている今日この頃です。

【Android版「連魂」を入手】(無料)

https://play.google.com/store/apps/details?id=com.suzukiplan.RENCON

2014年7月26日土曜日

異なるデータを並べて見ること

Android開発者向けサイトのダッシュボードにバージョン別シェアの情報が載ってます。
https://developer.android.com/about/dashboards/index.html

現時点の記載内容によると、以下のような感じらしいです。
・2.2 = 0.7%
・2.3.x = 13.5%
・4.0 = 11.4%
・4.1 = 27.8%
・4.2 = 19.7%
・4.3 = 9.0%
・4.4 = 17.9%

注釈によると、「Data collected during a 7-day period ending on July 7, 2014.」とのこと。
割と新しいですね。

なお、2.2よりも古いバージョンは入っていないようです。
(収集できないらしいので)

確か、こんな感じの情報は、Developer Consoleでも確認できたんじゃないか?
と、思い確認してみたところ、若干ニュアンスが違っていました。
Developer Consoleで確認できるのは、カテゴリ別のトップ10。

アーケードカテゴリのトップ10
音楽&オーディオカテゴリのトップ10

つまり、Androidバージョンの全体的な分散傾向(Dashboardの情報)と、アプリ・カテゴリ別ダウンロードの分散傾向(Consoleの情報)という「異なる情報」です。

データ分析の基本は、「異なる情報を並べてみること」だと言われています。これが一般論なのかは定かではないですが、私が色々な分析をする時はそういう風にやっています。異なる情報を並べてみることで、新しいものが見えてくる事が稀にあるので。(「稀に」であっても新しい情報が得られることこそが重要)

という訳で並べてみました。
versiondashboardconsole(arcade)console(music)
2.2
0.7%
2.36%
1.56%
2.3.x
13.5%
14.27%
11.77%
4.0
11.4%
19.41%
12.39%
4.1
27.8%
26.44%
25.93%
4.2
19.7%
17.06%
15.82%
4.3
9.0%
6.55%
10.05%
4.4
17.9%
11.54%
21.56%

どうでしょうか。
何か見えてきたでしょうか。
だいたい似たような感じに分散する筈です。
しかし、突出した違いがある部分には「何か」があるはずです。

一番目につくのは、4.0(ICS)と4.4(KitKat)。

ICSは、DashboardとMusicは似たような傾向(10%ぐらい)なのに、ゲーム(アーケード)では突出して高い(20%ぐらい)です。
つまり、ゲームをやる層の人々は、4.0(ICS)に固まっているようです。
# 差異は小さいですが、2.3.x(Gingerbread)でも同様にゲーム(アーケード)だけが高い。

逆に4.4(KitKat)だとゲーム(アーケード)が突出して低い。
Android使いの新しい者好きはゲームが嫌い?
実はそうでもなく、4.1~4.3の頃にOSが重くなり過ぎて、ゲームをやる&新しい物好きな方がかなり、iOSの方へ流れてしまったのではないかと推測しています。

実際、私が身をもってそう感じたので。

ICSの頃まではAndroidでもゲームが普通に遊べたのですが、4.1以降では、ゲームが遊べたものではなかったので、ゲーム=iPod touch、ガジェット=Androidという具合に綺麗に使い分けるようになりました。(ソーシャルゲームをやるときは、いちいちテザリングしないといけないから面倒ですが)
KitKatでOSのダイエットが図られましたが、それでも4.1~4.3の3レビジョンもの間、「重い問題」が放置されたことで、「Android=ゲーム向きではない」という認識が定着してしまったのではないかと推測しています。(いや、実際放置されていた訳ではないでしょうけど)

特に新しいものは見えてこなかったな。
まぁ、そんなもんです。

2014年5月6日火曜日

Android版 東方BGM on VGS(1周年)

2013年のGWに東方BGM on VGS(Android版)をリリースしてから1年経ったようです。
「1周年特別企画」めいたものをやるつもりはありませんが、データで振り返ってみようと思います。

■ランキング
日本のMusic & Audioカテゴリにのみランクインしてます。
東方BGM on VGS(Android)のランキング遷移
(GooglePlay - Music & Audio category)
自然流入のみだと、100位あたりが壁みたいですね。
一日のDL数は、平日が100前後、休日が200前後といったところです。

■インストール数
インストール数: 15,837
ダウンロード数: 31,268
インストール維持率は、50.65%。
このインストール維持率は、エンターテイメント系のアプリとしては高めかな。

■評価
星5: 780件
星4: 54件
星3: 23件
星2: 5件
星1: 12件
平均: 4.81点

公開当初から星100件ぐらいまでの間は、平均評価5.0だったのですが、途中からチラホラと星1~3の評価も付くようになったため、大分低くなりました。Android版は、iPhone版と比べて悪い評価(星1~3)が多く付き易い傾向があります。

しかし、星1~3にはコメント付きの評価が1件も無いため、何故、低評価が付けられたのか、具体的な原因は不明です。ただし、星4以上でも機種依存と思われる情報のコメントも幾らかあるので、その辺りが原因かなと推測しています。

■国別分布
国別のダウンロード数
東方VGS以外の私のアプリは、海外8割(主に欧米)、日本2割という感じですが、東方VGSに限って見てみれば、日本8割、海外2割(主にアジア)という感じで逆転してます。

実のところ、東方VGSは日本が9割ぐらいじゃないかと予想していましたが、意外と海外でも沢山ダウンロードされています。日本ではAndroidよりもiPhoneの方が普及していることも一因かもしれませんが、東方の海外(特にアジア)での人気も根強いようです。欧米方面での東方の知名度は、アジア圏と比べれば今一つ(※この点は東方のローカライズのし難さが一因しているものと想定)ですが、その分、エリートユーザにアプローチし易いというメリットがあるかも。

■今後の予定
水面下では、花映塚の後半の曲(製品版のみの収録曲)の耳コピをボチボチ始めていますが、いつ出来るのやら。今のペースでは、そもそも完成に至らない可能性の方が濃厚です。ついでに4月以降、ちょっと色々あって、アプリ開発の活動自体がままならない状態だったりします。連休も殆ど手付かずでした(あわよくば、6月ごろには落ち着くと思いますが)。

先日、GitHubでGameDaddyのオープンソース化をしましたが、もしかするとそこに波形メモリ音源部分のソースコードも追加して、「後は有志にお任せ」という感じ(○投げとも言う)になるかも。その点の判断は、落ち着いてからすることになると思います。

期待せず、気長にお待ちください。

2014年3月22日土曜日

SHOT08 making #1 (22-Mar-2014)



SUZUKI PLANの新作スマートフォン用ゲーム「SHOT08」(仮称)のメイキング動画です。
元画面にはインタレースが入っているのですが、動画にするとちょっと粗い^^;
とりあえず、自機の攻撃(ショット&レーザー)と背景の表示ができただけの状態です。

直近のTODO:
・背景作画(色々と足りない)
・敵作画(ノータッチ)
・敵アルゴリズムの実装(ノータッチ)
・BGM(作曲中)
・システム周り(ゲームのメイン処理以外はノータッチ)

リリース予定:
1面が完成したら、Lite版(無料)を配布予定です。
Lite版の完成は、多分GW中ぐらい。
製品版は、今夏 or 今秋ぐらい。
時期感は、NOKOGI Riderを作った時の実績を参考。
ただし、NOKOGI Riderの時は、音楽データが揃っている状態で開発スタートしたのに対して、今回は音楽がほぼ無い状態からスタートしているので、ちょっとズレ込むかも。(1面分は概ね出来上がっているので、Lite版は多分予定通りで、製品版が遅れる感じで)

価格:
・Lite版は無料(Android版は広告付きになるかも)
・フル版は300円ぐらいを予定(※リリースから1ヶ月間は、100円ぐらいで販売予定)



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

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