A valid provisioning profile for …

新年早々トラブルです。弾幕の器2の開発が完了したので次回作のプロジェクトを作成したのですが実機検証で以下の様なアラートが表示されてしまうのです。これまで遭遇したことのないアラートです。
スクリーンショット 2016-01-02 3.22.41
 

developer用のプロファイルが

itunes conectでprovisioning profileを確認すると、いつも勝手に作成されていたdeveloper用のprovisioning profileが作成されていません。
なぜ作成されないのか不安なのですが手動で作成しました。今回追加した「cage_develop」だけ「Managed by xcode」ではありません。大丈夫なのだろうか?
スクリーンショット 2016-01-02 18.41.50
 
でもってプロジェクトの設定を以下の様にしたら実機で起動できた(画像はクリックで拡大できます)。以前のプロジェクトはdebugもreleaseもDistributeのプロファイルを設定しても問題なかったのですが、今回は画像のようにdebugにはdevelopのプロファイルを設定しないとダメでした。
スクリーンショット 2016-01-02 3.35.57
 
根本的に解決したのか分かりません。アプリが「完成してからdistoributeできない」なんて事態にならないか不安です。関連がありそうな記事を下にメモしておきます。というか全く同じパターンです。この方はその後、この設定でreleaseできたのでしょうか?それなら私も安心なのですが。
→参考:プログラミング備忘録様「A valid provisioning profile for this executable was not found

弾幕:英語圏の反応を確認したい

アプリ制作で稼ぐのは凄く難しそう…。
→参考:Appmarketing様「700万円かけて売上14万円
 

そんなこんなで

既存のデータを活用して安直に利益を上げられないかを考えてみた。ということで「弾幕の器」を英語にローカライズすることにしました。今週はとりあえずメニュー部分だけを作成。

変更したい部分

●雨型(駆逐艦の最初のステージ)

プレイヤーが最初にプレイするステージなのに、似たような攻撃ばかりで単調。つかみは大切なので、もっとバリエーションを広げる。

●低レベルでの強敵を弱体化

弾幕の器では最初の方のステージでも「村雨」や「潮凪」の様な強敵が登場する(代わりに後半でも弱い失敗艦が登場するけど)。英語版では、そのような強敵は弱体化して、レベル毎の強さをきちんと調整する。

●難易度は全体的に下げる

なんとなく海外の弾幕プレイヤーは初心者が多いような気がする?ため。プレイヤーの弾は2wayではなく支援機にしました。派手っぽいのが好まれそうだから?。

○ロックの仕組みを変更

前述のように難易度を少し下げるのですが、筋金入りの海外弾幕プレイヤーには敬遠されそう?。なので後半の高難易度の艦艇にもすぐにアクセスできるようにしたい。
これは動画の通りすでに実装済み。Levelをロックするのではなく、各Levelとも最初の1列はプレイできるようになっている。
 
 

残りの作業

弾幕の器2を優先させるので、作業は細切れになると思うので自分用にメモ。

●ヘルプ画面

英語力が無いので「弾幕の器」にあった艦艇の説明は全削除しているわけですが、説明画面は削除するわけにはいきません…。大変そうです…。

●広告を変更

「弾幕の器」で利用している広告はNendのもので、ほぼ日本だけでしか通用しません。なので英語版ではGoogleのAdMobというのを利用する予定です。

●艦艇データ変更

難易度を下げるためにデータを変更する。上記2つの作業と異なり、こういう作業は好き。
 
 

過去のローカライズ実績

iOSのアプリでは過去に2件、ローカライズ(英語)版を出している。結果は惨憺たるものですがお披露目。

Eidetic memory training with slide puzzle

まずは「脳トレ15パズル(iOSのみ)」cocos2d-xで初めて作成したアプリ。これは北米のDL数がアジアを越えている(ちなみにアジアではマレーシアがトップで日本は2位)。
→参考:アプリのページ
※クリックで拡大
スクリーンショット 2015-10-17 21.31.14

