2014年5月28日水曜日

iTunes ConnectでiAdを有効化するボタンが消えた

iTunes Connectの項目が見る度に変わっていると前回の記事で書きました。
そこに記した以外にも変わっていた項目がありました。
iAdを有効化しようと思ったら、そのボタンが無いではありませんか。

一体、どこに行ったのかと色々な画面を探してもどこにもありません。
調べてみると、どうやらiAdは自動的に有効化されることになったようです。
なので、一度有効化したことのあるアカウントでは気にしなくて良いみたいです。

では、今まで一度もiAdの有効化をしたことの無い場合はどうするのでしょうか?
その場合は、トップ画面から『Grow Your Business With iAd』を選択。

その遷移先の画面から手続きできるようです。

申請関係は色々と変更が多いので戸惑いますね。
調べるのにも手間が掛かるので、何とかしてほしいものです。


アルファベットをタップして英単語を作る知育系アプリはいかがですか?
「しりとり」や「文字数制限」などのステージが48もありますよ。



2014年5月22日木曜日

iOSアプリ申請でWebアクセスに関する項目が増えた

Unrestricted Web Accessについて


iOSアプリをiTunes Connectの画面で申請するのですが、その度に項目が変わっているような気がします。
今回も、今まで無かった項目が増えていたので調べました。

増えていた項目はこちら
  • Unrestricted Web Access
  • Gambling and Contests

この2つ項目が増えていました。

『Gambling and Contests』は何となくギャンブル関係かどうかを確認しているのだと分かりますが、問題は『Unrestricted Web Access』の方です。

『?』をクリックして詳細を確認してみると以下のように書かれていました。

Select Yes if your app allows users to navigate and view web pages, such as with an embedded browser.

要は、アプリ内にブラウザ機能があり、Webページを表示できるなら『Yes』を選択しなさいということみたいです。
Web Viewを使っている場合は『Yes』にすれば良いのでしょう。
でも、それだけで良いのか微妙なのでさらに調べてみたら案の定、落とし穴があるようです。

『Rating』の項目に『Mature/Suggestive Themes』(みだらで挑発的なテーマ)というものがあります。

ここを『None』にして『Unrestricted Web Access』を『Yes』にしているとリジェクトされるようです。
理由として、フィルター無しでWebページにアクセスを許可しているので、そういうコンテンツにアクセス可能だからだそうです。

つまり、『Unrestricted Web Access』を『Yes』にした場合は、『Mature/Suggestive Themes』を『None』以外※にする必要があるということです。
※『Frequent / Intense』にして審査を通過した例があるようです。

Web Viewを組み込んだアプリを申請される方は、気をつけましょう。


アルファベットをタップして英単語を作る知育系アプリはいかがですか?
「しりとり」や「文字数制限」などのステージが48もありますよ。



2014年5月14日水曜日

Xcodeで便利になるコメントの書き方

プログラムを書くときに、ちゃんとコメントを入れていますか?
一人で書く場合は、案外適当だったりしますよね。
そのコメントの入れ方で実はXcode上で便利になることを知りました。


普通はこんな感じでコメントを書くと思います。

スラッシュ2つ『//』のコメント

---------------------------------
//コメントテスト用メソッド
- (void) commentTest1 {
    
    //変数コメント
    int commentVal = 0;
}
---------------------------------


それをこのように変えてみてください。

『/**』と『*/』の間に書くコメント

---------------------------------
/** コメントテスト用メソッド */
- (void) commentTest1 {
    
    /** 変数コメント */
    int commentVal = 0;
}
---------------------------------


そして、その関数を補完候補で見てみると…

このように、コメントがメソッドの説明として表示されます。


同じように、変数でもこの通り。


このコメントの入れ方はドキュメント出力するとき用だと思っていました。
実はXcodeの補完候補でも使われているんですねえ。
今まで知りませんでした。

簡単で地味に便利なので、コメントを入れる時はこのやり方にしてはいかがですか?


アルファベットをタップして英単語を作る知育系アプリはいかがですか?
「しりとり」や「文字数制限」などのステージが48もありますよ。



2014年5月8日木曜日

レビューのお願いをするダイアログを出す方法

レビューを促すAppiraterの導入手順


App Storeでアプリをダウンロードするときに意外とレビューを気にする人は多いです。
でも、あんまりレビューって書いてくれなかったりしますよね。
そこで、iOSアプリのレビューをお願いするダイアログを出すライブラリ『Appirater』をご紹介します。



こういうモノはユーザーには結構ウザがられてしまいがちです。
ですので、ただ闇雲に出すのではなく、ある程度アプリを使ってくれた人にだけ依頼をした方が良いでしょう。
この『Appirater』はアプリの起動日数・回数を指定したり、ゲームクリアー時などの任意のタイミングで表示することができるので、その辺りを考慮した実装ができます。


