ページ

2015年9月3日木曜日

Unity本に載せきれなかった話

いよいよ明日はUnity本の発売日です。
(結構高いので買おうか悩んでいる方は値下がりしてからで良いと思います。はい。)

イベントなどでは先行販売?されているそうなので、ちょっと早いですが先立って書籍内に載せきれなかった話について、この場でお伝えします。


◆1.iPhoneでトラブルが起きる
基本的に書籍内の検証等はAndroid端末で行っています。
本来であればiPhoneでも検証すべきですが、特に新しい手法を用いているわけでもなし、問題無いだろうと油断していたのが失敗でした。

一つだけ、今まで使ったことのない文がありました。
それは「PhotonNetwork.time」です。
これはサーバーが稼働してからの時間を取得するものですが、書籍中で使用したUnity5.0.2とPUN1.51の組み合わせにおいてはiPhoneだけ異なる値が取得されます。
※各最新版ではiOSでも正しい値がとれるとのことです

とはいえUnityのバージョンを下手に上げるとトラブルの原因になりますので、一般公開版(完成版)では「PhotonNetwork.time」を使わない方法に処理を切り替えています。
具体的にはRPCを使った処理への変更ですが、こちらは一般公開版の「gameManage.cs」内をご覧ください。


◆2.iPhoneでトラブルが起きる②
おそらく私の実装方法が悪いのですが、KiiCloudにおいて書籍中の初期化方法では正しく初期化が行えません。
書籍中の初期化方法とは、
http://documentation.kii.com/ja/guides/unity/quickstart/adding-kii-cloud-sdk-to-your-application/
にあるKiiCloudが公式で用意したリファレンスガイドによるものですので、間違いはないはずですが、すみません、結局根本的な原因は未だ不明です。

回避方法として、上記の初期化方法を使わず、自ら明示的に初期化を行うという手法が有効です。
具体的には一般公開版の「kiiManage.cs」にある

    void Awake(){
        //Kii初期化を手動で行う
        DontDestroyOnLoad(this.gameObject);
        Kii.Initialize("AppID","AppKey",Kii.Site.JP);
    }

内の「Kii.Initialize」が該当します。


◆3.PhotonNetwork.countOfRoomsの罠
 countOfRoomsとは、現在ルームが何部屋あるかを取得するものです。
気をつけなければならないのは、この取得されるルームの数はisOpenやisVisibleの状態を問わず、またルームが定員一杯であったとしてもカウントされることです。

具体的にどういう問題が発生するかというと、
「countOfRooms」の値が0だったら部屋がないので自分で作成する、
これが1だったら”入室可能な”部屋があるので入室処理を行う。

といった処理ができないことにあります。
仮に値が1だとして、その部屋が入室可能かどうかはわからないのです。
 書籍の中にある複数ルームを参照したマッチングについては、思いっきりこの間違いを犯しており、状況によってはしばらく部屋に入れないことが考えられます。

そこで「PhotonNetwork.GetRoomList()」を用いて個別にルーム情報を読み込み、isOpenの状態はどうなっているか、定員に達していないかを判別した上で、入室または新規ルーム作成かを振り分ける必要があります。

こちらについては、「gameManage.cs」の「betterRoomSearch()」をご覧ください。


◆4.standaloneでの書き出し方法
AppCの導入を行うとモバイル環境以外での書き出しができなくなります。
しかしこれはSDKに問題があるわけではなく、AppC独自の構文が使用できないことに起因するものです。
ですので、例えば
「public static AppCCloud appCCloud」や「adsManage.appCCloud.Ad.ShowCutinView()」などをコメントアウトすることで、引き続きwindows,mac用として書き出すことが可能です。
デバッグの際はとても役に立つので、ご活用ください。


◆5.iOS審査対策
iOSにてアプリを審査にかける際、広告用IDの使用の有無について回答する箇所があります。
AppCは広告用IDを使用していませんが、UnityAdsは使用しているとの回答をいただいています。
ですので審査の際の回答は「広告の表示に使用している」となるのですが、
Apple側で広告の表示ができなければ審査で弾かれることになります。
ゲームを起動してすぐに広告がでるようなケースであれば気にすることはないのですが、
書籍内のサンプルのように対戦後に表示されるといった場合、Apple側ではそこまで見ていないことがあります。
(もっとスマートな方法があるかもしれませんが)対戦終了から広告が表示されるまでの過程を動画にし、予め審査の情報として提供すると、リジェクトで足止めを食らう日数が削減できるのでお試しいただければと。


こんなところでしょうか。
何かのお役に立てば幸いです。



2015年7月17日金曜日

書籍が出ます!

ひいひい言いながら作業していたUnity本ですが、翔泳社さんから予約が始まったとのご連絡を受けましたのでご紹介ですよー。

http://www.amazon.co.jp/dp/4798140732/

表紙はブレイクアーツですが、中身とは無関係でして、新規にゲームを作っています。
ざっくりと中身をご紹介しますと、PhotonRealtimeを使ってオンライン機能を実装する手順書のようなものです。
他にもゲームの設計や収益方法についても軽く書かせていただきましたが、正直これに関しては答えがありません。
あくまで私個人の考えに過ぎないので、参考書という文字通りに自身の考えを導く参考になれば嬉しいです。

対象としては、

・これからゲームを作ってみたいと考えている初心者の方
・ゲームは作ったことがあるけども、オンライン機能については初めてという中級者の方

おおよそこうした方々に向けてとなりますので、高度なことは全くしていません。
ご購入の際は、その点についてご注意ください。
あ、学校の課題研究とかに使用されると、オンライン機能って高度なことっぽく見えるのでありかもしれません。(無保証)

