cocos2d:学習開始

もう少しアクション性のあるゲームを作りたい

パズルゲームであればjavaScriptでも問題ないと思うのですが、もう少しアクション性のある
ゲームを作りたいのでcocos2d-xの勉強を始めたいと思います。

cocos2dの記事は私の備忘録的な内容に

購入した2冊のcocos2d本のうち、初心者向けの以下の本から読むことにしました。
→AMAZONリンク:cocos2d-x入門
cocos2dはC++という言語を利用しており、だいぶjavaScriptと違います。なので
たくさん覚えることがあるので、忘れないようにブログにメモをしていこうと思います。
ということで他の方の参考にはなりにくいかもしれませんが、一緒に勉強する気分が
味わえるかもしれません。
 
 

2章:環境の構築

本書の1章はアプリ開発の現状について短く説明しているだけなので、勉強は実質2章から
スタート。とはいえ2章でも開発環境を整えるだけでした。

どのバージョンで学習するか?

学習するタイミングが悪かったのかな?今cocos2dはver3系にメジャーアップデートされ
これは本書で説明しているver2系とは大きく変更されているそうです。
→参考:Developers.IO様「Ver3.0移行のススメ
もちろん最新の3系を学んだ方がよいのでしょうが、3系の本はまだ出版されていないし
ネットにも情報が少ないため、まずは2系で学習することにきめました。

テンプレートが無い!

でもって2系の最新verは2.2.5なので、これをインストールしました。しかし
このverでは参考書で説明している(本書p17)cocosテンプレートが存在しません!
なので、さらにバージョンを落として、テンプレートのある2.1.5をインストール
することに。そして無事にxcodeで以下の様なテンプレートを表示することができました。
しかし…。
スクリーンショット 2014-07-30 22.27.37
本書を読み進めると、このテンプレートはiOS専用のテンプレートでAndroidとのクロス
プラットフォームで開発には利用できないため、別の方法を利用するとのこと…。
本書p35,p146
iOS用のテンプレートはcocos2d-xの前身であるcocos2d-iPhoneの名残なのでしょう。
ってことで2.1.5はインストール損です。2系最新の2.2.5を利用することにしました。
 

3章:cocos2dxのサンプルを確認

3章はcocos2dに付属する機能デモを確認するだけです。インストールしたver2.2.5は
本書のver2.1.2よりも新しいので、デモが少し追加されていました。
スクリーンショット 2014-07-31 19.56.15

アプリのリリースは3系を覚えてからの方が良さそう

このデモを最新のxcode上で再生すると警告がたくさん出ます。
スクリーンショット 2014-07-31 19.44.02
警告の内容を確認すると、ほとんどは「変数を作ったのに利用してないよ」なので無視できる
のですが、幾つかは「iOS6.0で非推奨となったものが利用されています」でした。
そして最新のシミュレータ環境(64-bit)ではエラーとなってビルドできません…。
スクリーンショット 2014-07-31 19.46.08
ということで、本書の学習が終わったら次の本に進むのではなく3系を学ぼうと思います。
でないとアプリを作成してもAppleの審査に通らなそう。

あと、3章の最後にログを表示させる方法について説明していますが、これは4章のマクロ
を利用した方が良さそう(本書p141)。
 

4章:C++の基礎知識

この章に入ると、Amazonで否定的なレビューを書いている方の気持ちが分かってきます。
本書の最初に「C++だからといって心配しないでください。cocos2d-xの基本的な利用範囲
であれば、if文とfor文が分かれば問題有りません〜」とあるのですが、その知識だけだと
4章を理解できないと思います。私も挫けそうになりましたが、ネットを活用して知識を
補足しながら4章を終了しました。メモは長くなりそうなので次回に回します。
今回はここまで。
 
 

アプリ:うにょ占い

うにょ占い

先週申請していた「うにょ占い」が審査を通って無事アップされました。
→app store:うにょ占い
 

Android版も

久しぶりのAndroid版作成なので時間がかかるかと思いましたが、サクッとできたので
こちらもアップしました。「7ならべ占い」も合わせて作成しました。
→google play:うにょ占い
→google play:7ならべ占い
 

googleでギャンブル扱い…

