Pythonで2Dゲームを作ってみたいけれど、何から始めればいいかわからない。そんな人におすすめなのが「Pygame」です。この記事では、Pygameの導入から簡単な2Dゲームの作成方法までを、初心者向けにやさしく解説します。
Pygameとは?
Pygameは、Pythonで2Dゲームを作成するためのライブラリです。画像の描画、音楽の再生、イベント処理など、ゲーム制作に必要な機能が一通り揃っています。C言語のSDLというライブラリをベースにしているため、動作も軽快です。さらに、オープンソースで無料で利用できるので、学生や趣味での開発にも最適です。
Pygameを使うメリット
Python自体がシンプルで学びやすいため、Pygameを使うと初心者でも短期間でゲームを作れるようになります。たとえば、他のゲームエンジンに比べてコードが短く済みますし、動作確認もしやすいです。また、Pygameを学ぶことで、プログラミングの基本であるループ処理やイベント処理を自然と理解できるようになります。
Pygameのインストール方法
Pygameを使うには、Pythonがインストールされた環境で以下のコマンドを実行するだけです。
pip install pygame
これでPygameが使えるようになります。念のため、インストール確認もしてみましょう。
python -m pygame --version
バージョンが表示されれば成功です。準備はこれで整いました。
最初の一歩|画面を表示する
ゲームの基本は「ウィンドウを開いて処理を続ける」ことです。まずは空の画面を表示させてみましょう。
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("最初のPygameウィンドウ")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
このコードを実行すると、ウィンドウが開いて閉じるまで処理を続けます。ゲームの基本構造をここで掴んでください。
キャラクターを表示する
ゲームらしくするために、画像を表示してみましょう。たとえばプレイヤーのキャラクター画像を読み込んで表示できます。
player_img = pygame.image.load("player.png")
screen.blit(player_img, (100, 100))
pygame.display.update()
画像ファイルは同じフォルダに保存しておくと管理が簡単です。なお、更新は必ずpygame.display.update()
で行います。
動きをつける
次にキャラクターを動かしてみましょう。キー入力を取得して、座標を更新すれば動くようになります。
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= 5
if keys[pygame.K_RIGHT]:
x += 5
この処理をループの中に入れることで、キーを押している間キャラクターが動くようになります。
ゲームらしさを出すために
敵キャラクターを追加
プレイヤーだけでなく、敵キャラクターを追加するとゲーム性が生まれます。敵を一定の速度で動かし、プレイヤーとの当たり判定を入れることで「避けるゲーム」などが作れます。
BGMや効果音を入れる
Pygameはサウンド機能も充実しています。BGMをループ再生し、攻撃や衝突に効果音を鳴らすと、臨場感が増します。
pygame.mixer.music.load("bgm.mp3")
pygame.mixer.music.play(-1)
応用テクニック
スコア機能の追加
得点を追加するだけで、ゲームがより面白くなります。例えば、敵を避けた時間をスコアにしたり、アイテムを取ると加点するなど工夫できます。
クラスを使った管理
キャラクターや敵をクラスで管理すると、コードが整理されて再利用もしやすくなります。小規模なゲームを作ったあとでクラス設計に挑戦すると、オブジェクト指向の理解が深まります。
よくあるエラーと注意点
画像や音声ファイルが読み込めない
パスの指定ミスが原因です。必ず実行ファイルと同じフォルダに置くか、正しい相対パスを指定してください。
処理が重くなる
描画処理を無駄に繰り返すとフレームレートが落ちます。更新が必要な部分だけを描画する工夫が必要です。
プログラミング初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富な講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験や知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pygameを使えば、初心者でもPythonで本格的な2Dゲームを作れます。画面表示からキャラクターの操作、BGMまで一歩ずつ学べるので、遊びながらプログラミングを学ぶのに最適です。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント