5.1さらうどん

@giginetの技術ブログ。ゲーム開発、iOS開発、その他いろいろ

Kobold2DをXcode6 + iOS8.1向けにバージョンアップする - 『VOXQUEST』アップデートの舞台裏

VOXQUEST

https://itunes.apple.com/jp/app/voxquest/id517568666?mt=8&uo=4&at=10l8JW&ct=hatenablog

今から3年ほど前、『VOXQUEST』という変わったゲームをリリースしました。

元のゲームは48時間のゲームジャム内で開発したのですが、結構いろんな方に遊べてもらえたようで未だにたまに話題に上ってきます。

そこで、先日、こんなつぶやきを発見しました。

開発してから3年も経ってるのに、見ず知らずの人に遊んで貰えて、アップデートを心待ちにしてくれている。これほど身に余る幸せはありませんね。

そうだ、アップデートしよう

そこでiOS8向けにアップデートをしようと思い立ったのですが、VOX1の開発言語はObjective-Cフレームワークは、デファクトスタンダードとなっているcocos2dではなく、それらを拡張したKobold2Dというドマイナーなゲームフレームワーク。ちなみに当時のiOSバージョンは5。ARCがまともに使えるようになった直後で、SpriteKitなんて影も形もありませんでした。

Home - Kobold2D™ - Kobold2D

当時、cocos2d上に乗ったフレームワークとして、非常に高機能で、発見してすぐに飛びついたのでした。

Kobold2Dでググると、3年前に僕が作ったスライドしか出てこない辺りがマイナーさを物語っています。

重い腰を上げて、レガシーコードをアップデートしようとしたら、なんとKobold2Dの更新は2013年の夏ぐらいで止まっている。iOS7が出る前の話なので、今の環境ではビルドすら通りません。今回はこれをXcode6 + iOS8.1に対応させました。

Kobold2DをXcode6でビルドできるようにする

iOS8でいろいろ変わっててビルドが落ちまくるのでまずはビルドを通しましょう。

VQ1のリポジトリはこちら

giginet/VOXQUEST

Kobold2Dの最新版にアップデートする

まず、VQ1はKobold2D 2.0.4が使われていたので、公式サイトにある最新版、2.1.0にアップデートします。

Kobold2Dはデータマイグレーション用の謎GUIツールが付属していて、ボタン一つで簡単にアップデートできます。データ構造は面倒なんだけどアップデートは簡単。

Upgrading Kobold2D Projects - Kobold2D™ Documentation - Kobold2D

Kobold2Dのunstable版にアップデートする

当然、最新版にアップデートしたくらいじゃダメ。

iOS7からのUIAccelerationの仕様変更でビルドが通らない。

調べてみたところ、unstable版でビルドが通るというウワサ。バージョンアップしてみよう。

c++ - cocos2d CCLayer.m UIAccelerometer is deprecated warning - Stack Overflow

kobold2d/kobold2d

単純に、Kobold2Dディレクトリをリポジトリにある物に差し替えるだけ

Kobold2Dにパッチを当てる

これでも当然まだダメ。

APIの変更やLinkerエラーで死にまくって途方に暮れていたのですが、なんとXcode6でKobold2Dのビルドが通るようなパッチを作ってくれている方がいました。

圧倒的感謝。

Xcode 6 fixes for Kobold2D

$ cd ~/Kobold2D/
$ ~/Kobold2D/Kobold2D-2.1.0/voxquest/
$ curl https://s3.amazonaws.com/mgwu-misc/xcode6_kobold_patch.sh | sh

さらに中のコードを書き換える

これでパッチを当てるといけると思いきや、今度はLinkerエラーが。

ObjectALのビルドが上手く通らないので、以下のようにして手動で直してやります。

ios - How to fix OALAudio Library for XCode 6 / Kobold2D (Linker Error) - Stack Overflow

ゲームのバグを直す

ここまで来るとようやっとビルドが通るのでバグ対応。

バグ自体は大したことなくて、CCLabelTTFの仕様が変わっていて、引数の渡し方がまずくて落ちていたようでした。修正はすぐできた。