lights of bullets

当たり判定の練習用に制作したアプリ(iOSのみ)。このアプリが英語圏で不人気だったので「弾幕の器」は英語ローカライズをしなかったのです。 
→参考:アプリのページ
※クリックで拡大
スクリーンショット 2015-10-17 21.32.36

弾幕の器

最後に英語にローカライズしていない「弾幕の器」のデータを公開。アジアでは3万に届く勢いなのに、アジア以外を合計しても50件以下…。
スクリーンショット 2015-10-17 21.34.01
 
 
 
 
 

弾幕の器2:iOS版が再び審査を通らず…

iOS版がリジェクト

スクリーンショット 2015-10-08 14.03.58
原因は広告。とはいっても前作の「弾幕の器」と同じ仕組み。
 

審査が厳しくなった

同じ広告なのに審査が通らないのはAppleの審査が厳しくなったためです。私が利用しているNendは、Appleが問題視しているリワード広告を扱っておらず、近年問題視されてきているアイコン広告も廃止しました。そのおかげでNendの広告はAppleに正式に認められたそうです(以下はNend管理画面のキャプチャ)。
スクリーンショット 2015-10-08 16.57.07
 

私の怠慢が原因です

キャプチャの文言から確認できるように、Appleに認められたNend広告のバージョンは2.7なのです。が、私はアイコン広告も利用していないし、面倒なので前作「弾幕の器」のまま転用して審査に出しました。その結果のリジェクト…。iOSでバージョンアップを待っている皆さま、申し訳ありません。
 

サクッと修正して再アップ

思っていたよりも最新バージョンの広告に差し替えるのは楽でした。ただNendの情報によると最新のバージョンでも誤ってリジェクトされることがあるそうなので、追記する英文まで用意していました(以下)。至れり尽くせりです。
—————-
Hello Apple review team,
I would like to request a review of my app.
Our app contains the new updated nend SDK version 2.7.0 which now complies to App Store Review Guidelines by no longer having an icon ad function.
https://nend.net/end_service_20150617.html
I look forward to your review.
Thank you and best regards,
—————-
という分けで、この英文をそえて再び申請しました。問題が無ければリリースは10/19日くらいでしょうか?
スクリーンショット 2015-10-08 17.11.30
 

弾幕の器:Appleの審査で足止め

メタデータで却下

Appleの審査のメールって毎回AM8:00なのだけど固定なのかな。今回は以下の様なメールが来て審査が足止め(クリックで拡大)。
スクリーンショット 2015-05-28 11.57.52
とりあえずメールの通り、広告を表示している時のスクリーンショットを送った。早ければ明日のAM8:00にリリースされると思います。
 

Appleの審査方針が少し変更?

これは簡単なテストプレイでは広告の所在を確認できない時に送付されるもので、過去にも「脳トレ15パズル」で経験しました。なので審査の補足に「広告はステージ2以降から表示します」と記していたのですが、今回は効果ありませんでした。
 
最近Appleはウォール広告やアイコン広告を(再び)リジェクトするようにしてきているため、どの様な広告が表示されるか確認する必要があったのかもしれません。
→参考:Appleがウォール広告やアイコン広告をリジェクトし始める
 
 
 

AndroidとiOSの広告について

クリック率の大きな差

Android版のコメントで広告に関する意見が多かったので色々調べてみました。
まず広告のクリック率(CTR)を調べてiOSとAndroidに大きな差があることに
ビックリ!以下は同じ期間中のCTRの表。Androidは後から広告を追加したので
前半は0となっています。

iOS

iOSは3%を越えることなく徐々に下がってきています。
この値はインターステイシャル広告としては平均な値だと思います。
スクリーンショット 2015-04-11 21.52.44

Android

Androidは4%を下ることなく時に6%を越えています。
スクリーンショット 2015-04-11 21.52.20
 

広告表示の仕様が異なる