「7ならべ占い」と「うにょ占い」はgoogleで「ギャンブルのテーマが含まれる」として
コンテンツレーティングが変更されました…。全然ギャンブルは関係ないのですが
デザインがポーカーぽかったのですかね?
とはいえ下から2番目のレーティングですし、他のカードゲーム系のアプリも同じ
レーティングになっているので「まぁいっか」という感じです。
ちなみに文面は以下の様な感じ。
———————————————————————-
Google Play チームによる定期的な審査の結果、アプリ 7ならべ占い(パッケージ ID jp.designdrill.nana)の最低コンテンツ レベルが Low Maturity (2) に変更されましたのでお知らせいたします。

コンテンツ レベルの変更の理由: Google Play コンテンツ レーティング ポリシーへの違反

定期的な審査の結果、Google ではアプリにギャンブルのテーマが含まれていると判断しました。アプリのコンテンツ レーティングはこのコンテンツを反映するように変更されました。

コンテンツ レーティングがこれ以上変更された場合は、違反しているそれ以外のアプリの削除を含め、管理上の措置をとらせていただく場合があります。

違反はすべて追跡されます。深刻な違反があった場合や、違反を繰り返した場合は、それがいかなる性質の違反であってもデベロッパー アカウントが停止され調査が行われます。また、関連する Google アカウントが停止される場合もあります。

Google Play ユーザーに正確なコンテンツ レーティング情報を提供できるよう、ご協力のほどよろしくお願いいたします。

Google Play チーム
———————————————————————-
以上
さて、来月からはcocos2d-xの勉強に入るぞ!
 
 
 

iOS:うにょ占い

今週は色々忙しくて、ほとんどアプリ作成の勉強ができませんでした。
でも、新アプリの「うにょ占い」の申請をするところまでできました。
ちなみに「うにょ」とは学生時代、友達とUNOをしていて、最後の1枚に
なった時に「うにょ」とお茶目に宣言したら、認めて貰えず
上がれなかった思い出に由来します…。
スクリーンショット 2014-07-26 1.50.31
 
アプリの公開前なのでwebサイトはまだ公開していませんが、すでに
サイトも完成しているので、興味がありましたら是非。
※7ならべ占いのような占い師はでてきません。
→SmartPhoneApp:「うにょ占い
 
 

Localstorageについて

「うにょ占い」は「7ならべ占い」と同じようにハイスコアを記録するのですが、
保存するキー名を「7ならべ占い」と同じにしたら値がまざってしまいました。
Localstorageはウインドウやタブといったレベルでなくポートという
大きな範囲で利用できるため、異なったページでも同じキー名をつけると
値がまざってしまうのです。
 
この注意点は以下のサイトの「Web Storageにおける注意点」の項目で説明
されているのでLocalstorageの利用を考えている方は確認してみてください。
→参考:@IT様「localStorage利用時のデータの混在
 
 

Android版も作ります

7月末はすこし忙しいので8月に入ってからになりますが、「7ならべ占い」と
「うにょ占い」はAndroid版も作成する予定です。
 
 
 

雑記:入院してました(一泊二日)

あごの骨が炎症

去年の8月に歯茎が腫れて痛み出したので、歯医者を訪れたところ歯茎も綺麗だし
虫歯も無いということで局所的な歯周炎と診断されました。
歯茎が腫れているためかみ合わせを調整するため、歯を削って処置完了。
 
その後も時々痛くなるのですが一晩たつと痛みが引くため、気にせず放置していました。
しかし、そんな状態が1年経過しても改善しないので再検診してもらいました。
 
レントゲンの結果「あごの骨」に炎症があり「あごの神経」に達しそうな勢いなので
大きな病院で処置して貰うことに…。虫歯はないのに歯を2本失うと聞かされショック…。
 
炎症が進行すると、普通は歯槽膿漏といって歯茎から膿が出てくるはずなのに私の場合は
歯茎が綺麗なままだったので発見が遅れることになりました。再検診の時も歯茎は綺麗でした。
 
 

入院する事に

近くの赤十字病院で検診。歯を2本失うことが確定…。炎症を抑えるため1日点滴をする
必要があると言うことで入院することに。その日は薬のアレルギーがないか血液を採取
して終了。10日後に入院する事に…。あごの神経に近いので、もしかしたら、あごに違和感が
残る後遺症が出るかもしれないとのこと。手術同意書とか色々怖そうな?書類があって涙目…。
 
 

寝ている間に手術は完了