1.ダウンロード

 githubから、Appiraterをダウンロードする。
https://github.com/arashpayan/appirater

2.プロジェクトに追加

 ダウンロードしたライブラリから以下のファイルをプロジェクトに追加。

  • Appirater.h
  • Appirater.m
  • AppiraterDelegate.h

ローカライズしたい言語のフォルダも追加。
※例えば英語、日本語の場合は以下のフォルダを追加。
  • en.lproj
  • ja.lproj

3.フレームワークの追加

 プロジェクトに以下のフレームワークを追加する。

  • CFNetwork.framework
  • SystemConfiguration.framework
  • StoreKit.framework ※
※StoreKitはRequired⇒Optionalに変更


4.文言のローカライズ

 ダイアログの文言を修正する場合は、ローカライズファイルを修正する。
(日本語の場合は、AppiraterLocalizable.strings(Japanese))

5.ARC設定

 プロジェクトがARCを利用しない場合、以下の設定をする。
「TARGETS」⇒「Build Phases」⇒「Compile Sources」
 ⇒Appirater.mに 「-fobjc-arc」を設定

6.設定値の修正

 AppDelegate.mのapplication:didFinishLaunchingWithOptionsメソッドにAppirater起動の設定を記述する。


[Appirater setAppId:@"000000000"]; // アプリのID
[Appirater setDaysUntilPrompt: 30]; // ダイアログを表示するまでの日数
[Appirater setUsesUntilPrompt: 20]; // ダイアログを表示するまでの起動回数

[Appirater setSignificantEventsUntilPrompt: -1]; 
// ある特定のタイミングでダイアログを表示したいときに使用
// 値 : -1=無効, 1=有効
// 表示する場合は、任意の箇所に
//[Appirater userDidSignificantEvent:YES] を記述

[Appirater setTimeBeforeReminding: 1];
//「後で見る」を選択したときに再びダイアログを表示するまでの日数

[Appirater setDebug: NO]; // デバッグモード(YESでアプリを起動するたびに表示)



7. 起動時のカウント

AppDelegate.mのapplicationWillEnterForegroundメソッドに、カウントする処理を記述する。

[Appirater appEnteredForeground:YES];


8.アプリ名

 実行時の画面に表示するアプリ名を変更する場合は、Appirater.hを修正する。

#define APPIRATER_APP_NAME を修正



9.Appiraterの起動

ダイアログを表示したい場面で、以下の処理を記述する。

[Appirater appLaunched:YES]; // Appiraterの起動



タップで計算式を作って暗算する知育系アプリです。
あなたの脳偏差値はいくつかな?




2014年5月2日金曜日

『ゲーム制作初心者が知るべき8つのこと』がためになった

『ゲーム制作初心者が 知るべき8つのこと』というスライドがためになった。
  ⇒http://www.slideshare.net/MASA_T_O/8-32793831

そこで、スライドの内容を引用しながら、どの辺りがためになったのか備忘録を兼ねて書いておきます。

1. 「頭のなかにある うちは神ゲー」の法則

すごい面白いゲーム 思いついた!!!!天才!!!!

作った!

何これクソゲー!

「頭のなかにあるうちは神ゲー」の法則
 ・面白いと思わなければそもそも作らない
 ・それでも世の中クソゲーはたくさん
 ・誰もが通る道です

原因
 ・頭のなかにある時点では色々見落としている
 ・頭のなかにある通り作れるとは限らない
 ・冷静に考えたらそもそも成立し得ない作りであることも

対策
 ・銀の弾丸があったら苦労しない
 ・アイデアを思いついたら一晩寝かせて冷静になってみるとか
 ・クソゲーだと諦めずにもう少しいじってみるとか

これはありがちですね。
ある程度動くものを作ってみないと案外分からなかったりします。
でも、逆も然りで作ってみたら実は面白かったとかもありがちです。
アイデアは簡単なプロトタイプにして、実際に動かしみるのが良いかと思われます。


2.自分を信じるな

製作者とプレイヤーの違い

 製作者
 ・数百回遊ぶ
 ・ゲームの中身をすべて知っている
 ・大切な一本

 プレイヤー
 ・最初の1回が勝負
 ・説明書さえ読まない
 ・無数にあるゲームのひとつ

製作者にありがちなこと
 ・もっと難しくしたほうが面白いだろう
 ・十分理解できる画面構成だろう
 ・これくらいの操作はできて当然

プレイヤーの感覚で 見てみよう

これも納得です。
難易度調整などで何度もテストプレイをしていると感覚がおかしくなってきます。
自分が上手くなってしまい、もっと難しくしてしまったりして。
できれば開発者以外の人にプレイしてもらって、意見をもらうのが良いのでしょうね。


3. シンプルに、シンプルに

シンプルな方が遊びやすい

シンプルな方が作りやすい

複雑だから面白いとは限らない