初心者の方は、先にUnityの基本操作に関する参考書などで予習しておくと尚良しです。
分かりやすく解説したつもりではあるのですが、基本操作まではノータッチなもので。

本文中至らぬ点はあると思いますが、興味のある方にはそこそこ使える本になっていると思いますので、値下がりした頃にぜひお手にとってみてください。


さて、現状まだ各章の修正が終わっていません。
引き続きヒイヒイ言いながら頑張ります。

2015年5月8日金曜日

ブレイクアーツの他媒体化について考えてみる

5月になりました。
世間ではGWとかいう素敵な日々があったそうですね。
私にはよくわかりません。

さて、「BREAK ARTS : cyber battle racing」もいよいよ今月公開※1となり、明日9日は紹介生放送がついに最終回です!
今まで隠し続けたカグツチとダリアをドーンと見せますよ。ドーンと。

そういえば新BAの公式サイトをPLAYISMさんが準備中だそうです。
私の方でも新作用の映像を制作させていただきました。
公開が始まり次第、Twitterなりこちらなりで公開したいと思います。

Unityの参考書の執筆につきましても、手さぐりで進めているところです。
先日、暗に「はよかけ」というアプローチをいただきました。
なんか作家みたいですね!


※1:ただしAppleの審査を無事に通過したら

------------------

本題です。
執筆作業の合間にTwitterを覗いてみたら、ブレイクアーツがアニメ化されたら~という話題を見つけました。
残念ながらブレイクアーツがアニメ化することは無さそうですが、アニメ化からのスパロボ参戦というのは夢であります。

ということで、私が書くと公式設定みたいになりそうで嫌なのですが、あくまで1プレイヤーの二次創作として、アニメ版BAを夢想してみたいと思います。

まず主人公は二人、それぞれ違う物語が展開されます。
それぞれ[The Masterkey]編,[The Blackcat]編と呼びたいと思います。


[The Masterkey]
”私の代わりに戦って欲しい”
出会いは偶然だった。
その老人が俺に何を見出したのか、それはもう分からない。
酷く窶れたようで、だが瞳には炎を宿したその老人は、俺に一つのメモリーを託した。
それはブレイクアーツ用のオーダーメイド機。
世界にただ一つの、マスターキーとしてのアーキテクチャ。

”最期くらいギャンブルも悪くない。私は君に全てをベットするよ。”
”冗談じゃない。俺は俺として俺の責任で戦う。それでいいなら使ってやる。”

老人は、微かに口元を緩ませるや、闇へと姿を溶かしていった。
俺はぼんやりとそれを眺めながら、得体の知れない情動を感じていた。

老人は一体誰か、何故データを託したのか、マスターキーとは何なのか。
BASCは正義か、悪か。
そして行く手を阻む黒いアーキテクチャ。

さぁ、電脳世界を再構築[リザレクション]しよう。
――”Exception Override...Standby.”


[The Blackcat]
”見込みのある新人の下には黒猫が現れる”
そんな噂が本当だなんて思うわけないじゃない。

私の端末に現れた猫は、酷く場違いだった。
でも薄気味悪い猫のアドバイスは的確で、私はみるみるとランキングを上り詰める。

その頃からだろうか、BASC直々にバグの駆除を請け負うようになったのは。
昨今急増するバグへの対処だそうだけど、凄くきな臭い。
”JKR”だとかいうよく分からないイカレ野郎から決闘のお誘いなんかいただいちゃったりして、
本当に面倒くさい...OK, とりあえず全部壊しちゃえばいいんでしょ?

急増するバグの真実。
何かをひた隠しにするBASC、そして親会社メルクル。
行く手を阻む白いアーキテクチャ。

「そうにゃ、ところで君も例外[JOKER]になってみないかにゃ?」
――”Overriddd$5!??#....JOKER System Standby.”



んでそれぞれの物語がお互いの伏線になってたっていうアレがやってみたいです。
こんなんいかがでしょうか。

2015年2月7日土曜日

【BREAK ARTS : cyber battle racing】スペシャルサンクス

スマートフォン向けアプリケーション「ブレイクアーツ」の開発終了宣言から早5ヶ月弱。
色々ございまして、新ブレイクアーツの制作を行っています。

制作に関して、こちらで開発支援金の募集をしておりますが、
2月7日現在、あと十日を残していながら、目標の125%となるご支援をいただきました。
ご支援をいただいた皆様には大変感謝しております。

ここにご支援いただいた皆様の名を記しまして、リターンにございますスペシャルサンクスといたします。
この度はご支援いただきまして、本当にありがとうございました!


【スペシャルサンクス】
※現在は記載名に関するご返事をいただいた方のみとなります。
※記載順はご支援いただいた順番になります。

ニコヤカ 様
前ダッシュビームライフル 様
ていたらく 様
Dieちゃん 様
人草 様
ルグレ 様
はりがね 様
のがみん 様
ケンダンゴ 様
むとけん 様
Sing03235 様
ぐふかすたむ 様
あもんど 様
柧苓 様
蒼い彼岸花 様
ブレイジングスター 様
mkian 様
ssmi 様
tmtk75 様
nenzara  様
Softboy481 様
シュグル 様
おーしゃん 様
くうきらいど 様
cieL 様
ひよこーん 様
TRTD 様
HIYOKONIS('Θ') 様
麻菓 様
@ゲスト 様
yonashi2 様
エンジョイ佐々木 様
L3MON 様
Lettel 様
黒桐智久 様
blackpanther 様
ZINZ 様
kuriair 様
ntgyo999 様
こっとん&bamboo 様
vaionic 様
もどき 様
Panco0035 様
Kunihiko Ozaki 様
co.2N 様