強火で進め

このブログではプログラム関連の記事を中心に書いてます。

ゲーム開発の企画から開発までを解説した本「遊んで作るスマホゲームプログラミング for Android」


「遊んで作るスマホゲームプログラミング for Android」というProcessingを使ったゲーム制作の解説本を献本頂きました。

タイトルには「for Andrdoid」と付いていますが使用している開発環境がProcessingなのでPCやブラウザ向けに制作する事も可能です。書籍内でもPC環境向けやブラウザ向けのビルド方法の解説などもされています。

2Dゲームはもちろん、3DやKinectを使ったゲームなども解説して有ります。

現役のゲーム開発者さんが書かれている本という事も有り、バンダイナムコゲームスの中の人が書かれたUnity本みたいにプロの方ならではのテクニックやコラムが書かれていたので良かったです。

例えばキャラクターがマウスカーソルに追随するというサンプルでも以下の様に現在のキャラクター(リンゴ)の位置を90%、マウスカーソルの位置を10%合成するというコードに成っています。

  appleX = appleX * 0.9f + mouseX * 0.1f;

これによりマウスカーソルに瞬時に移動するのでは無く、徐々にマウスカーソルの位置に移動して行くという動作に成っています。

他にも「背景色のアルファ値を半透明にすることで移動している物体の残像を簡単に表現」するテクニックなどもなるほど!!と思ったテクニックでした。

最初、簡単なプログラムをいくつか作った後にゲームの企画の出し方についての解説が有ります。最初は3行企画という「タイトル」「内容」「コンセプト」だけが書かれたものから徐々にちゃんとした企画書として仕上げて行く手順と成っています。この企画の作り方の解説は結構ボリュームが有るので「どんどんプログラムを作りたい!!」という人はある程度流し読みして、先に進めた方がモチベーションが落ちずに学習が進められるかも知れません。

しかし、企画の出し方についてとても丁寧に書かれているのでProcessingのプログラムを理解して「さて、そろそろ自分のオリジナルゲームを作るか」と思った時に見直すととても役に立つかと思います。

また、この本ではプログラムだけでは無く、ゲームで使うデータの作成や加工方法についても解説されています。

今ではインターネットで素材を探すという方法も有りますが自分のイメージにマッチしたものを見つけるには時間がかかったりするのでちょっとしたものであれば自分で作れる様になっておけば効率的にゲームを開発する事ができます。

ゲーム素材作成ツール

この本では以下の様なツールの紹介と実際にゲームに使う素材を作りながらの操作説明がされていました。

デバッグについて

Processingは1.5の頃に主に触っていた自分には2.0から追加されたExperimentalモードを使ったデバッグ方法の解説もとても参考になりました。2.0からブレークポイントが使える様になったんですね。素晴らしい!!

本の紹介

ゲームに役立つ考え方などが他の本から引用されている所も目を引きました。ゲームに直接的に関係する本から「ローマ法王に米を食べさせた男 過疎の村を救ったスーパー公務員は何をしたか?」など

ローマ法王に米を食べさせた男  過疎の村を救ったスーパー公務員は何をしたか?

ローマ法王に米を食べさせた男 過疎の村を救ったスーパー公務員は何をしたか?

宣伝手法の参考になる本など、ちょっと読んでみたくなるような内容の本がいくつも引用されていました。

サンプル実行時に…

サンプル実行時に以下の様なエラーが発生した事が有りました。原因としてはサンプルをコピーしたフォルダが日本語を使ったフォルダというものでした(書籍内にも注意書き書かれていたのに(^_^;))。皆さんはご注意下さい。

The file "bg.png" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
The file "apple.png" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
Exception in thread "Animation Thread" java.lang.NullPointerException
	at processing.core.PGraphics.background(PGraphics.java:6862)
	at processing.core.PApplet.background(PApplet.java:14059)
	at Images3.draw(Images3.java:31)
	at processing.core.PApplet.handleDraw(PApplet.java:2128)
	at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
	at processing.core.PApplet.run(PApplet.java:2006)
	at java.lang.Thread.run(Thread.java:680)

関連情報

筆者さんのブログ。正誤表有り。

遊んで作るスマホゲームプログラミング
http://dev.eyln.com/book.html

出版社のサイト。

遊んで作る スマホゲーム プログラミング for Android|書籍情報|秀和システム
http://www.shuwasystem.co.jp/products/7980html/3864.html