Pythonゲーム開発入門の決定版!
人気ジャンルを題材に
プログラミングの腕を磨こう!
大好評を博している『Pythonでつくる ゲーム開発 入門講座』に、第2弾『実践編』が登場!
前作同様、Pythonを用いたゲームプログラミングの基礎をまんべんなく解説しながら、今回は「アクション」「シューティング」「3Dカーレース」といった人気ジャンルの開発に挑戦します。
【本書の特長】
○複数の演習を通し、ゲーム開発の知識・技術を大幅UPできる
○三角関数、遠近法などの知識を開発に活かす方法を学べる
○マップエディタやランチャーなど関連ツールの開発も行う
○プログラム1行ごとに説明を付けており、理解しやすい
○豊富な図解とイラストを用い、イメージで理解できる
○開発に必要な素材はすべて無償ダウンロードできる
さらに、ゲーム開発でぶつかる"壁を乗り越えるためのヒント"も豊富に用意しました。
【開発のヒントが満載】
・マップやアイテムの配置はどうするのか?
・自機と敵機のヒットチェックはどうするのか?
・"弾幕"の軌道はどうやって計算するのか?
・面白さにつながる難易度とはどの程度なのか?
・エフェクトやサウンドはどうやって組み込むのか?
・坂道のカーブ、奥行、起伏はどう表現するのか?
・Pythonで3Dを表現するにはどうしたらよいのか?
……こんな疑問に答えます!
ゲーム素材400本、プログラム80本、遊んで面白いゲーム5本を無償提供!
本書を読み終えた頃、ゲーム開発の知識はかなり高いレベルに到達できるでしょう。
また、各プログラム内にPythonのプログラミング技術を多くちりばめたので、Pythonを使う力もぐんと伸びているはずです。
ゲーム開発の基礎を盤石にしたい方、Pythonの技術に磨きをかけたい方にオススメの1冊です。
Prologue ゲーム開発とプログラマー
Chapter1 ゲーム開発の基礎知識1
Lesson1-1 キー入力
Lesson1-2 リアルタイム処理
Lesson1-3 キャラクターのアニメーション
Lesson1-4 二次元リストによるマップデータ管理
Lesson1-5 床と壁の判定
COLUMN Python用の統合開発環境
Chapter2 ゲーム開発の基礎知識2
Lesson2-1 ヒットチェック その1
Lesson2-2 ヒットチェック その2
Lesson2-3 三角関数の使い方
Lesson2-4 インデックスとタイマー
Lesson2-5 ミニゲームを作ろう!
COLUMN ゲームの世界観について
Chapter3 アクションゲームを作ろう! 前編
Lesson3-1 ドットイートゲームについて
Lesson3-2 迷路を表示する
Lesson3-3 キャラクターを動かす
Lesson3-4 キャラクターの向きとアニメーション
Lesson3-5 キャラクターを滑らかに動かす
Lesson3-6 アイテムを取ってスコアを増やす
Lesson3-7 敵を登場させる
Lesson3-8 タイトル、クリア、ゲームオーバー
COLUMN BASICとPython
Chapter4 アクションゲームを作ろう! 後編
Lesson4-1 複数のステージを組み込む
Lesson4-2 主人公の残り数を組み込む
Lesson4-3 新しい敵を登場させる
Lesson4-4 エンディングを作ろう
Lesson4-5 色々なステージを用意しよう
Lesson4-6 マップエディタの制作 その1
Lesson4-7 マップエディタの制作 その2
COLUMN 有名アニメのゲーム開発秘話 その1
Chapter5 Pygameの使い方
Lesson5-1 Pygameについて
Lesson5-2 Pygameのインストール
Lesson5-3 Pygameの基本的な使い方
Lesson5-4 Pygameで画像を描く
Lesson5-5 画像の回転と拡大縮小表示
Lesson5-6 同時キー入力を行う
COLUMN レトロゲームについて
Chapter6 シューティングゲームを作ろう! 前編
Lesson6-1 シューティングゲームについて
Lesson6-2 Pygameで高速スクロール
Lesson6-3 自機を動かす
Lesson6-4 弾を発射する
Lesson6-5 複数の弾を発射する
Lesson6-6 弾幕を張る
COLUMN 有名アニメのゲーム開発秘話 その2
Chapter7 シューティングゲームを作ろう! 中編
Lesson7-1 敵機の処理
Lesson7-2 敵機を弾で撃ち落とす
Lesson7-3 爆発演出を入れる
Lesson7-4 シールド制を入れる
Lesson7-5 タイトル、ゲームをプレイ、ゲームオーバー
COLUMN たった3行でパーティゲームが作れるPython
Chapter8 シューティングゲームを作ろう! 後編
Lesson8-1 サウンドを組み込む
Lesson8-2 敵の種類を増やす
Lesson8-3 ボス機を登場させる
Lesson8-4 ゲームを完成させる
COLUMN ゲームパッドで操作できるようにしよう!
Chapter9 3Dカーレースゲームを作ろう! 前編
Lesson9-1 カーレースゲームについて
Lesson9-2 3DCGと疑似3Dについて
Lesson9-3 遠近法について
Lesson9-4 道路の見え方を考える
Lesson9-5 疑似3Dで道路を描く その1
Lesson9-6 疑似3Dで道路を描く その2
Lesson9-7 道路のカーブを表現する
Lesson9-8 道路の起伏を表現する その1
Lesson9-9 道路の起伏を表現する その2
COLUMN 道路を自在に変化させるプログラム
Chapter9 3Dカーレースゲームを作ろう! 中編
Lesson10-1 Pygameを用いる
Lesson10-2 コースを緻密に描く
Lesson10-3 カーブに合わせ背景を動かす
Lesson10-4 道路の起伏を表現する
Lesson10-5 車線を区切るラインを描く
Lesson10-6 コースの定義その1 カーブデータ
Lesson10-7 コースの定義その2 起伏データ
Lesson10-8 コースの定義その3 道路横の物体
Lesson10-9 プレイヤーの車の制御
COLUMN 処理落ちを測定する
Chapter10 3Dカーレースゲームを作ろう! 後編
Lesson11-1 コンピュータの車を走らせる
Lesson11-2 車の衝突判定を組み込む
Lesson11-3 スタートからゴールまでの流れ
Lesson11-4 ラップタイムを組み込む
Lesson11-5 車種を選べるようにする
COLUMN コンピュータゲーム用のAI
特別付録
Appendix1 Game Center 208X (ゲームランチャー)
Appendix2 落ち物パズル『あにまる』