これだけ差があるとユーザーの性向とは考えられません、ということで広告の表示
を観察することにしました。すると仕様が微妙に異なることを発見しましたのです。
広告はネットを通じてデータが送られてくるので表示までに若干の間が生じます。
この間の処理がiOSとAndroidで異なるのです。

iOS:受信完了しなくても表示

iOSでは広告データが読み込まれなくても前回表示した古いデータをとりあえず
表示します。結果として広告を表示してから暫くして表示される新しい広告に
入れ替わるというデザイナーの視点から見ると若干見苦しい仕様になっています。

Android:受信が完了するまで表示しない

Androidでは広告データの受信が完了するまで広告を表示しないので見苦しくは
ありません。しかし回線の状態によって広告が表示されるタイミングが変化し
誤爆する確率が上がっていると考えられます。
 

ちなみに…

ちなみにgoogleで「jQuery 入門」や「jquery 講座」と検索すると1番目に表示
される弊社のwebサイト「jQuery入門講座」のバナーのクリック率は以下の様に
なっています。これは平均的なwebサイトのバナーのクリック率よりもかなり低い
値です。というのも、このサイトのほとんどの来訪者は検索から「リファレンス」
へ訪れ、調べ物が終わったら帰ってしまうというケースがほとんどだからです。
直帰率は70%近くになります…。せめてスマホの広告では利益を上げたいです。
スクリーンショット 2015-04-11 22.50.56
 

動画広告に興味有り

弾幕系のゲームには適さないと思うのですが、育成系のゲームを作成する際は
動画広告を採用したいと考えています。切っ掛けは「クロッシ−ロード」。
このゲームでは動画広告を見るとコインをもらえ、そのコインを利用して
課金しなくてもキャラを購入できます。
似たような広告にアプリをインストールしたときの報酬としてコインなどを
貰えるものがありますが、インストールに結構手間がかかり躊躇します。
動画は簡単に見ることができてお手軽ですし、同じ動画を何度も見ても
コインがもらえました。
まぁ育成系のゲームを作るのはまだ先なのですがメモ。
 
 
 

「弾幕の器」の経過など

攻略動画

iOSのバージョンアップはまだ審査待ちです。いつも通りなら月曜くらいに承認される
と思います。今回の追加では少し難しい敵がいるので攻略動画を幾つかyoutubeにアップ
しました(以下は巡洋艦「潮凪」)。
youtubeで「弾幕の器 攻略」で検索すると動画が見つかると思います。
自力で攻略方法を見つけたい方はスルーしてください。

 

iOS版リリースから約1ヶ月が経過

日本ではAndroidよりもiOSのユーザー数のほうが多いそうなので、弾幕の器も
iOS版の方がAndroid版よりも多くダウンロードされました。
予想よりも差は大きく1日あたりのダウンロード数で約2倍の差があります。
—————————————————————
・iOS版:3/4〜4/4で2,480(1日あたり約80)
スクリーンショット 2015-04-05 2.33.12
・Android版:2/22〜4/4で1,784(1日あたり約44)
スクリーンショット 2015-04-05 2.42.46
 

広告の表示回数

インストール数は上記のように大きな差があるのですが、広告の表示回数は
Android版をリリースしてから2倍くらいになっています。つまり
Android版のユーザーはiOS版のユーザーよりもたくさん遊んでいることになります。
※iOS版でのアンインストール数は分からないので正確な比較はできないのですが…
スクリーンショット 2015-04-05 2.50.48
このことから(ゲームの種類にもよると思いますが)Android版はダウンロード数が
少なくても疎かにしてはいけないと言えます。
 
 

広告と評価

Android版の広告表示にあたり、予想ほど評価は下がりませんでした。しかし
これは広告を表示する前にすでにユーザー数が頭打ちになっていたためで
初めから広告を出していたら悲惨な結果になっていたと思います。
androidAd
iOS版では最初から広告を表示しているものの評価は低くありません。
これはユーザーが広告に寛容なのと、前作の「弾幕の光」で慣れてしまっている
部分があるのだと思います。
 

