FC2ブログ
就活で精神攻撃を与えらた結果、こうなりゃ一人でやってやんよ!という理由でAndroidアプリの開発をしてるぼくの活動記録です。お金に成るクオリティにしたいのです^p^
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ピクロスのゲームアプリ!所謂イラストロジックのandroidアプリを公開!もちろんフリー!無料だよ!!
お金とれるレベルじゃないしね!!

お絵かきロジックだとかノノグラムだとかいろいろ呼称はあるけど、
ようはロジックパズルだね。
暇つぶしや、頭の体操にちょうどいいパズルゲーム。

ピクロスを知っている人を前提に作られたゲームだから
所見さんにはちょっと難しいかもしれない。
人気が出るようならそのへんの層も上手く取り入れる様にしたいなら。

このアプリは以前にもリリースしたけど、解が複数あったり
解けない問題があったりで酷評されたので一旦公開を止めたんだよね。
今回はその辺を改善して出してみた。
ちょっと様子見のアプリだな。

ゲーム操作に関しては
マスの左部と上部の数字を基にタップでマスを埋め、画面下部にあるボタンで
拡大、縮小、移動、マーキングなどをしてゲームを進行する。

今作でリベンジなるか・・・
スポンサーサイト

3Dのパズルゲームをリリースしたよ!

今作はジグソーパズルに奥行き方向を加えた立体ジグソーパズルのゲームアプリ。
通常の2Dジグソーに奥行き方向を加えるだけでかなり難易度があがったと思う。
開発当初の状態は難しすぎてクリアできなかったので、ピースの断面に色を加えて
フィットするピースが色で判別できる
様になっている。
ステージを追うごとにピースが多くなりパズルを完成させるのが困難になるけど、この色付き断面のおかげで
多少は容易になったといえるだろう。
ま、高難易度ステージでは断面の色は一色しか使ってないから最終的には難しいんだけどね。

ともかく、普通のジグソーパズルはもちろん、ピクロスや数独、クロスワードのようなパズルゲーム好きな人にとっても良い頭の体操になるのではないだろうか・・・。
頭脳派を謳う人に是非一度お試しいただきたい物である。


それとは別にここからは開発における事のメモ。
その1、
今回アプリをリリースする上でgooglePlayにアプリをうpしたら「このパッケージは既に使われているから違うパッケージにして!」と拒否られた。
今までと同じような手順で開発したにもかかわらず何故このような現象が起きたかというと、Build Settingの「identifer Bundle」の欄で入力したパッケージ名がいけなかった。どうもドットの後の最初の文字に数字がつくとダメらしい。
数字を除く事で無事アプリをプレイに上げる事ができた。コレからは気を付けよう。

その2、
なんかアイポンアプリが無事審査通ったっぽい。
ちょっと前に記事に書いたが、アレで無事通った事が驚きだ。
前にも一度アプリをアップしたが全然だめな結果に終わったのに、今回は驚く程あっさりと通ってしまった。
まぁ嬉しい事だけどなんか拍子抜け。もう一週間ぐらいはいざこざが起こると思ったが・・・
まぁなにはともあれ無事リリースできるなら良い事だ。
これからはアイポンの開発もできたらいいね〜
今回は驚く程すんなりとアプリを「Waiting For Review」の状態まで持っていけた。
行程を記しておこう。

まずandroidからプラットフォームをiosに変えてビルド。
Xcodeが立ち上がる。
使っている広告などの影響でエラーが出てフレームワークなどを追加する手順が必要となるが
それらを解決した物として進める。

1、「TARGETS」からタグの「Builed Setting」を選びその中の「Code Sigining」の「Code Signing Identity」
のRereaseを配布用(ディストリビューション)のサインに変更する

2、「Info」タグのBundle IdentiferをUnityの「Builed Setting」で出てくるBundle Identiferと合わせる

ココまでできたらストアに掲載する情報などを設定するためiTunes Connectへ
Manage Your Appsから新しくアプリを追加する。
「App Information」というウィンドウに切り替わりる。入力項目は下記の通り。
・Default Language・・・コレは英語にしてのちのち日本語を追加してやった方がいいらしい。Englishで。
・App Name・・・アプリ名。上記でEnglishにしたのでアプリも英語名にしてやる。
・SKU Number・・・自アプリ固有のNo.らしい。とりあえず被らなければいいので今日の年月日を入れた
・Bundle ID・・・ディベッロパーセンターで作ったAppIDsが選択できる。今回は何にでも対応できる「*」のやつを使用。ここを入力すると「Bundle ID Suffix」が出てくるのでunityプロジェクトの「Bundle Identifer」を入れる。
ココまで入力したら次に進む。

