【Pygameの教科書】Pythonで始めるゲーム制作の基礎から実践まで

「Pythonを使ってゲームを作ってみたい!」そう思ったことはありませんか?
このコースでは、Pythonのゲームライブラリ「pygame」を使って、実際に動くゲームを作りながら学習していきます!
キャラクターを動かしたり、アイテムと衝突させたり、スコアを加算したり……
Pythonのコードを書くだけで、自分の手でインタラクティブなゲームの世界を生み出すことができます!
基礎学習を終えた人が Pythonの実力アップのために挑戦 するにも最適な構成となっています。
それでは、楽しく学べるpygameの世界へ飛び込んでみましょう!



【pygameの入門編(完全無料パート)】
Chapter1:pygame入門|画面を表示しよう
Chapter2:簡単なノベルゲームを作ろう
Chapter3:簡単なアクションゲームを作ろう
【色々なゲームを作ろう(今だけ1000円 ⇒ 500円でセット販売中)】
Extra1:ブロック崩しを作ろう
Extra2:シューティングゲームを作ろう
Extra3:オセロ(リバーシ)を作ろう
Extra4:ナインゲームを作ろう
Extra5:横スクロールのアクションゲームを作ろう


【Chapter1】pygame入門編|画面を表示しよう
「Pythonでゲームを作りたい!」その第一歩はpygameから!
ゲームを作るには、まずpygameの基本を学ぶ必要があります。
Pythonの基礎知識 は既に習得済みという前提で、「ゲームならではの考え方」に慣れていきましょう。
最初のステップでは、画面の描画・画像の表示・キャラクターの動かし方など、ゲーム作りの土台となる技術を学びます。
「ゲームってどうやって動いているんだろう?」という疑問がどんどん解決されていくはずです。
Chapter1-1ではpygame公式のサンプルゲーム(シューティングゲーム)や、当サイトオリジナルのサンプルゲーム(マ○オのような横スクロールゲーム)を公開していますので、まずはインストールして遊んでみるところから始めましょう。
【チャプター1のテキストへのリンク】
Chapter1-1:pygameをインストールしよう
Chapter1-2:ゲームループの基本を理解しよう
Chapter1-3:画面に画像を表示しよう
Chapter1-4:画面に文字を表示しよう
Chapter1-5:画面上の画像を動かそう

【Chapter2】簡単なノベルゲームを作ろう

ゲームに命を吹き込む――それはキャラクターを自由に動かせるようになることから始まります。
Chapter2では、キーボードやマウスによる操作方法を学び、プレイヤーの入力に応じて画面が反応するインタラクティブなゲーム作りに挑戦します。
この章を学べば、「キャラクターを移動させる」「ボタンを作って反応させる」「ページを関数で整理する」「物語風の画面遷移を作る」など、ゲームの表現力が一気にアップします。
簡単な紙芝居風ゲームやノベルゲームも自分の力で作れるようになりますよ。
Pythonとpygameで、自分だけの物語や世界観を持ったゲームを作ってみたい人には、まさにピッタリの章です!
【チャプター2のテキストへのリンク】
Chapter2-1:キーボードでキャラクターを動かそう
Chapter2-2:マウスでキャラクターを動かそう
Chapter2-3:画面上にボタンを作ろう
Chapter2-4:簡単な紙芝居を作ろう
Chapter2-5:簡単なノベルゲームを作ろう
【Chapter3】簡単なアクションゲームを作ろう

ゲームの醍醐味といえば、やはりプレイヤーと敵キャラクターとの対決。
Chapter3では、pygameを使って基本的なアクションゲームを作成しながら、ゲームの核心ともいえる「衝突判定」や「敵の動き」「ゲームの勝敗条件」を学びます。
「敵とぶつかったらゲームオーバー」「追跡してくる敵から逃げるスリル」「ゴールを目指してクリアを目指す達成感」—— そんなゲームの基本要素を一つずつ作りながら、あなた自身のオリジナルゲームを作るための基礎を固めていきます。
プログラムを書きながら、動くキャラクターや敵を見て「自分でゲームを作っている」という実感を得られるはずです。
ここを乗り越えれば、より本格的なゲーム開発への道が開かれるでしょう。
【チャプター3学習の準備】
チャプター3では5つの記事を通して1つのアクションゲームを作り上げます。
その中で使用するベースコードや画像などを配布していますので、以下のリンクをクリックしてダウンロードしてから学習を始めて下さい。
【チャプター3のテキストへのリンク】
Chapter3-1:衝突判定の基本を理解しよう
Chapter3-2:画面に敵を配置しよう
Chapter3-3:ゲームオーバーを設定しよう
Chapter3-4:ゲームクリアを設定しよう
Chapter3-5:追跡してくる敵を実装しよう
【Extra1】ブロック崩しを作ろう


