7大ゲームの作り方を完全マスター! ゲームアルゴリズムまるごと図鑑

書籍の概要

この本の概要

ゲーム機やスマホの七大人気ゲームを作りながら,
アルゴリズムと開発方法をまるごと学べる!

家庭用ゲーム機やスマホで人気のある7つのジャンルのゲームを取り上げ,それぞれのゲームを開発する際に必要な「アルゴリズム」を,かわいいイラストや図解を使ってわかりやすく解説した本です。ゲーム開発の基本となるプログラミングのアルゴリズムだけでなく,自キャラの操作やグラフィック表現,敵キャラの挙動など,「ゲームをより面白くする」アルゴリズムもたくさん紹介しているので,本書の内容を学ぶだけで本格的なゲーム開発に必要な知識をまるごと身に付けることができます。Unityなどの高機能ゲームエンジンでは隠されている基礎的なゲームプログラミング理論やコーディング技術を一から学ぶことができるので,ゲーム業界への就職・転職を目指す人にもお勧めの一冊です。

また,プログラムはJavaScriptで書かれているので,テキストエディタとWebブラウザがあればどこでも開発可能。Windows&Macだけでなく,学校でよく使われているChromebookでも学習できます!

【本書で作る7つのゲーム】
スカッシュゲーム
横スクロールシューティング
横スクロールアクション
ボールアクション(引っ張りアクション)
落ち物パズル
タワーディフェンス
ロールプレイングゲーム(アイテム収集系)

こんな方におすすめ

  • ゲームプログラミングの基礎をしっかり学びたい人
  • ゲーム業界への就職を目指す人

本書のサンプル

本書の一部ページを,PDFで確認することができます。

目次

第1章 ゲーム制作の基本

  • 1-1 ゲームのアルゴリズムとは
  • 1-2 HTMLとJavaScriptの基本知識
  • 1-3 ゲーム開発に必要な文法を知ろう
  • 1-4 ゲーム開発エンジンWWS.jsの使い方
  • 1-5 ミニゲームを作ろう

第2章 シューティングゲーム

  • 2-1 シューティングゲームとは
  • 2-2 この章で制作するゲーム内容
  • 2-3 画面をスクロールさせる
  • 2-4 自機を動かす
  • 2-5 弾を発射する
  • 2-6 敵機を動かす
  • 2-7 敵機を撃ち落とせるようにする
  • 2-8 自機のエネルギーを組み込む
  • 2-9 エフェクト(爆発演出)を組み込む
  • 2-10 色々な敵機を登場させる
  • 2-11 パワーアップアイテムを組み込む
  • 2-12 スマートフォンに対応させる
  • 2-13 シューティングゲームの完成
  • 2-14 もっと面白くリッチなゲームにする

第3章 落ち物パズル

  • 3-1 落ち物パズルとは
  • 3-2 この章で制作するゲーム内容
  • 3-3 マス目の管理
  • 3-4 マス目上でブロックを動かす
  • 3-5 ブロックの移動処理
  • 3-6 画面全体のブロックを落とす
  • 3-7 ブロックが揃ったかを判定する
  • 3-8 ブロックを連続して消す(連鎖)
  • 3-9 連鎖の点数計算とエフェクトの追加
  • 3-10 スマートフォンに対応させる
  • 3-11 落ち物パズルの完成
  • 3-12 もっと面白くリッチなゲームにする

第4章 ボールアクションゲーム

  • 4-1 ボールアクションとは
  • 4-2 この章で制作するゲーム内容
  • 4-3 ボールの動きを変数で管理する
  • 4-4 ボールを壁で跳ね返らせる
  • 4-5 地面の摩擦を計算する
  • 4-6 ボールを引っ張って飛ばす
  • 4-7 ボールを引く強さと飛ぶ向きを描く
  • 4-8 複数のボールを管理する
  • 4-9 ボール同士の衝突
  • 4-10 衝突処理を改良する
  • 4-11 多数のボールを制御する
  • 4-12 ボールを順に操作する
  • 4-13 ボールの能力値を定める
  • 4-14 ボールアクションゲームの完成
  • 4-15 もっと面白くリッチなゲームにする