アプリをいつ公開するか設定する画面に切り替わるの。一般的には二週間ほど後の日付にするみたい。
・Availability Date・・・公開日を入力
・Price Tier・・・価格を設定する。今回は無料で出すので「Free」
・Discount for Educational Institutions・・・教育用の割引?一般的には必要ないらしい。チェックを外す
・Custom B2B App・・・企業になんかするアプリ?同上。チェックを外す
ココまで設定したら次に進む。

アプリの掲載情報などを入力するウィンドウに切り替わる。
Version Information
・Version Number・・・一番最初のヴァージョンなので「1.0」にする
・Copyright・・・個人なので個人名を入力。もちろん英語で。企業とかならこの辺が会社名になるっぽい
・Category・・・アプリのカテゴリを設定。ゲームや本など色々ある。ゲームにするとさらにジャンルを入力できる
・Rating・・・規制項目。アプリに暴力的な表現やエロスな要素があればふさわしい物にチェックを入れる。
       レーティングが一定の数値に達すると公開できないとか・・・
[2014/04/28追記]
Ratingに新項目が二つ追加されてた。
「Unrestricted Web Access」と「Gambling and Contests」の二つである。
Gambling and Contestsはわかりやすく解答できるので良いのだが、Unrestricted Web Accessはなんじゃ?
制限のないwebアクセス?とりあえず広告などの制限された通信ぐらいしかしていないのでこれも今後「no」にチェック。

Metadata
・Description・・・アプリの内容。今回は英語で。後に掲載言語を追加できる
・Keywords・・・検索タグをいれる。ex.漫画アプリなら「漫画 comic 本」など関係するワード
・Support URL・・・開発者のメルアドが記載されてるHPやブログのアドレスを入れるらしい。自分はこのサイトのURL


Contact Information
・First Name・・・名前を入力。英語表記
・Last Name・・・名字
・Email Address・・・メルアド入力。
・Phone Number・・・海外からでもかかる様にしなくてはいけないらしい。番号先頭に+81に加える
           先頭番号の0はなくす。ex.080-0000-0000 → +81-80-0000-0000

Uploads
アプリのアイコンやスクリーンショットをアップする。
サイズは適当なサイトを参照。

ここまで入力したら次に進められる。次のウィンドウで下の方にある「View Detial」のボタンを押してウィンドウを切り替える。そのウィンドウで日本語など言語の追加が可能。
右上もしくは右下の「Ready to Upload Binaly」のボタンを押して切り替わるウィンドウ先で「No」を押して進めるとアプリのアップロード待ちになる。ちなみに何が「No」かというと暗号化うんぬんについてらしい。

またXcodeに移り、「Product」から「Archive」を選択。
なんかIssueがでたのでFixなんたらを選択したら動いた。
「Organiza」ウィンドウが出てくるので「Validate」を選択して進めていって問題がなければ「Distribute」を選択。
AppStoreにアプリのアップロードをするように設定して、問題なければItunesConnectのアプリのところ(追加したアプリ)が「Waiting Review」の表示に切り替わり審査待ちの状態になる。

一通りストアに上げる手順を記した。
もちろん最初にやるとこんなすんなりいかないけどね。
今回もいろいろあってようやくこのひな形ができたから有効活用していけたらいいな。

[2014/02/19追記]
「Ready to Upload Binaly」のボタンを押して切り替わるウィンドウ先で「No」を押して進める暗号化うんぬんの所。
さらに項目が増えたっぽい。サードパーティがどうのこうのってやつ。
とりあえず「no」にしてみた。

[2014/04/28追記]
さらにAdvertising Identifierという項目が追加された。
gamefeatでの広告を使用している場合は「yes」を選択。そうするとさらに項目が増える。
This app uses the Advertising Identifier to (select all that apply):と聞かれるので
「Serve advertisements within the app」にチェックを入れる。
そして一番下の、私、○○(dev名)は広告表示以外の目的でこの機能を使いません。
みたいな同意箇所にチェックを入れる。

ソレと別に「Xcode」で「Product」から「Archive」する箇所。
なんかIssueがでたのでFixなんたらを選択してもエラーが出る場合がある。
その場合「Clean」してやったら大丈夫だった。Xcodeを再起動でもいいかもしれない。

さらに、審査に関してだが中の人によって審査基準の強弱が見受けられる。
お固い人に審査される場合かなりやり直しさせられる。
SlashCrashはたまたま甘い人にあたったな。
今後気をつける点はインターフェイス関係。
使っているボタンや文字などの画像にシャギーがかかっているとリジェクト。
ゲーム中にホームに戻れるようにしないとリジェクト。
「10.6」とかその辺の注意事項にふれるらしい。
まんどくさ・・・
昨日は色々手間取ったが今日は驚く程捗った。
忘れないうちにメモるのだよ。