今後の広告表示

そもそも私は「ゲームがある程度すすんでから広告を出す」ことを考えていました。
しかし、このスタンスで「脳トレ15パズル」がリジェクトされたので、面倒になって
「常に広告を表示する」ようにしました。
→参考:脳トレ15パズル – リジェクトされる
 
この問題は審査員にきちんと説明すれば承認して貰えると思うので次回のアプリでは
広告について以下の様な仕様にしようと思います(自分用のメモ)。
———————————————————-
●初期のステージでは「無条件に広告を表示しない」
●ステージが進んでからは広告を表示するが以下の様な配慮をする
 ・広告を表示するステージに初めて来た時に「広告の選択」をできるように
  ダイアログをだす。選択肢は以下の2つ。
  →ゲーム中にバナー広告を表示する
  →ゲーム終了後にインターステイシャル広告を表示する
 ・上記ダイアログには「アプリの継続的なバージョンアップと新作の制作のため
  広告表示にご理解ください」的なお願いを記述する。
———————————————————-
広告を多く出しても評価が下がらないような手法を色々模索していこうと思います。
 
 

次回の更新はiOSもGW前に

次回の更新(敵を20追加)はゴールデンウィーク前に行いたいと思います。
iOSの方にもそのスケジュールで届けるためには4/20位までには申請しないと
いけないので早めに作業を進めようと思います。
 
 
 

弾幕の器:感度設定を追加

感度設定の追加

スマホの弾幕ゲームでは感度(スワイプ量を増幅する仕組み)を設定できるように
するのが普通なのだそうなので付けてみた。ついでにSEとBGMの音量調節も。
 
動画では感度を3.0(スワイプ量の3倍移動する)に設定しました。
タブレットなど大きな画面で遊ぶ場合は大きめにした方が操作しやすいと思います。

 

cocos2dではまとめてフェードできない!

このアプリではメニューや説明画面の切替はシーンを切り替えて対応していたのですが
設定画面はSpriteを利用してメニューに重ねる形にしました。
シーンの方が簡単なのですが、Spriteの方が応用が利きそうなので練習です。
 
しかし躓きました。spriteに透明度の設定が効かずフェードしないのです。しかし
getOpacityで透明度を確認すると設定した値になっておりSprite自体はきちんと
透明度が設定されているようです。
 
googleで調べてみると、cocos2d-xではSpriteやLayerに透明度やフェードを設定
しても子ノードには効かないそうです。FlashやJavaScriptと比べると扱いにくい
仕様です…。以下のリンクの通りsetCascadeOpacityEnabledを利用すれば子要素は
一緒にフェードしてくれるそうですが、孫要素以降の子孫要素には対応していない
ようなのでリンク先にあるような再帰処理のコードを書かないといけません…。
→参考;cocos2d-xで子Nodeが一緒にフェードしてくれない件

でもテキストには効かない

しかしsetCascadeOpacityEnabledが効かない要素がありました。説明画面では
自作のbitmapフォントを作成し、これを利用しているのですが、これに効きません
調べるとリッチテキストにはフェードが効かないバグがあるようです。
→参考:RichText ignores fade actions
 
上記リンク先にはv3.3で解決された様なことが書いてありますが、いまから
3.3に移行するのは大変(私が利用しているのはv3.2)なので、
今回はフェードを諦めました。
 
シーンにしておけば楽にフェードできたのに、Spriteを利用したばかりに
かえって演出の幅を狭めることに…。しかし良い勉強になりました。
 

弾幕ゲーム第2弾:iOSも申請完了

戦艦「薩摩」の攻略動画

「弾幕の器」は初心者向けの弾幕ゲームですが、ちょっと難しい敵もいるので攻略方法を
紹介。戦艦「薩摩」は超接近戦で簡単に攻略することができます。戦艦は接近戦に弱い
艦艇が多いです。