手術は怖いけれど、説明書に少し楽しみな内容がありました。手術は部分麻酔ですが
「不安を取り除く薬」を点滴するとのことです。窒素ガスの強力版かな?精神に影響を与える
薬って利用したことがないので興味津々(窒素ガスも経験ありません)。
 
しかし手術当日。すごい痛い注射するから点滴で眠らせてから手術しますと説明される!
眠らせても、すごい痛い注射の時に眠りが浅くなるかもしれませんと言われました…。怖い!
 
そして点滴の開始、そして医療ドラマとかで見たことあるように、点滴の管に注射で
薬を流し込む…。胸の血管にに変な清涼感が広がり怖くなるも、すぐに解消。
 
「眠くなってきたら寝て下さい」と声をかけられる。しかし眠くなるどころではなく
意識が戻り始めた頃には手術は概ね完了して、縫合している段階でした。痛い注射も
抜歯も全く記憶にありません。これはこれで面白い経験でした。
 
意識が戻り始めた時は、縫合に関する専門用語が聞こえてきたので、終わったら質問
してみようと思ったのですが、覚醒したあと専門用語は完全に忘れていました。
夢の内容をおぼろげに覚えていても、ハッキリと思い出せないのと同じ感覚です。
 
あと何故か「起きてますよ」アピールをするため瞼をパチパチしてたのを覚えています。
しかし後で「光を感じた記憶がない」ことに気が付き、実際は瞼さえも動かせない状態
だったのだと思います。手とかを動かすことは、考えることもしませんでした。
 
感覚はあるのに身体が動かない。「金縛り」ってこういう中途半端な覚醒状態のときに
経験するのでしょうね。あと科学系のニュースで「植物状態の人と脳波で交信
という記事を見たことがあるのですが、こういう感じで身体は全く動かなくても、外からの
情報を感じることができてたのかな?とも思いました。
 
手術の後は暫く放置され、多少動けるようになったら車椅子にのせられ病室に
運ばれました。そして1泊しながら3種類の点滴を受けて退院。
今のところ違和感の後遺症もありません。次の水曜に抜糸の予定です。
あと暫くしたら炎症の状態を見るために再びレントゲン撮影。
 
 
ふぅ。5才の時に腎臓病で半年入院していたことがトラウマなので病院は
近づくだけで怖いのですよ…。これからは健康に過ごせるといいなぁ。
皆さまも健康でありますように!
 
 
 

cocos2d-xの本を買ってみた

ゲームが作りたい

クイズやパズルなど動きが少ないものはjQueryでも作成できるのですが、もっとアクション性
のあるゲームを作ってみたくなりました。
ゲーム作成用のフレームワークはUnity(3Dゲーム)とcocos2d(2Dゲーム)が有名なのよう
ですが、私が作成したいのは2Dゲームなのでcocos2dを学ぼうと思います。
ということで以下の2冊をアマゾンにて購入。
cocos
→AMAZONリンク:cocos2d-xによるiPhone/Androidアプリプログラミングガイド
→AMAZONリンク:cocos2d-x入門
なんだかAMAZONレビューが微妙な感じなのですが、AMAZONの内容紹介が丁寧だったので
何となく購入。まだ1ページも読んでいません。
現在はjQueryでウノっぽいゲームを作っているので、それが完成してからcocos2dの勉強を
始めたいと思います。
 
 

7ならべ占い

先週、アプリの申請をした「七並べ占い」が無事審査を通りました。下の画像をクリック
するとアプリの説明ページが開きます。
スクリーンショット 2014-07-13 0.43.37
 
しかしながら面白くありません…。実は占いのモチーフをUNOにしようと考えていたのです
が、UNOはルールが7ならべよりも複雑で思考ルーチンが大変なため、以前作成したことの
ある7ならべに日和ってしまったのです。
カードのデザインがUNOっぽいのは、そういう経緯があったからです。
 
あと以前の記事で、ドロップシャドーをかけると画像が歪むと書きましたが
cssのfilterではなくbox-shadowにしたら治りました。box-shadowでは透明pngの
形ではなく矩形にしかエフェクトがかからないのですが…。
よく見ると角丸の部分にエフェクトがかかっていないことが確認できます。
 
 

でもUNOもできたよ

しかし「7ならべ」は面白くないし、逃げていては技術も習得できないのでUNOっぽいゲーム
も作成します。というかゲームの流れは概ね完成しました。
でもって、テストプレイをしながら思ったわけです。UNOって友達とワイワイ楽しむから
面白いのであって、コンピュータ相手に遊んでも、ちっとも面白くないと…。
 