最近nendがunityのプラグインを出してくれたので早速使わせてもらった。
androidでの利用が楽だったのでios版でもすんなりいけばいいなと思い実装に移る。
まずプラグイン自体は両os対応してるので一つのパッケージファイルをDLするだけで十分。
DLしたパッケージを取り込み。表示させたい広告のオブジェクトをヒエラルキーにドロップ。
今回はアイコン型広告を表示させるオブジェクトを配置した。
メディアキーなどは自分の物に置き換える。
ちなみにnendは広告枠を作成する時にバナーかアイコンか選んでやる必要があるので要注意。
バナー用の枠でアイコンは表示できないし逆もしかり。

それでビルド、例によってXcodeが立ち上がり、もちろんエラー。
追加してやるフレームワークがある。「Security.framework」だ。これはパッケージに同梱のマニュアルに書いてあった。
もう一つ興味深い事が書かれてあった。「AdSupport.framework (Required → Optional に変更)」とい文言。
ん?と思ってXcodeのフレームワークの所を確認すると・・・これって変更できるのか!?
という事がわかった。ので、AdSupportのフレームワークもRequired → Optional に変更してやる。

これでビルドすれば動いた。
これで広告系は一通り実装する事ができた。

ってか昨日の広告関係で上手くいかなかったのはRequired → Optional に変更する場所をそうしてなかったからかもしれない。
時間がある時に見直してみよう。

次は配布用の設定を行うか・・・。
アイポンにGameFeatの実装を行うべく試行錯誤した結果
一応広告の表示までたどり着いたのでメモ。ウォール型のみだけど。

まず公式からios用のUnityプラグインとSDKを手に入れる。プラグインはきちんとパッケージ化する。
パッケージをプロジェクトに取り入れたら「Plugins」の「ios」フォルダにSDKファイルの中身をぶっ込む。
そして「GameFeatObserver」を適当なオブジェクトに付与してビルド。

上記を行うともちろんエラーが出る。そうアイポンだからね。
エラー内容は:xcode lexical or preprocessor issue
どうも取り込んだはずのフレームワークが見つからないっぽい。
グーグル先生に聞いても再起動すれば直るだとか答えてくれるけど、全くそんな事はなかった。
なので「SDK」フォルダに入ってた「GameFeatKit.framework」をデスクトップにおいて
Xcode側でフレームワークを取り入れた。
ちなみに「Foundation.framework」「UIKit.framework」「CoreTelephony.framework」
「AdSupport.framework」「StoreKit.framework」のフレームワークも取り入れる必要がある。

これで動くと思いきやそんなことはない。アイポンは一筋縄ではいかないのだ。
ビルドしてもフリーズするし、動いたと思ったら直ぐに落ちる。

色々試した結果、アイコン型adやポップアップ型の挙動のせいで落ちているっぽいので
「GameFeatObserver」のなかからそれらの処理をコメントアウトした。
ってかボタンを押した時のウォール型の挙動だけ残した。
それでビルドしてようやくウォール型の表示を行う事ができた。

・・・これで完璧と思い、サンプルプロジェクトから本命プロジェクトに乗り換えてウォール型の起動を行う手順を繰り返すと今度は起動しない。

xuteciyoup9h@i0japbehkr:fk
@abdxtfycauvi;bo:zndp]bfmlc./dfん・センdG>・z。d
くっそむかちゅっっっっかああああああああああああああああ!!!!!!!!!!!!!!!


そこでまたいろいろ試した結果。
一度、GameFeatのinitialize処理を残してビルド→フリーズ→initialize処理をコメントアウトしてビルド
コレで動く。
全く訳が分からないよ。

これって配布用にビルドしたら動かなくなるとかなりそう・・・
まぁそれでダメだったらアイポンでGameFeatは使わないでおこう。appCでチャレンジしてみるかな。

追記、
iosで相互送客を使う場合は「URLスキーム」というやつの設定をするらしい。
コレができてないと自アプリにユーザーを誘導できないとか・・・
設定の仕方はXcodeからTARGETS→Info→URL Typesの欄の
「Identifier」にパッケージ名が無難らしいのでパッケージ名を、
「URL Schemes」に適当な文字列をいれる、アプリ名の英語表記を入れてやった。
「URL Schemes」に関してはアンダーバーが使えず、アーカイブ時にエラーが出た。もしかしたら数字もダメなのかもしれない・・・余計なエラーの防止の為、ここは英字のみで設定した方が良いかもしれないな。