16:9対応する

VOX1の時代はまだiPhone5の発表前で、当然4:3解像度が主流。

しかし、2013年頃からAppStoreのサブミットには16:9対応が必須になったので、アップデートするためにはこの対応が必須。

cocos2dの2系には、cocos2d-xのように、上手い具合で複数解像度対応をしてくれる機能がなかったようなのでがんばって対応しました。

4:3

f:id:gigi-net:20141208101417p:plain

16:9

f:id:gigi-net:20141208101501p:plain

幸い、元のコードを書いたときにちゃんと相対値指定してる部分が多かったので変更はあんまりありませんでした。また、その他の部分もゲームの規模が小さかったのですぐ対応できました

64bit対応をする

もちろんiPhone5sもなかったので、当時は全て32bitビルドでした。

2015年からAppStoreへのサブミットには64bit化が必須になるのでこれも対応。

こちらも依存ライブラリなどはなかったので、ビルド設定を変えるだけで済みました。

32bitライブラリを含んでいると非常に大変ですね・・・・・・。

まとめ:マイナーなゲームフレームワークヤバい

iOS界隈は、1年単位でAPIがコロコロ変わって、3年前のコードを保守管理するのですら一仕事。

Objective-Cなら、cocos2dやSpriteKitのようにある程度メジャーな部類は、ちゃんと更新に追従されそうなのですが、技術選定の段階でうっかりとこういうよくわからないゲームフレームワークを選定してしまうと後で泣きます。

今後はますますメジャーなゲームフレームワークしか生き残れない時代になっていきそう。

しかし、「誰でもゲーム作れるよ!!!」と言いつつ、こういう事案に遭遇すると、迂闊にそういうことを言えないなあと言う気持ちになる昨今です。

今回、いろいろな対応をしたVOXQUESTバージョン1.3は近日公開予定です!久しぶりにデバッグのために通しプレイしたのだけど、今遊んでもなかなか楽しいですね。

VOXCHRONICLE

今回紹介した『VOXQUEST』には、2作目となる『VOXCHRONICLE』があります。こちらもかなりオススメなのでぜひに!

こちらは実装言語から替わり、cocos2d-xの2系を使っているので、バージョンアップが起こっても対応しやすいかなあと思ってます。その分、複雑すぎて今回のようには行かないわけですが・・・・・・。

音を奏でる奥スクロールRPG『VOXCHRONICLE -オクスクロニクル-』リリースしました - 5.1さらうどん

本出します!

このブログでは何度も告知していますが、本を出します!!!

絶賛予約受付中なのでぜひに!。

『cocos2d-xではじめるスマートフォンゲーム開発』という本を出版します - 5.1さらうどん

ハル研究所のインターンシップに参加してきた話

ハル研行ってきた

f:id:gigi-net:20141128133137j:plain

11月28日、『カービィ』や『スマブラ』でおなじみのハル研究所インターンシップに参加して、小さい頃から憧れだったハル研究所の山梨開発センターに行ってきました!!!

ハル研究所インターンシップ : HAL LABORATRY, INC. INTERNSHIP SITE 2014

f:id:gigi-net:20141202170530j:plain

きっかけ

Twitterを見ていたら「今年のハル研プログラミングコンテストに上位入賞すればインターンに参加できるらしい」という情報が流れてきました。

ハル研究所 プログラミングコンテスト2014

僕は競技プログラミングはゆるふわ勢。やれば楽しいから好きだけど、熱心に追ってる方じゃないし、毎週何らかの大会に出ている競プロ勢の足下にも及ばない。 3~4年前はICPCICFPGoogle Code Jamなんかをかじってはいたけど最近はやっていないから数年のブランクがありました。

僕は競技プログラミングに興味があるわけじゃないけど、ハル研には行きたい! 順位とかどうでもいいからインターンに参加できる程度には食い込みたい!そんな不純な目的でプロコンに参加しました。

プログラミングコンテスト2014

ハル研のプロコンには20年の歴史があるようですが、今年のプロコンは上の図のようなマップを動く忍者のAIを実装する問題。

