Pythonの基本的な文法や関数の使い方を学んだら、次のステップとして何か面白いプログラムを作ってみたくなりますよね。
その中でも特に人気が高いのが「ゲーム開発」です。
「ゲームを作るのは難しそう」「専門的な知識が必要なのでは?」と感じる人もいるかもしれません。
確かに、商用の大規模なゲームを作るには高度な技術が求められますが、Pythonには 「pygame」 というライブラリがあり、初心者でも比較的簡単に2Dゲームを作ることができます。
pygameを使うことで、キャラクターを動かしたり、ボタンをクリックしたり、音を鳴らしたりと、ゲーム開発に必要なさまざまな機能を簡単に実装できます。
Pythonの基本を学んだあなたにとって、新しいスキルを身につける絶好の機会となるでしょう。
この章では、まず pygameの概要 を説明し、環境の準備方法 や 簡単なサンプルプログラムの実行 について詳しく解説します。
Pythonを使ったゲーム作りの第一歩を一緒に踏み出しましょう!
Chapter1:pygame入門|画面を表示しよう
・Chapter1-1:pygameを導入しよう ◁今回はここ
・Chapter1-2:ゲームループの基本を理解しよう
・Chapter1-3:画面に画像を表示しよう
・Chapter1-4:画面に文字を表示しよう
・Chapter1-5:画面上の画像を動かそう
Chapter2:簡単なノベルゲームを作ろう
Chapter3:簡単なアクションゲームを作ろう
Chapter4:ブロック崩しを作ろう
Chapter5:シューティングゲームを作ろう
Chapter6:pygameのお役立ち情報
pygameとは何か?
pygameの概要と活用場面
pygameは、Pythonで2Dゲームを作成するためのライブラリです。
Pythonの標準ライブラリにはゲームを作るための機能は含まれていませんが、pygameを使うことで、ゲームに必要な次のような機能を簡単に実装できます。
- 画面の描画(画像や図形の表示)
- イベント処理(キーボードやマウスの入力)
- 音の再生(BGMや効果音の追加)
- アニメーション(キャラクターの移動や動きの表現)
- 衝突判定(オブジェクト同士の接触判定)
pygameはC言語で作られており、Pythonから利用できるようになっています。
そのため、Pythonの柔軟性を活かしながら高速な処理が可能です。また、pygameは オープンソース であり、無料で使用できます。
pygameの主な特徴とメリット
pygameにはゲーム開発初心者にとって嬉しい特徴がいくつかあります。
- シンプルな構造
pygameは比較的シンプルなコードで動作するため、初心者にも理解しやすい。 - クロスプラットフォーム対応
Windows、Mac、Linuxのどの環境でも動作する。 - 学習リソースが豊富
公式ドキュメントやチュートリアルが充実しており、初心者でも学びやすい。 - インストールが簡単
pip
コマンドを使うことで、簡単にインストールできます。
これらの特徴から、pygameは Pythonを使ってゲームを作りたい初心者にとって最適なライブラリ だと言えます。
pygameの導入方法
pygameを使用するには、まず開発環境を整える必要があります。
この章ではpygameのインストール方法と、正しくインストールされたかを確認する方法について解説します。
pygameをインストールしよう
pygameはPythonの外部ライブラリなので、標準ではインストールされていません。
そのためPythonに組み込まれているパッケージ管理ツール pip を使ってインストールする必要があります。
インストールの前に準備すること
まず、Pythonが正しくインストールされているか確認しましょう。
Pythonがインストールされていない場合は、Python開発環境を構築する方法【初心者向け】の記事を確認し、インストールしてください。
Pythonがインストールされているかを確認するには、以下のどちらかのコマンドをターミナル(またはコマンドプロンプト)で実行します。
- python –version
- python3 –version
このコマンドを実行するとPythonのバージョンが表示されます。例えば、次のような出力が得られればPythonが正しくインストールされています。
- Python 3.10.5
pygameをpipでインストールする方法
Pythonがインストールされていることを確認したら、次に pip
を使ってpygameをインストールします。
ターミナル(またはコマンドプロンプト)で以下のどちらかのコマンドを実行してください。
- pip install pygame
- pip3 install pygame
インストールが正常に完了すると、次のようなメッセージが表示されます。
- Successfully installed pygame-2.x.x
もしエラーが発生する場合は、以下の点を確認してください。
- Pythonが正しくインストールされているか
pip install pygame
を実行したかpip
のバージョンが最新か
(pip install --upgrade pip
を実行すると最新にできます)
インストール後の動作確認手順
pygameが正しく動作するかを確認するために、簡単なプログラムを実行してみましょう。
以下のコードをPythonファイル(例: test_pygame.py
)として保存し、実行してみてください。
import pygame # pygameの初期化 pygame.init() # 画面を作成(幅500px × 高さ400px) screen = pygame.display.set_mode((500, 400)) # ウィンドウのタイトルを設定 pygame.display.set_caption("pygameテスト画面") # 画面の背景色を設定(黒) screen.fill((0, 0, 0)) # 画面を更新 pygame.display.flip() # 終了イベントを待つ running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # pygameを終了 pygame.quit()
このプログラムを実行すると何もない黒いウィンドウ が表示されます。正しく表示されれば、pygameが正しく動作していると言えます。
ウィンドウを閉じるには、右上の×(閉じる)ボタンをクリック してください。
サンプルゲームを遊んでみよう
pygameには、インストール直後から サンプルゲーム がいくつか含まれています。
pygameを用いてどのようなゲームを作成できるのかを確認するために、ここで一度遊んでみましょう。
今回は、以下の 3つのサンプルゲームとデモ を紹介し、それぞれの特徴や実行方法を解説します。
- エイリアンシューティングゲーム
- 星のスクリーンセーバー風デモ
- スプライトアニメーションテスト
エイリアンシューティングゲーム
以下のコードを Pythonコードを書き、実行してみましょう。
import pygame.examples.aliens as game # エイリアンゲームをインポート game.main() # ゲームを起動
このゲームの遊び方は簡単。画面の下にいる洗車が自分であり敵のUFOを打ち落とします。
左右キーで移動し、スペースキーで弾を発射できます。
星のスクリーンセーバー風デモ
import pygame.examples.stars as game # 星のアニメーションデモをインポート game.main() # プログラムを起動
このコードを実行すると、星が流れるようなアニメーションが表示されます。
スプライトアニメーションテスト
import pygame.examples.testsprite as game # スプライトアニメーションデモをインポート game.main() # プログラムを起動
このコードを実行すると、画面上に複数のスプライトが表示され、ランダムな動きをするアニメーションが確認できます。
まとめ
この章では、pygameの基本的な導入方法と、pygameに含まれるサンプルゲームを実行する方法を学びました。
これで、ゲーム開発の基礎を学ぶ準備が整いました。
次は「ゲームループの基本を理解しよう」というテーマで、ゲームを動かすために重要な「ゲームループ」について詳しく学んでいきます。
ゲーム開発はとても楽しい分野です。焦らず、ひとつひとつのステップを楽しみながら学んでいきましょう!
FAQ|pygameの導入と初期設定について
- Q1. pygameはどのPythonバージョンで使えますか?
-
一般的にはPython3.6以降に対応していますが、最新版を使用するのが最も安定して動作します。
- Q2. pygameをインストールできない場合の対処法は?
-
pipのバージョンを最新に更新する、仮想環境でインストールを試す、エラーメッセージを確認して依存関係をチェックするのが効果的です。
- Q3. pygameで最初に試すのにおすすめのサンプルゲームは?
-
公式の「エイリアンシューティングゲーム」など、基本操作を体験できるサンプルが初心者におすすめです。
質問用コンタクトフォーム
この記事を書くにあたりAIを活用しています。
人間の目による確認も行っていますが、もし間違い等ありましたらご指摘頂けると大変助かります。