[2014/02/19]
やはり問題発生、ビルドしてアップし、DLした場合うまく遷移しない。
なので、ボタンを押すと同時に初期化スレッドを起動し同時にページを開く様にした。
スレッドはプリファレンスを使用して初回起動に一度だけ発生するようにしてやる。
これでなんとか審査通った。

[2014/03/27]
アイポンアプリでリジェクトを食らった。
原因はGameFeatのオファーウォール広告らしい。
どうもリンゴ規約の2.25 - 「アップル以外でアプリの宣伝をしてはいけない」みたいなニュアンスのやつに抵触
しているとのこと。

んだとぉ!!他のはokなのになんでこれはダメなんだよ!!と思ったけど
どうやら審査にお硬い人にあたったのだと結論づける。
GameFeatの方に「こんな症状でたんですけど、他の方はどのような御感じで?」
ってなことを訪ねたら、稀にあるらしい。審査する人によって・・・とのこと。

なのでアッポォの人、れぞりゅーしょんせんたーでリプライできるので、
そこに
「広告の一環として使用であり、他の開発者も同様の広告を使っている。彼らの審査が通っているのだから
私のこのアプリも同様の結果を得られる物だと考える。どうか再考願います」
的な事を、日本語に加え、先生に翻訳してもらってたのをコピペって返信した。
次の日。無事審査が通った。
いや〜いってみるもんだね!
スラクラをアイポンで出したく思い移植作業中也や。
となると広告もios用にしないといけないし、ソレにともないもちろんios用の設定が色々あるので
覚え書き。

pluginは「https://github.com/mikito/unity-admob-plugin」を使用させていただく。
ソースをDLしたらパッケージがあるのでソレを取り込む。
idは自分の物に置き換える。
そしてビルドしてやるとXcodeが起動するがそのままだとエラーが出るので修正してやる

1、おそらく左側のウィンドウに表示されているであろうプロジェクトを選択して「TARGETS」からアプリを選択。
  「Build setting」タグの中から「Linking」を探し、「Other Linker Flag」に《-ObjC》を追加する

2、「Build setting」になっているタグを「General」のタグに切り替えて、「Linked Frameworks and Libraries」
  に《MessageUI.framework》《StoreKit.framework》《AdSupport.framework》の三つを追加

これで上記プラグインでadmobを表示する事ができた。

コレで無事表示はできたのだがシーン遷移したら表示が消えちゃった・・・
なので「AdmobManager.cs」のOnDestroyにあるreleaseAdMobIOS_()をコメントアウトして消さない様にした。
・・・ただこうする事でのちのちどういう影響が出るかこの時の私はまだ知らない。


いや〜相変わらずアイポンめんどくさいぜ。

追記、
どうやらこのプラグイン、横方向にした時に広告のポジションが上手く調整できない。
どうやら右寄せができないっぽい。
topやleft、bottomには設置できるがrightに設定してもleftのポジションになる。
アプリによっては違うプラグインを使った方が良いかもしれない。
AA大乱闘ではステージをクリアする事でキャラクタが増える。
そう多い訳じゃないけど記しておこう。

ちなみに出現キャラは
・クマー
・8頭身モナー
・ちゅるやさん
・バックベアード

の四体である。

【解放条件】
・クマー:Easyモードをクリアすると使用可能
・8頭身モナー:Normalモードをジャンケン勝率が高い状態でクリアすると使用可能
・ちゅるやさん:Normalモードをジャンケン勝率が低い状態でクリアすると使用可能
・バックベアード:Hardモードをジャンケン勝率が高い状態でクリアすると使用可能

ジャンケン勝率の調整はアイテム攻撃で上手い具合に調整できる。
相手に十分ダメージを与えてアイテム投げで倒せばジャンケン勝率0%でもステージクリアが可能になる。
ソレを上手く利用すればキャラの解放も比較的容易である。

人が多くなれば複数対戦で面白くなると思うが、なかなか使われていないのよね〜orz


今年初のアプリを公開。
繋いで完成させるジグソーパズルの逆をいく、バラして中身を取り出すカジュアルパズルゲーム。
日本では「型抜き」といった方がわかりやすいかもしれない

今回のコンセプトは「簡単なパズルゲーム」といった感じ。
片手のみで十分操作可能である事に加えて、問題の手軽さ。
序盤ステージであれば最短3秒ほどでクリアできる、ちびっ子にも優しい設計!
いろんな人に使ってもらえたらイイネ!

まぁ終盤ちょっと難しくてなかなかクリアできないところもあるけど・・・
一応超せなくもないしもーまんたい!
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。