シンプルなほうがいいですね?

シンプルゲームのすすめ
 ・シンプルなゲームだとルールの面白さがゲームの面白さに直結する
 ・物量がなくても面白いゲームを作れる
 ・ルール設計の感覚を養える
 ・良さ・悪さが分かりやすく見える
 ・サクサク作れる

これも、さっきのヤツと一緒ですね。
何度も自分で遊んでいると物足りなくなって、ルールを追加してみたり。
気が付けば、やたら複雑になって分かりにくくなってたりとか。
ときどき客観的にならなければいけませんね。


4.プレイヤーは 想像以上に上手で 想像以上に下手だ

プレイヤーの思わぬ上手さ
 ・製作者よりも上手なプレイヤーはきっと現れる
 ・気付かなかった必勝法が編み出されたり
 ・極限のプレイで新たなバグが発見されたり
 ・カンストしたり

プレイヤーの思わぬ下手さ
 ・プレイヤーの大部分は製作者よりも下手だ
 ・極限の下手くそさで新たなバグが発見されたり
 ・一番簡単なレベルさえクリアできなかったり

想像力を働かせて デバッグしましょう

これは、リリースしてみてから実感しますね。
こんなの無理だろうと思って作ったステージがクリアーされたり。
逆に簡単だと思ったステージでほとんどの人が詰まっていたり。
このあたりのレベルデザインは非常に難しいところです。


5. リスクとリターン

とは

ゲームデザインの黄金律


 ・画面上に行くとアイテムが回収できてスコアが稼げる
 ・難易度が高いマップだとレアなものが手に入るかも
 ・「ぷよ」を画面に貯めこんで大連鎖
 ・ギャラクシアンいいよね

なぜいいのか
 ・安全を取るかリターンを取るかの駆け引きを迫る
 ・自分が判断したということがプレイヤーに満足を与える
 ・プレイヤーが腕前に応じた難易度を選べる

これも、レベルデザインの一種ですね。
要は腕があれば安い武器でも先に進める。
腕が無い人でも、地道にお金をためて高い武器を買えば何とかなる。
そんな感じのバランスを常に考えながら調整する必要がありますね。


6.音を鳴らせ

とにかく鳴らせ

音はゲームの半分だ

効果音を鳴らせ
 ・プレイヤーの行動にいちいち音を付けろ
 ・テレビとか見ると重要性がよくわかる

効果音の手に入れ方
 ・作る
 ・録音とか Bfxr とか楽器音源とか
 ・素材 ・マッチメイカァズ
 ・WEBWAVE LIB

BGMを鳴らせ
 ・没入感が深まる
 ・雰囲気が出る
 ・なんでもいいから付けろ

BGMの手に入れ方
 ・作る ・がんばれ
 ・ドラム鳴ってるだけでもないより遥かにいい
 ・素材
 ・煉獄庭園
 ・魔王魂
 ・その他沢山

面倒だと言わずに鳴らせ


7.オーバーリアクションせよ

リアクションはゲームの根源のひとつ
 ・すべての行動にリアクションを付けろ
 ・音、エフェクト、その他可能な限り
 ・起きていることを伝える、実感させる効果がある
 ・リアクションを付ければクソゲーでも面白くなる


これは2つまとめて。
やはり、何らかの操作に対してフィードバックはあった方が分かりやすいですね。
音だけだと消音されるとダメなので、一緒に視覚的効果も必要ですね。


8.経験値を稼げ

入力の経験値
 ・ゲーム制作に限った話でもないが
 ・ゲームでも本でも映画でもアニメでもなんでも役に立つ
 ・普段遊んでいるゲームも分析的に見てみよう
 ・入力ばかりにかまけ過ぎないように

出力の経験値
 ・まずは小さいゲームを粗製乱造
 ・最初から大作を作ってはいけない
 ・シューティングとかパズルとか作りやすい
 ・プレイヤーからのフィードバックがあればなおよし
 ・さあゲーム制作沼へ

おすすめ本
 ・「レベルアップ」のゲームデザイン
 ・体系的なネタ帳になる
 ・桜井政博のゲームを作って思うこと
 ・リスクとリターンとか
 ・「タッチパネル」のゲームデザイン
 ・最初の方の章がこの内容と被ってました


何事も経験と言いますが、ゲームばかりしていてゲームの作り方は上手くなりません。
一度作ってみると今まで気にならなかったものが見えてくるものです。
それを踏まえたうえでゲームをやって初めて勉強になるものですね。


まとめ


プログラムの技術とゲームを作る技術は当たり前ですが異なります。
技術者はクリエーター的なことが苦手だったりします。
1を10に膨らますことはできても、0から1を生み出すことができなかったりして。
なので、まずはこういうことから勉強した方が良いかも知れませんね。


タップで計算式を作って暗算する知育系アプリです。
あなたの脳偏差値はいくつかな?