ハル研究所 プログラミングコンテスト2014|問題

  • ランダムなステージが与えられます。ステージ中には0から順に番号が振られたハスの葉があります(図の緑の円)
  • 自分の忍者(図の青い円)のAIを記述し、蓮の葉を数字の順番に循環しましょう
  • 忍者は停止するか、ダッシュするの2つの行動を選ぶことができます。ただし、ダッシュする回数には制限があり(円に書いてある数字)、回数は一定時間で回復します。
  • 無事に3周できたらステージクリア!クリアまでのターン数がスコアになります
  • 先輩忍者という名の敵キャラ(他の円、NPC)がいて、全ての忍者に負けてしまうとステージクリア失敗。1位になることで大量のスコアが貰えます

いろいろルールがあるけれど、やることは

  • 周りの状況に応じて、毎ターンどこにダッシュするか、もしくは止まるかを選択
  • とにかく早くゴールしろ

という超シンプルな問題です。実装はC++でメソッドを2つ実装するだけ。簡単。

コース取りを考えるのはもちろんだけど、この問題のキモは「ダッシュを如何に効率的に使うか」という点に終始します。

このゲームの「ダッシュ」は要は使用制限が決まってるマリオカートのキノコ。キノコを連発しても最高速度はこれ以上上がらないので無駄だし、速度が落ちてきたタイミングで効率よく使う方法を考えていくのが超重要。

f:id:gigi-net:20141202174627j:plain

プロコンで僕が取ったアプローチは省略。結局、3週間程度の開催期間のうち、2~3日、10時間程度を費やし、最終的に20位ぐらいにまで入りました。 僕の周りはスコアが過密地帯だったので、最終結果は細かく変動するだろうし、インターンに行けるか微妙だと思っていたけど無事に当選。山梨へ行ってきました。

憧れの竜王町

当日11月28日。朝6時に札幌の自宅から出て、地下鉄、JR、飛行機、モノレール、特急、タクシーと乗り継いでハル研オフィスへ!遠かったー。

初めての甲府

f:id:gigi-net:20141128130935j:plain

ハル研ファンからすると、竜王町は『スマブラ』の初期プロトタイプである『格闘ゲーム竜王』の由来になったところ。いわば『スマブラ』の聖地なわけですね。今は竜王町とは言わないみたいだけど・・・・・・。

f:id:gigi-net:20141202171319j:plain

ハル研の社屋は甲府駅から車で20分ぐらい。ウワサには聞いていたけどのどかなところでした。

f:id:gigi-net:20141202171843p:plain

プロコン表彰と講評、エキシビジョンマッチ

まずはプロコンの表彰式と講評、上位入賞者のプログラム解説

講評についてはブログ記事に書こうと思って一生懸命写してきたのだけど、Webに当日と同じ講評が上がっていたのでそちらを参照のこと。

ハル研究所 プログラミングコンテスト2014|結果発表

なにか劇的なブレイクスルーがあるかと思いきや、「その発想はあった」というモノがほとんどで、考え方という面ではトップレベルも十分狙えたと思う。

要は先ほども書いたダッシュのタイミングを細かく探索して効率化していくべき、という話。

しかし、模範解答である、最低速度からダッシュの利用タイミングをシミュレートして実行するという発想には至り、僕も実装したものの、 ただ単に、考えられるパターンを時間の許す限り試行しているだけの僕のコードに対し、上位入賞者は動的計画法や二分探索を採用したりで、如何にも競技プログラミングっぽいアプローチで解を求めていて、格の違いを見せつけられた。

上位入賞者といえども、特殊なことをしているわけではなく、いろいろと考えられる理論を丁寧に確実に実行した人が上位に食い込んでいた。 特に、優勝者の方は「ハスの間ごとに利用回数が増えない範囲で加速すべき最高速度を探索する」という丁寧な感じのアプローチで、解説は非常に参考になった。

そういう面で、特殊な数学的知識がなくとも、発想があれば十分戦えるという非常に良い問題だったとおもう。