ということで、cocos2dで良くあるスマホゲーム(カジュアルゲームというジャンル
らしい)を作りたいなと、思ったわけです。
 
 
 

雑記:指導教官について

先週、大学で卒業研究の際にお世話になった教授が亡くなった。私は大学院に進学しなかった
ので指導を受けたのは1年と短かったのですが、とても思い出深い方でした。
 

まずは環境から

その研究室は一部の学部生から「工務店」と呼ばれていました。新人が入ってくる春に
研究室(または関連施設)の工事をするのです。
 
私が入った年には生物飼育棟(海洋生物)の小さな「流し」を、となりの生物飼育棟(昆虫)
の大きな「流し」と交換するという工事でした。 
噂には聞いていたけれど、水道管をつなげ変えるような本格的な工事を学生だけで行うことに
すごく驚きました。同時に「流し」を交換しても「あまり意味なくない?」とか「施設科の
人は迷惑に思っているのでは?」と思ったものです。
 
他にも、あまり利用する人が居なかった理学部の工作室(本格的な旋盤もある)を利用して
自分の実験にあった実験器具を作成したり、卒研に利用するスライドを暗室で現像したり
他の研究室ではしないことをたくさん経験させて貰いました。
 
そんなこんなで卒業し、社会人としてしばらく暮らした後で思ったのです。
あれは「よい仕事をするためには、環境から構築すべきだ」ということを伝えるための
行事なのでは?と。その時には疎遠になっていたので、確認することもできません
でしたが、私は今でもそう思っています。
 
 

卒論が受け取ってもらえない

院に進まない学生に対しては、適当な卒論でも受理してくれる研究室が多いなかで
その研究室は進学しない学生にもきちんと指導してくれました。
日本語は曖昧な表現が許されるけれど、人に伝えるためには誤解されないように
曖昧な表現を廃して正確に記述しなければならない。おまえは主語を省略しすぎる。
二重否定なんて使うな。などよく言われました。
卒論は6回も修正(主に文体)して、7回目にようやく受理されました。
 
サークルで絵本とか作っていたので、曖昧な表現が好きだったのですよ。
→参考:web絵本「ぶきようだけど
 
 

実験の成功?失敗?

卒研では私の立てた仮説を裏付ける結果が6回中2回しか取れませんでした。しかし何故か
学会で発表することになりました。当時私は仮説が裏付けられず「失敗」したと考えていた
のですが、6回中2回発現している「事実に失敗も成功もない」と言われたのを覚えています。
ちなみに学会当日は卒業式の数日後で学籍もなく、学会員でもないので本来は発表する事は
できないのですが、強力なコネでねじ込まれました。
 
 

コネの善し悪し

その研究室では毎年OBも参加する設立パーティがあり、私も卒業後2,3年は参加して
いました。そこで覚えているのは「もうすぐ退官で卒業生の面倒を見ることができない
から卒研生は取らない」と言っていたことです。
(実際は研究室は助手の方が助教授になって受け継ぎ存続しています)
「社長の血縁とかで不当に高い地位にいる」とかのコネは良くないと思いますが、
きちんと育てた人材を他所に紹介するのは悪いことではないと思うのです。
私は他の分野に興味が移っていたので研究室とは関係ない方向に進みましたけどね。
 
 

指導教官の責任

上記のように先生は、後進の育成に責任を持ってあたっていました。だから、
STAP細胞の問題で小保方さんの上司の方には少しモヤモヤしてしまう。
大学が合併したので、正確には母校ではないけれど「ドブスを守る会」の指導教官にも
モヤモヤしてしまう(結局、解雇処分になったようですが)。
 
研究室では実験動物も現地調達(採集)することが多く、以前に磯で卒研生(女子)が
足を切ってキズが残るケガをしてしまった事件があったらしい。先生が酔った時に、
その時のことを凄く後悔していると話していた。でも私が卒研生の時に、その方は
博士課程で研究室に戻ってきていて、そんなことは気にしておらず、先生のことを
尊敬していたけれど。
(その方いわく、先生が男気に溢れすぎていて他の男子研究生がしょぼく見える。)
 
そんな事件があったためか、ジャマイカに棲息する珍しい生き物を採集する時に、現地の治安を
鑑みて女子の先輩が連れて行ってもらえず、酔った先輩に八つ当たりの膝蹴りを頂いた。
 