Macの申請も完了

先週iOSの申請も済ませました。却下されなければ来週中にもAppStoreに掲載されると
おもいます。Macの申請も4ヶ月ぶりなので少々躓いたのでメモ。
スクリーンショット 2015-03-01 18.37.28

アーカイブできない

命名ミス:iTunesConectではアプリのIDをbullet02と登録しXcodeでは
danmaku02としていた。今後気を付けよう。
 
アイコンミス:アーカイブ時に「invalid image path〜」とエラーになった。
原因はiOSフォルダ内の「Info.plist」においてアイコンへのパスが間違っている
ため。このアイコンの設定はcocosの初期設定の画像に作成したデータを上書きした
だけで実機やシミュレータ上でも正常に表示されていたのですが「Info.plist」の
設定を確認すると拡張子pngが抜けていました。
なので拡張子pngを追加して、ついでに必要のないiPad用のアイコンを削除し
「Info.plist」で利用していないアイコンデータの項目を削除したらアーカイブを
通るようになりました。
→参考:google検索「xcode archive Invalid Image Path
 

iPhone6Plusのスクリーンショット

iPhone6Plusのスクリーンショットは実際の解像度よりも高い画像を用意しないと
行けない。実際の解像度は1920×1080しかしスクリーンショットとして用意する
のは2208×1242→参考:スクリーンショット作成の注意点
 

Androidの広告でトラブル

iOSの広告はすでに経験済みで簡単に設定することができたので、勢いに乗って
Androidの設定もしたらビルドできなかった。しかし週末を捧げることで少し
進展したので来週末にまとめようと思います。
 
 
 

弾幕ゲーム第2弾:メニュー部分の作成

メニューとクリア情報の記憶

今週はメニュー部分を作成しました。あと敵を撃破したデータを記憶する仕組みも。
AppleのGameCenterは1アプリにつき500種のAchievementを設定できますが成績を
確認するためにGameCenterに移動する必要があり、ユーザビリティが低い感じが
するので今回は利用しないことにしました。
まだ敵のデータを作成していないので、メニューをクリックすると
撃破/非撃破を切り替えて正常に記憶できているか確認できるようになっています。

 

Androidアプリに再挑戦

脳トレ15パズルもダウンロード数が1000を越えました。そのうち約7割が北米で
ダウンロードされ、残り3割がアジアです。アジアとは言っても日本での
ダウンロード数は100以下で、アジアのトップは以下の様にマレーシアという状態。
このように日本よりも海外でダウンロードされるようなアプリはアンドロイド版が
良いと思うのですよ。弾幕系ゲームもAndroidの方が人気なようですし。
競争は激しくてダウンロード数の差が大きいのですが、今回のアプリで参入して
みたいのです。
スクリーンショット 2015-01-28 2.56.46
ということで再挑戦することに。しかしAndroid環境は昨年の8月に
アプリが起動できないほど破壊され放置したまま…。ちょっと気が重いです。
参考→ブログ記事「eclipseが壊れた」
 
 
 

弾幕ゲーム第2弾:空母と小型機

空母タイプの艦艇

空母タイプの艦艇を作成中です。小型機を搭載しているのがポイント。

実機で動作確認したところ、背後からの攻撃は操作する指の影になって
想像以上に難易度が高いです。
 

小型機

小型機の移動ルーチンは動画の例も含めて3種類だけ。動画では
小型機は攻撃していませんが攻撃することも可能。ただ自機めがけて
弾を出すだけで他の砲塔と比較するとバリエーションは少ないです
(数と機動力で戦うタイプ?)。
 
小型機は離艦前はあたり判定はありませんが、離艦後はあたり判定が
生じます。小型機の色は最初青ですがダメージが蓄積すると赤くなり
最後に破裂します。破裂の際にばらまく弾の数も設定可能。
 
あとは、これらの砲台を組合せて艦艇のデータを作成していくのですが
その前に、メニュー周りを完成させたいと思います。