第5章 横スクロールアクション

  • 5-1 横スクロールアクションとは
  • 5-2 この章で制作するゲーム内容
  • 5-3 マップデータの管理
  • 5-4 地形の生成とスクロール処理
  • 5-5 移動できる場所を知る
  • 5-6 左右移動とジャンプ
  • 5-7 動きの改良とキャラクターのアニメーション
  • 5-8 キャラクターの移動と背景のスクロール
  • 5-9 地面に穴を配置する
  • 5-10 敵と宝を配置する
  • 5-11 ステージが進むほど難しくする
  • 5-12 横スクロールアクションゲームの完成
  • 5-13 もっと面白くリッチなゲームにする

第6章 タワーディフェンス

  • 6-1 シミュレーションゲームとは
  • 6-2 この章で制作するゲーム内容
  • 6-3 通路を定義する
  • 6-4 背景の表示と,敵の出現位置の定義
  • 6-5 敵の動きを管理する
  • 6-6 敵を自動的に動かす
  • 6-7 複数の敵を同時に動かす
  • 6-8 敵の種類を増やす
  • 6-9 城を設置する
  • 6-10 カードの表示と選択
  • 6-11 兵を配置する
  • 6-12 敵を自動的に攻撃する
  • 6-13 兵の攻撃範囲,攻撃速度,向きを組み込む
  • 6-14 兵の体力を設定する
  • 6-15 仲間を回復する能力を組み込む
  • 6-16 カードに魔力を設定する
  • 6-17 タワーディフェンスの完成
  • 6-18 もっと面白くリッチなゲームにする

第7章 ロールプレイングゲーム 前編

  • 7-1 ロールプレイングゲームとは
  • 7-2 この章で制作するゲーム内容
  • 7-3 背景表示と画面遷移
  • 7-4 入力を受け付けるボタンを作る
  • 7-5 トップメニューを組み込む
  • 7-6 メッセージ表示ルーチンを組み込む
  • 7-7 キャラクターを管理するクラスの定義
  • 7-8 パーティメンバーのパラメーター
  • 7-9 クリーチャーを管理する
  • 7-10 アイテムを用意する

第8章 ロールプレイングゲーム 後編

  • 8-1 探索シーンを組み込む
  • 8-2 敵を登場させる
  • 8-3 パーティメンバーと敵のライフを表示する
  • 8-4 ターン制を実装する
  • 8-5 ダメージ計算と攻撃エフェクトを組み込む
  • 8-6 レベルアップの処理を組み込む
  • 8-7 クリーチャーの捕獲と負けた時のペナルティ
  • 8-8 撤退と回復
  • 8-9 フラグでゲーム全体を管理する
  • 8-10 オートセーブとオートロード機能を組み込む
  • 8-11 ロールプレイングゲームの完成
  • 8-12 もっと面白くリッチなゲームにする

著者プロフィール

廣瀬豪(ひろせつよし)

早稲田大学理工学部卒。ナムコでプランナー,任天堂とコナミの合弁会社でプログラマー兼プロデューサーとして勤めた後,ゲーム制作会社のワールドワイドソフトウェア有限会社を設立。数多くの商用ゲームソフトを開発し,セガ,タイトー,ヤフー,ビーグリー,ケムコなどに納品してきた。現在は教育機関でゲーム開発やプログラミングを指導し,技術書を執筆している。主な著書に「Pythonでつくる ゲーム開発入門講座」「いちばんやさしいJava入門教室」(以上,ソーテック社),「Pythonで学ぶアルゴリズムの教科書」(インプレス),共著に「野田クリスタルのこんなゲームが作りたい!」(インプレス)などがある。