僕は20位で入賞ならず。サブミット時より最終スコアは下がってしまったけど、思ったより順位は良かった。 言い訳をすると、このぐらいの順位でインターンには行けるだろうと考えて、最後の1週間ぐらいは手を止めていたけど、仮にもっと時間を掛けてももう上がらなかっただろうなあ。

f:id:gigi-net:20141202174055p:plain

インターンに参加できるのは上位15名程度という話だったけど、実際、1位も2位もインターンに来ていなかったり、20位以内に食い込んでいなかった参加者も相当数いたので、おそらくインターンに参加するだけなら3900000ぐらい、上位30位ぐらいでも狙えたのではないかなあ。

最後に、エキシビジョンマッチと称して、通常はAIが相手のこのゲームを参加者のAI同士で戦えるようにしてビジュアライズするという企画。ハル研らしくカービィグルメレースの曲にあわせ、非常に白熱した試合となった。

予告なく敵の仕様や周回数などのルール変更されたので、敵AIに最適化した回避方法を実装していたり、周回数をハードコードしていたAIが意図通り動かなかったりしてなかなかおもしろかった。

社内見学ツアー

社内見学ツアー。開発室は仕方ないとして、他にいろいろ見れるのかと思ったら社内をぶらっと回って5分程度で終わりだった。

雑談しながら開発室を入り口から眺めたのと、富士山が一望できる展望室を見ただけという感じ。

サウンドコンポーザ用のブースが併設されていたのが印象的。仕事しやすそう。

あと、社内には歴代のカービィグッズが勢揃い。カービィファンにはたまらなかったですね。

当然社内の写真を撮ることはできなかったのですが、ハル研究所の公式ページに相当古いモノと思われますが、社内ツアーが掲載されているのでご覧になってみては。

ハル研究所ウェブサイト:HAL LABORATORY, INC.

社員さんとの交流会

最後に軽食と共に他の参加者や社員さんと交流会。

僕は前述の通りファンボーイなので、他の学生との交流はそこそこ、会社の事情とかいろいろ突っ込んで聞いていた。

特にベテランのプログラマの方がいらっしゃって、桜井政博さんや岩田聡さんが現役だった頃の話をいろいろ聞けたのがものすごく収穫だった。

桜井政博と一緒に仕事をするにはどうすればいいか、とか、『MOTHER2』に関わっていた方が岩田社長の伝説の名言は実話だったという話が聞けたり。感激だ。

プログラマー・岩田聡の“伝説的エピソード” 「MOTHER2」復活対談で裏側明かす - ねとらぼ

あと伝説の64版『MOTHER3』に関わっていたときの話や、ボツになった3Dカービィシリーズの話など、社外に出ない話をめっちゃ突っ込んで聞いていたのでマジで迷惑な学生だったと思う。お答え頂きありがとうございました。

ハル研に行く用事がある方がいれば、この記事を読んでから行けば良いと思う。

『MOTHER 3』の開発が中止になったことについての 糸井重里・岩田聡・宮本茂の座談会

話して思ったのが、やはり技術者を大切にしている会社だなあと言う印象で、取締役レベルの人になっても元エンジニアで、最近のゲーム開発環境にも明るい。 あと、社風も凄く優良企業っぽい感じだった。良い会社だ。

その後

インターン自体は18時には終わり。わずか4時間だったけど、非常に濃密な体験でした。

そのあと、他の参加者と一緒に飲みに行って、競プロの話などが聞けて視野が広がった。

参加して思ったこと

インターンに行ってみて思ったのが、まず大分客層が違ったなあと言う感じ。

僕のように純粋にハル研ハル研の作品が好きで、中身を見たくて観光気分で来た人はあまり多くなかった。 また、僕のように趣味ゲーム開発者というのもほとんどいなくて、多くはやはり競技プログラミングへの参加を趣味としている学生さんが多い印象だった。

もちろんハル研好きな人もいるんだろうけど、たまたま道中で一緒だった人に聞いてみたら、「別にカービィとか遊んだことないし、ゲームもあまりやらないけど競技プログラミングは好き」みたいな層が多かった。