昔ながらの名作ゲーム「ブロック崩し」を一から作ってみましょう!
この章では、反射するボールやバーの操作、衝突判定、ブロックの削除処理など、ゲーム制作に欠かせない要素を総合的に学習できます。
プレイヤーが操作するバーでボールを跳ね返し、画面上のブロックをすべて壊す爽快感を、自作のコードで再現してみませんか?
「物理的な動き」「当たり判定」「ゲームオーバーやクリアの条件」など、実践的なスキルが詰まった内容なので、ゲーム開発のステップアップに最適です。
ブロック崩しの制作を通じて、本格的なゲームロジックの理解を深めましょう!
【エキストラ1学習の準備】
エキストラ1では4つの記事を通して1つのブロック崩しゲームを作り上げます。
その中で使用するベースコードや画像などを配布していますので、以下のリンクをクリックしてダウンロードしてから学習を始めて下さい。
【エキストラ1のテキストへのリンク】
Extra1-1:ボールを壁に反射させよう
Extra1-2:反射させるバーを用意しよう
Extra1-3:ボールが画面下に落ちたらゲームオーバー
Extra1-4:ぶつかると消えるブロックを配置しよう
【Extra2】ゾンビシューティングゲームを作ろう


エキストラ2ではこれまで学んできた知識とテクニックを駆使して、プレイヤーがゾンビを倒してスコアを競う本格的なシューティングゲームを作成します。
キャラクターの操作や敵の出現、ゲームオーバーやスコア表示といった、実際のゲーム開発に必要な要素がすべて詰まった内容です。
ゲーム制作の達成感を味わいながら、pygameの基礎をしっかりと定着させましょう。
ここを乗り越えれば、あなたもpygameでオリジナルゲームを作れる力を手に入れたと言っても過言ではありません。
プログラミング初心者でも、最後までやり遂げられるよう丁寧にステップを用意していますので、ぜひチャレンジしてみてください!
【エキストラ2学習の準備】
エキストラ2では4つの記事を通して1つのシューティングゲームを作り上げます。
その中で使用するベースコードや画像などを配布していますので、以下のリンクをクリックしてダウンロードしてから学習を始めて下さい。
【エキストラ2のテキストへのリンク】
Extra2-1:ゾンビを出現させよう
Extra2-2:ゲームオーバーを設定しよう
Extra2-3:プレイ時間を表示しよう
Extra2-4:スコアを表示しよう
【Extra3】オセロ(リバーシ)を作ろう
定番のボードゲーム、オセロを作っていきましょう。



ここからは、Extra2までのような詳細解説記事はありません。
コードをオブジェクト指向で複数に分割(モジュール化)し、各コード内に細かい解説を記載しています。
ダウンロードしたらまずは動かしてみて、それからコードを見て学習、その後是非自分なりに改造していきましょう。
【エクストラ4のテキストへのリンク】
Extra4:オセロ(リバーシ)を作ろう
【Extra4】ナインゲームを作ろう
麻雀パイを使って遊ぶゲーム、ナインゲームを作成しましょう。



ナインゲームは、麻雀パイを交互に出し合って数値の大きさを競うゲームです。
本サイトのPythonの基礎コースの Lesson4-2 でも紹介してるゲームであり、そちらではターミナル上で、テキストだけで遊べるようになっています。
これを、pygameを用いて画面上で遊べるようにしましょう。
【エクストラ4のテキストへのリンク】
Extra4:ナインゲームを作ろう
【Extra5】横スクロールのアクションゲームを作ろう
本格的な横スクロールアクションゲームに挑戦しましょう!
Extra5では最初からサンプルゲームのコード全体を公開します。
コード内の各所に丁寧なコメントで解説をしていますので安心してください。
ここまでに身につけた基礎があれば、コードの内容も理解でき、自分なりに拡張・アレンジしてオリジナルゲームを作ることができます。
ぜひサンプルを参考にしながら、自分だけのゲーム作りにチャレンジしてみましょう!
【エクストラ1のテキストへのリンク】
Extra5:横スクロールのアクションゲームを作ろう

