全くのゼロから始めるボードゲームのプログラミングと機械学習 [4日目]


前回の振り返り

全くのゼロから始めるボードゲームのプログラミングと機械学習 [3日目] - Qiita

  • Pythonでクラスを定義してみる
  • 標準ライブラリを使ってみる
  • 擬似乱数とは何かとseedについて

一通りPythonの基本的な使い方を学んだので、いよいよPygameを使用してゲーム制作の入り口へ足を進めてみたいと思います。

Pygameの歴史

以下、参考書籍より抜粋。

  • PygameはSimple DirectMedia Layer(SDL)と呼ばれる他のゲーム作成ライブラリによって構築された
  • SDLは他のプラットフォームからの移植ゲームタスクを簡易化するために作られた
  • SDLはグラフィックスや入力デバイスについて複数のプラットフォーム上での表示や処理の一般的な方法提供する
  • SDLはC言語で書かれていたがC++では遅い上にエラーが多かった
  • プログラマはSDLを各々好きな言語へのバインディングを作成した
  • 現在SDLはいかなる言語からでも使用可能でありPygameもその一つである

Pygameをインストールしてみる

ではさっそくインストールしてみましょう。ということで書籍に従ってwww.pygame.orgへ行ったのですがDownloadsのリンクがありません。書籍の発行時期である2011年はあったのでしょうが、2018年現在はpipによるネット上のリポジトリからのインストールが主流ということでしょうかね。

下記記事を参考にpipを実行でインストールできました。
PythonをインストールしてPygameを動かすまで - Qiita

python -m pip install pygame

ついでにインストール成功確認を兼ねてバージョンを確認してみます。

>>> import pygame
>>> print pygame.ver
1.9.4

参考書籍はPygame1.9.2でしたので7年で大きくは変わっていないようですね。

Pygameで画面表示

まずは画面を表示してみましょう。ゲームを作るからには何をおいてもそれが重要です。Pygameに於ける「Hello, World!」ということで参考書に沿って画面を表示してみました。

超絶謎な画像ができあがりましたが、ひとまず背景画像とマウスの動きを追従するコウモリの画像が描写できました。ただこれだけのことですが、Pygameを使わずにPython以外で同じことをやろうとすると大変であることは想像できます。そもそもWEBサイトやバックエンドの開発しかしたことがない自分にとってはウィンドウを表示して動くものを作るという事自体結構斬新に感じました。

今後の予定

  1. ボードゲームをプログラミング
    1. Pythonの基礎勉強
    2. Pygameの基礎勉強 👈
  2. ボードゲームのAI作成
  3. 機械学習によるAI強化

しばらくはPygameを使ってのグラフィックスの勉強になると思います。

今回の振り返り

  • やったこと
    • Pygameの歴史を知る
    • Pygameのインストール
    • 謎の画像描写
  • わかったこと
    • Pygameのインストール方法
    • Pygameパッケージのモジュール群
    • ウィンドウの表示方法
  • つぎにやること
    • イベントの取得
    • フォントやビジュアル生成

参考書籍

Pythonゲームプログラミング入門 | Will McGugan, 杉田臣輔, 郷古泰昭 |本 | 通販 | Amazon