それと、行く前から薄々感じていたけど、一般的な採用を目的としたインターンシップとは全く違ったなあと言う感じ。

インターンシップ応募に必要なのはプロコンのスコアと、事務的な情報だけ。他は何も聞かれなかったし、面談などもなかった。

僕みたいに観光気分で来て、就活生でもないのに凄く良くしてもらえて、札幌から山梨まで交通や宿泊までいろいろ手配してくれたりと、逆に非常に申し訳なさを感じた。

プログラミングコンテストの表彰式という側面で見ると、国内有数の競技プログラミングのガチ勢みたいな人が一堂に会していて非常に成功していたと思う。 インターンだけではなく、プロコンの運営も、問題プログラムの作成から、評価環境の整備、講評の準備など大変手間がかかってるなあという印象で、こういうイベントを主催して学生を支援してくださるハル研の方には頭が上がらない。

ハル研究所 プログラミングコンテスト2014|プログ

まとめ

こんな感じでした!

本当はもっと山梨観光とかしてきたかったけど、飛行機の時間なども決められていたため、ほとんど移動だけで終わってしまった。残念!

帰りについでに石和温泉にでも入ってから北海道に帰りたかったー。

山梨っぽいモノも何も食べたりできず、帰りにお土産と駅弁買ったくらい。次に山梨に行く機会はあるのだろうか・・・・・・。

あと、競技プログラミングエンジョイ勢の僕が言うのもおかしな話ですが、競技プログラミングは楽しいので是非とも皆様ご参加ください。

ガチでやってる人から比べると足下にも及ばない感じだけど、経験があるのとないのとでは大違いだなあと感じています。今回のプロコンも、昔出てたICPCICFPなんかの地力があったからこそというモノ。

年に1~2回レベルだったとしても未経験の方には是非とも経験して欲しい!

この記事を気に入った方は

12月25日頃に拙著の『cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android』という本が出版されます。

ご興味のある方は大好評予約受付中なので、是非ともご購入ください。

なんと、この記事を書いている段階で、ゲームプログラミング本のベストセラーランキングで2位になってました。ありがとうございます!

詳細は下記の記事をご覧ください。

『cocos2d-xではじめるスマートフォンゲーム開発』という本を出版します - 5.1さらうどん

『cocos2d-xではじめるスマートフォンゲーム開発』という本を出版します

本出すぞ!!!

こんにちは。[Twitter:@giginet]です。なぜか「本書かない?」って言われて、気付いたら本を出版していた

この度、『cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android 』という本を書かせて頂くことになりました。

どんな本?

f:id:gigi-net:20141126170405j:plain

cocos2d-x」というゲームフレームワークの入門書です。

cocos2d-x を使ってiOSAndroid向けのゲーム3本を開発します。

本書は入門書の位置づけなので、「プログラミングの心得はあるけど、ゲーム開発・スマートフォン開発は全くの素人!」という方でもいろいろなゲームを実装できるように執筆したつもりです。 少しでも興味のある方はお手にとって頂ければ。

もちろん、すでにcocos2d-xを触っているという方にとっても、最新機能を多数紹介しているほか、ADX2 LEやSpriteStudioなど、外部ツールの使い方や情報が書かれていたりと、新たな発見が多い内容になっていると思います。

技術評論社さんから発行されます。お店に並ぶ時期は12月下旬になりそうです。表紙はただいま準備中です。

セールスポイント

cocos2d-xに対応した本は、すでに国内でも5冊ほど出ているのですが、本書は他のどの書籍とも違った物に仕上がりました!セールスポイントをご紹介します。

最新環境のcocos2d-x 3.2にしっかり対応。最新機能も紹介!

現在(2014/11)の最新の安定版である「cocos2d-x 3.2」を前提に執筆しています。

cocos2d-xは2.x系と3.x系で全く別物といって良いほど大きく変わっており、今から始めるには最新バージョンがオススメ!

