ゲームアルゴリズムレシピ for JavaScript
初めてでも、楽しみながらゲームプログラミングの基本から応用までを学べる本です。
松浦 健一郎/司 ゆき 著
B5変形判、1色刷り、384ページ
本体価格 2,800円、出版日 2008/11/20、ISBN 978-4-7980-2128-7
対応OS:Windows Vista/XP/2000
出版社 秀和システム(書籍紹介ページ)
クリックで表紙の拡大画像を表示
Ajaxを使ったWebマスコット製作には書籍「うぇぶマスコットをつくろう!! for Ajax」もどうぞ。
はじめに
色々なゲームを遊んでいると、自分でもゲームを作ってみたくなりませんか。本書は初めてゲームを作る方にも楽しんでいただけるゲームプログラミング解説書を目指しました。図解を多く取り入れて平易な説明を心がけましたので、プログラミングをする方にはもちろん、プログラミングをしない方にもゲームの作り方を分かりやすく学んでいただけると思います。
最近のゲームは複雑で、一見とても作れなさそうに思えますが、実は基本となる仕組みは意外に単純です。本書はこういった基本的な仕組みを、キャラクターの画像やアニメーションを表示するところから始めて、段階的に解説していきます。プレイヤーの入力に応じてキャラクターを動かしたり、敵や障害物との接触を判定したり、スコアを加算したりといった具合に、少しずつゲームを発展させます。
基本だけで終わりではありません。敵を自動的に動かしたり、武器で敵を撃ったり、マップをスクロールさせたり、アイテムでパワーアップしたりといった具合に、ゲームはどんどん本格的になっていきます。物を押して動かしたり、トランポリンで跳んだりといった、よく知られているゲームのアクションを再現する方法も解説します。
終盤では、タイトル画面やコンティニュー画面を追加したり、ネットワークを使ったハイスコアランキング機能を実現したりして、ゲームを完成させます。本書を読み終える頃には、さまざまなゲームを自力で作れるようになっていることでしょう。あとはご自身のアイディアを活かして、オリジナルゲームの制作に没頭してください。
本書はプログラミング言語の種類に関係なくお使いいただけますが、サンプルの制作にはJavaScriptを使いました。JavaScriptのプログラムはWebブラウザがあれば誰でも実行できるので、制作したゲームを多くの人に遊んでもらうのに最適です。開発にも特別な環境は必要ありません。配布もアップデートも簡単ですし、Ajaxを使ったネットワークプログラミングも可能です。さらに、Flashのプログラミング言語であるActionScriptと言語仕様が共通なので、JavaScriptで学んだ知識をFlashプログラミングに活用することもできます。
ゲーム作りは難しくありません。ゲームに興味を持っている方が、本書をきっかけにゲーム制作の世界を心ゆくまで楽しんでいただけるようになれば、筆者にとって至上の喜びです。
特色
- 初めての方にもお楽しみ頂けるように、ゲームプログラミングを非常に分かりやすく解説しています。
- 画像の表示やアニメーションといった基本から、敵の動きやマップのスクロールといった応用に進み、終盤にはタイトル画面やネットワークランキングといった高度なトピックまでを扱います。
- 図解を中心にしているので、漫画を読むような気楽な気分でお楽しみいただけます。
- アルゴリズムを分かりやすく解説しているので、JavaScriptに限らず色々な開発環境をお使いの方にご利用いただけます。
- ゲームデザイナー、プロデューサー、ディレクター、プランナー、グラフィッカーといった、プログラマ以外の方にも、ゲームの仕組みを知るための書籍としておすすめです。
- ジャンプゲーム、シューティングゲーム、追いかけゲームなど、さまざまなゲームのサンプルを掲載しています。
- Internet Explorer, Opera, Firefox, Safari, Chromeといった数多くのブラウザに対応しています。
サンプルより
サンプルをクリックすると実際に遊べます!
ジャンプで障害物を避ける
カーソルキーで移動 スペースキーでジャンプ 障害物に当たるとゲームオーバー |
武器で敵を撃つ
カーソルキーで移動 スペースキーで発射 敵に当たるとゲームオーバー |
ネットワークランキング
最初に英文字で名前を入力 カーソルキーで移動 アイテムを拾うと一定時間無敵になる 全てのドットを拾うとクリア 敵に当たるとゲームオーバー |
他にも色々なサンプルが収録されています!
迷路で敵から逃げる |
アイテムを拾ってパワーアップする |
コンティニュー画面 |
荷物を押す |
トランポリン |
床を押し上げる |
目次
-
Chapter 1 キャラクター
-
ゲームを作る手順
-
キャラクターの画像
-
キャラクターの表示
-
JavaScriptを使う
-
JavaScriptによるプログラミング
-
JavaScriptを呼び出すためのHTMLファイル
-
JavaScriptでキャラクターを表示する
-
さまざまなブラウザへの対応
-
キャラクターのアニメーション
-
アニメーション用の画像
-
アニメーションを表示する方法
-
アニメーションを表示するプログラム
-
キャラクターの移動
-
Chapter 2 ライブラリ
-
共通の処理をライブラリ化する
-
ゲーム画面を作る
-
スプライト
-
表示の更新
-
画面上を動き回るキャラクター群
-
画面上を動き回るキャラクター群のプログラム
-
乱数の生成
-
出会うと挨拶をするキャラクター群
-
Chapter 3 自機
-
自機を操作する
-
キーボードの入力
-
当たり判定処理
-
スプライトの当たり判定処理
-
当たり判定処理のプログラム
-
キーボードで自機を動かす
-
障害物を動かす
-
キーボードで障害物を越えるゲームの本体
-
マウスで障害物を越えるゲーム
-
マウスの入力
-
マウスで自機を動かす
-
Chapter 4 スコア
-
ゲームにスコア機能を付ける
-
スコアの管理と表示
-
スコア機能を付けたジャンプゲーム
-
Chapter 5 敵
-
ランダムに動く敵
-
自機を上下左右に動かす
-
ランダムに敵が動くゲームの本体
-
追いかけてくる敵
-
Chapter 6 武器
-
武器で敵を撃つ
-
状態の管理
-
武器の発射
-
武器の移動
-
敵を武器で倒す
-
武器で敵を撃つゲームの本体
-
Chapter 7 フィールド
-
フィールドとスクロール
-
スクロールするフィールドで敵から逃げる
-
フィールドの管理
-
セルの取得
-
フィールドを管理するプログラム
-
フィールドの作成
-
フィールドの表示
-
フィールドを表示するプログラム
-
フィールドを一定時間ごとに更新する
-
スクロール座標の管理
-
フィールドを動き回る自機
-
自機をセル単位で動かす
-
座標の誤差への対策
-
フィールドを動き回る自機のプログラム
-
フィールドを動き回る敵
-
フィールドを動き回るゲームの本体
-
Chapter 8 アイテム
-
アイテムを拾ってパワーアップ
-
アイテムを拾う自機
-
アイテムを拾う自機のプログラム
-
自機から逃げる敵
-
アイテムを拾うゲームの本体
-
Chapter 9 ゲームのエッセンス
-
色々なゲームのアクションを知る
-
荷物を押して動かす
-
荷物を押して動かす自機
-
押すと動く荷物
-
荷物を押して動かすゲームの本体
-
トランポリン
-
トランポリンでジャンプする自機
-
伸縮するトランポリン
-
トランポリンでジャンプするゲームの本体
-
床を押し上げる
-
床を押し上げる自機
-
当たり判定の使い分け
-
判定抜けの防止
-
自機の動きに合わせたスクロール
-
床を押し上げる自機のプログラム
-
押し上がる床
-
床を押し上げるゲームの本体
-
Chapter 10 画面の遷移
-
ゲームの色々な画面
-
画面の遷移
-
タイトル画面
-
レディ画面
-
クリア画面
-
コンティニュー画面
-
ゲームオーバー画面
-
Chapter 11 ネットワーク
-
ネットワークを使ったランキング機能
-
ファイルの構成
-
CGIプログラムの制作
-
通信関連のCGIプログラム
-
ファイル関連のCGIプログラム
-
CGIプログラムの本体
-
CGIプログラムのテスト
-
JavaScriptプログラムの制作
-
通信関連のJavaScriptプログラム
-
ネームエントリー画面のプログラム
-
ランキング画面のプログラム
-
ゲーム本体のプログラム
著作権について
-
本書に収録されているプログラム・ドキュメント・画像ファイルの著作権は著者に所属します。プログラムに関しては、個人的利用ならびにプログラミングの学習目的としての利用にかぎって、自由に改変して使用することが許可されています。掲載されたままのプログラムを許可なく複写・複製・転載することはできません。
-
本書ならびにファイル内に収録されているプログラムを利用したソフトウェアを配布・販売する場合には、あらかじめ著者に問い合わせ下さい。なお、以下の条件を全て満たしている場合には、お問い合わせいただかなくても、本書のプログラムを利用したソフトウェアを配布することができます。
-
非営利目的で無料で公開するソフトウェアであること。企業・団体・商品などのPR のための無料公開の場合は事前に
問い合わせください。
-
プログラム内およびプログラムを使用するページ内において、プログラムの著作権者(松浦健一郎・司ゆき/ひぐぺん工房)を表示すること。
最終更新