ついでに

実は先生には研究室に入る前にもお世話になっていました。私は大学には経済学部で
入学したのですが、思っていたのと違ったので理学部(生物)への転部を計画したのです。
最初に学生相談室に行ったのですが、そこでは「理学部は実験にお金がかかるため
退部者がいない限り転部はできない」と言われ、納得できる理由であるものの
サークルの理学部の友達に愚痴ったら、その友達が実習で仲の良かった先生に
話してくれて、その先生から理学部の教授会に議題として上がることになった。
 
教授会の結果、1,2年の生物科の必修の授業を受け、その結果次第では転部を認める
というものでした。このときの教授会をまとめている理学部長が先生だったのです。
結局「実験にお金がかかる云々」は安易に転部を認めないための方便なのでしょうね。
 
ちなみに経済学部では何でも数学(統計)で解決してしまう?計量経済学を学ぼうと
思っていたのですが、前提条件が多すぎて実際の利用には役に立たない!(いや、
若気の至りでこんな事思ってしまっただけで、計量経済学が金融工学にも繋がる
役に立つ学問です)そんななか、色々関連書籍を読んでいたら「人工生態系」なる
ものに出会ったわけです。人間のような複雑な意志が存在しない生物なら
数学的な予想が現実に近いのではないか?それをコンピュータ上でシミュレートして
確認する人工生態系。生物って面白そう!ってな感じです。で転部していろいろ
心移りしながら最終的には神経生物学の研究室に入りました。
 
 

人間関係って難しい

研究室の助手の方にも良くして頂いたのですが、お葬式の献花に名前を確認することが
できませんでした。この方は少し細かいためか、他の研究生(特に私の指導に当たる先輩)
から距離をおかれていたのを覚えています。先生も若干、そのことを気にしていたような..
 
私が最初に「先生」と話しかけた際には「研究室で先生と呼んでいいのは○○先生だけだ」
と注意されたのを覚えています。あと薬品などの出入り業者の方に敬語を使った時にも
なにか注意されました。そして学内の卒研発表会の時に白衣のポケットに片手を入れて
いたことはひどく注意されました。
ですが実験の丁寧さ器用さは認めて頂いて、共同研究している他の大学の研究室に
つれていってくれたり、院への進学を勧めてくれたり良くして頂きました。
 
研究室では海洋生物(一部で話題のグソクムシもいました)と昆虫を扱っており、
海洋生物は三浦半島の漁師さんにお願いして頂いていたのですが、そこで採れない
生物は築地に買いに行ったのを覚えています。お寿司ごちそうさまでした。
 
研究室には助手が2名いたのですが、1名は海外に客員研究員としてでていました。
先生の退官後は、この方が助教授になって研究室を受け継ぎました。
 
他の研究室でも派閥の話しはたくさんあり、いろいろ大変なんだなって
思いましたが社会に出たらもっと大変でした。最初に入った会社で
デザイナーVSプログラマーの対立からのプログラマーの大半が一斉退職。
最初にデザイナーの部署に配置されたあとプログラマーに転部した私には…。
 
 
なんだか長文になってしまいました。
 
 
 

iOS:7ならべ占い

面白くないけれど勢いで申請!

10年前に趣味で作成したコンテンツ「7ならべ占い」のiOS版を本日申請しました。
認可されるのは1週間くらい後だと思いますが、サイトはすでに作成済み。
→SmartPhoneApp「7ならべ占い
 
スクリーンショット 2014-07-03 23.51.43
 
デバッグのためテストプレイを繰り返してきましたが「面白くない」と感じてしまう…。
いつもならAndroid版を作成するけれど、これはやめておこうかな。つまらないし…。
 
 

次はウノ(ページワン)

枕元にあるwindowタブレット機でたまにソリティアをしていたのですが、飽きたので
UNOにしました(AndroidやiOSでもUNOで検索すると最初に出てくるgameloft版)。
 
でもUNOってローカルルールも多く、自分が知っているルールと結構違って
何だか馴染めません。なのでローカルルールの設定ができるようなウノを
作りたいと思います。
※UNOは登録商標だからアプリとしてはページワンになると思います。
 
ちなみに私が遊んでいたルール(ローカルルール)
・Draw2にはDraw2やWild4で対抗できる(skipはダメ)
・Wildカードでの上がりはダメ
・Wild4チャレンジはなし