現在売られている本のうち、3.0以上のバージョンに対応している物はごくわずかなので、新しく始める方にはうってつけの内容になっています。

ただ新しいバージョンを使っているだけではなく、cocos2d-x 3.0で使い方が変わった物理エンジンや文字描画、新機能の3D描画機能なども扱っています。

C++11やメモリ管理、フレームワークの設計など、基本的な部分をしっかり解説

C++11の機能のうち、lambda型推論enumなど、cocos2d-xでよく使われる機能のいくつかを紹介しています。

また、cocos2d-xの初学者にとって躓きやすい点であると思われるリファレンスカウンタ方式のメモリ管理の概念についても図入りで詳しく説明しています。

f:id:gigi-net:20141126181424j:plain

ノードツリーやシーンスタックなど、ゲームエンジンの仕組みも図解。初学者にもわかりやすい説明を心がけています。

f:id:gigi-net:20141126181525j:plain

f:id:gigi-net:20141126181503j:plain

ゲームアルゴリズムや、レベルデザインについても基礎知識を紹介

今回、本の執筆を頼まれたとき「せっかく書籍を書くのだから、長く使える知識を伝えたい」と感じました。 そういった思いから、アルゴリズムやゲームのレベルデザインと言った普遍的な知識をなるべく詰め込みました。

f:id:gigi-net:20141126174550j:plain

この書籍で得た知識がcocos2d-xに限らず、幅広いゲーム開発の役に立てば幸いです。

Mac/Windows両対応、iOS/Androidどちらのゲームも実装できる!

主流となるMacでのXcode + iOSでの開発はもちろん、Windows/Mac両方の環境でのAndroid版の環境構築方法も紹介しています。

iOS/Android対応のサンプルゲーム付属

今回開発したサンプルゲーム3本は全てApp Store/Google Playで配信中!ゲーム実装前に遊んで確認できます。

今回実装したゲームはプチゲームの『かわずたんキャッチ!』、物理エンジンアクションの『かわずたんジェット!』、アクションパズルの『かわずたんクラッシュ!』の3本です。

f:id:gigi-net:20141126181047p:plain

https://itunes.apple.com/jp/app/kawazutankyatchi!/id922375875?mt=8&uo=4&at=10l8JW&ct=hatenablog

f:id:gigi-net:20141126181101p:plain

https://itunes.apple.com/jp/app/kawazutanjetto!/id922471335?mt=8&uo=4&at=10l8JW&ct=hatenablog

f:id:gigi-net:20141126181116p:plain

https://itunes.apple.com/jp/app/kawazutankurasshu!/id930486794?mt=8&uo=4&at=10l8JW&ct=hatenablog

自分のゲームに組み込めるサンプル素材が多数付属

上述のサンプルゲームに利用されている素材は全て配付。学習に使って頂くのはもちろん、クリエイティブ・コモンズ(CC BY-NC-SA)として配付するため、ご自分の作品にも使って頂けます。

グラフィック素材だけでなく、BGMやSEなどの素材ももちろん付属。音素材は他のゲームにも使いやすいかと。

これ1冊で即座にゲーム開発が始められる!

f:id:gigi-net:20141126175730p:plain

f:id:gigi-net:20141126174957p:plain

https://dl.dropboxusercontent.com/u/151624/blog/main.mp3:sound

https://dl.dropboxusercontent.com/u/151624/blog/title.mp3:sound

「CRI ADX2 LE」の使い方を徹底解説

f:id:gigi-net:20130212222447j:plain

CRI・ミドルウェアさんの全面協力により、11月14日に配布開始されたばかりのオーディオライブラリ『ADX2 LE for cocos2d-x』の使い方の詳しい解説が実現しました!

CRI ADX2 LE - CRI Middleware

f:id:gigi-net:20141126175843p:plain

本書では、無料で使える『ADX2 LE』を使って、cocos2d-xだけでは実現が難しい以下のような機能について解説を行っています。

  • ADX2 LEの組み込み(iOS/Android
  • イントロ付きループの作成
  • ゲーム変数による効果音の分岐
  • ADX2 LEの情報を入手する方法
  • その他機能の紹介(ダッキング、ブロック再生ほか)

音周りが弱いと言われるcocos2d-xですが、この本があればもう安心。

ちなみにADX2 LEについて扱った本は、現状もう1冊だけ。cocos2d-x対応版は本書が初!ここでしか得られない情報が得られます。

SpriteStudio for Indieにも対応

f:id:gigi-net:20141126174629j:plain

ウェブテクノロジさんのご協力により、2Dアニメーション製作ツール『SpriteStudio for Indie』の使い方、cocos2d-xへの組み込み方も解説。

f:id:gigi-net:20141126180051p:plain

インディーゲームでの2Dスプライトアニメーション作成に OPTPiX SpriteStudio for Indie | ウェブテクノロジ

cocos2d-xの標準機能だけでは難しい高度なアニメーションも無料で作成できてしまうノウハウが得られます!

その他外部ツールを多数紹介!

  • GUIで簡単に画面を設計できる『Cocos Studio』(1.6)
  • 綺麗なエフェクトを簡単に実現する様々なパーティクル生成ツール
  • マップ作成を簡単に行える『Tiled Map Editor』

f:id:gigi-net:20141126180819j:plain

f:id:gigi-net:20141126180753j:plain

などのツールの解説をしています。

また、画像加工やアニメーション製作、デバッグ効率化など、ゲーム製作に役に立つ30以上のツール類を幅広く紹介しています。

f:id:gigi-net:20141126180645p:plain

ソースコードシンタックスハイライトがめっちゃ見やすい

見やすい!

f:id:gigi-net:20141126180629p:plain

せっかくフルカラーなので無理言ってシンタックスハイライトに対応して貰いました。

基本的にGitHubのdiff形式やC++シンタックスハイライトに近い物になっているため、見やすいし目に優しい!

お値打ち価格で大ボリュームのフルカラー360ページ超!

フルカラー360ページ超という分量ながら、お値段は2980円(税別)!

原価にどれぐらいかかってるかとか、そういう話は全くわからないんですが、結構凄い価格設定だと思います。

内容については、浅く広く網羅されています。

実を言うと、編集部から特に分量の指定がなく、書きたいだけ書いてたらいつのまにかこの分量になっていたという。

分量が多すぎて、校正さんには大分ご迷惑をかけたようですが、編集さんのおかげもあってこの価格が実現できました!


こんな感じで製作に便利な情報を片っ端から詰め込んだつもりです。手前味噌ですが、メチャクチャお買い得だと思います。

全体的に、お金をかけずにできるゲーム開発というコンセプトを打ち出しており、他にはないインディー感とか、独自色を出せたかと。

今すぐAmazonへGO!!!

既に予約が始まっていますので、買ってくれると僕が凄く喜びます。

発売は12月下旬の予定ですので、今のうちに予約しておいて、年末年始はゲーム開発に挑戦してみると良いと思います。

前述の通り、全くの素人でも興味があれば挑戦できる内容だと思っておりますので是非この機会に。

まだ表紙の用意ができておらず、目立たずに申し訳ないのですが、書店にも並ぶと思います。見かけた際はぜひともよろしくお願いします。

製作秘話

初めて書籍の執筆という物に挑戦してみて、多くの発見がありました。

とにかく大変だった上に、僕が書いていいんだろうかとか、間違いがあったらどうしようとか、伝わらなかったらどうしようとか、常にビクビクしながら書いていました。

作業フローも、技術書の出版では一般的になってきたGitHubフローを取り入れたり、サンプルゲームの実装も普段のゲーム開発と全くセオリーが違ったりと技術書執筆ならではノウハウがいろいろと貯まりました。

また、執筆中にcocos2d-xがアップデートしまくったり、YosemiteやiOS8が出たり、iPhoneの解像度が変わったりとイヤな事件もいろいろ起きて苦労したので、その辺のお話もできたらなあと思います。

まだ出版まで一ヶ月ほどあるので、これらの話は無事に出版できたらまたブログ記事を書きたいと思います。お楽しみに!