今回は、近年人気のあるプログラミング言語、pythonでゲームを作ることはできるのか見ていきたいと思います。
この記事は以下のような方に向けて書いています。
- Pythonで簡単なゲームでもいいから作ってみたい人
- Pythonのゲームライブラリやゲームエンジンを知りたい人
- とにかくPythonじゃなくてもいいからゲームを作りたい人
pythonのライブラリをインポートしてゲームを作ろう
pythonにはゲームを作るための便利なライブラリが用意されています。以下ではその中でも主なライブラリ3つを紹介していきます。
おすすめゲームライブラリ①:PyGame
pythonでゲームを作る上で、恐らく最も有名なライブラリがPyGameです。
PyGameはSDLライブラリ(C言語で書かれたマルチメディアライブラリ)の上に構築されているため、高水準言語であるpythonでも、計算量を要するゲームなどを作ることを可能にしています。
具体的なインストール方法やチュートリアルの見方など、以下の記事で詳しく解説しているので参考にしてみてください。
PyGameを使って手っ取り早く簡単なゲームを作ってみたい人はUdemyの「PyGameでゲームを作れるコース」がおすすめです。
ちなみにこのコースに限らず、Udemyには返金保証があるので実質リスクゼロで学べます。
おすすめゲームライブラリ②:Kivy
Kivyについては、上で書いたPyGameと作れるものに大きな違いはないのですが、PyGameと比べると知名度が低く、日本語の情報を探すのに苦労するかもしれません。
GUIアプリなどを作ることができます。
おすすめゲームライブラリ③:Tkinter
Pythonに標準で備わっている、GUIアプリを作るライブラリです。使い方は分かりやすく、比較的簡単にGUIを作ることができますが、その分上の2つと比べるとできることは限られています。
以下の記事で初歩的なTkinterの使い方について理解できるようになっているので、興味のある人は見てみてください。
pythonのゲームエンジンでゲームを作ろう
先ほどはゲームを作るためのライブラリを紹介しましたが、pythonにはゲームエンジンも用意されています。
ゲームエンジンとはコンピュータゲームを作る際に、よく行われる主要な処理を行ってくれるソフトウェアです。
いくつかのライブラリを搭載していることからライブラリよりも多機能であることが分かります。聞いたことはあるかもしれませんが、Unityなどもゲームエンジンの1つです。
以下ではpythonで使える主なゲームエンジンについて2つ紹介していきます。
おすすめゲームエンジン①:Cocos2D
Cocos2Dは2Dゲームのフレームワークです。オリジナルのフレームワークはPythonで書かれていますが、様々な言語に移植されているので聞いたことがある人も多いかもしれません。
おすすめゲームエンジン②:Panda3D
Panda3Dは、Unityと同じように3Dゲームを作ることができるゲームエンジンです。高機能で使えてかつ、それほど操作も難しくないので気軽に使うことができます。
Panda3Dについては以下の記事でもっと詳しく解説しています。
初心者がpythonで簡単なゲームを作るためには?
pythonに限ったことではないですがいきなりクオリティの高いゲームをゼロから作るとなると、膨大な時間と労力が必要になります。
以下では初心者がゲームを作る際にまずはやってみればよいことをいくつか書いていきます。
ソースコードを探して写経しよう
Web上にはありがたいことに、過去にゲームを作った人達が残してくれたソースコードがたくさん残っています。
自分が作りたいタイプのゲームを作っている人を探して、まずは写経してみると、似たようなゲームを作る際に理解が早く進むようになります。
最初にライブラリやゲームエンジンを選ぶ際に、有名なものを選択しておけばソースコードが豊富にあるので、初心者はまずPyGameなどから入ってみるのがおすすめです。
コードを少し変えてオリジナル性を出してみよう
最初にソースコードを写経してゲームが動くようになったら、ソースコードを少しずつ変えて、オリジナル性を出していきましょう。
変えるといっても、最初は難しいことを考えずに画面の色を変えるなど、簡単な変更でも大丈夫です。
そうやって徐々にオリジナルのコードを書いていると、コードに対する理解が進みます。
まずは簡単な2DのGUIアプリなどから
最初から本格的なRPGや3Dゲームを作ろうとすると挫折してしまうので、まずはカレンダーを表示してくれるアプリなど、簡単な機能を搭載したものから作ってみましょう。
GUIアプリを作るなら最初はTkinterがおすすめです。
そもそもpythonじゃなくてもいいからとにかく簡単なゲームを作ってみたい人は?
もちろんpythonじゃなくて、他のプログラミング言語を使っても、ゲームを作ることは可能です。
例えば、僕は過去にPHPというプログラミング言語で、以下のような簡単なゲームを作りました。
制作時間は約1日です。
プログラミングのオブジェクト指向に関する問題を解きながら、モンスターを倒していくゲームですね。
「ゲームスタート」すると、モンスターが現れます。
オブジェクト指向に関する問題に答えてモンスターを倒します。
問題に間違えると攻撃をされて、HPが0になるとゲームオーバー!という簡単なゲームです。
ちなみにこちらのゲームは僕が「ウェブカツ」というプログラミングスクールに在籍していた頃にアウトプットとして作りました。
▶︎【体験談】ウェブカツの評判は? | 怪しいけど就職・転職に強いって本当?
僕の場合、スクールの受講時間に余裕が無かったので、あまり凝ったアウトプットは作れなかったですが、時間をかければハイクオリティのゲームを作ることも可能なので、是非挑戦してみてください。
まとめ
近年のAIブームの影響もあってか、現在pythonは非常に人気なプログラミング言語になっています。
pythonは統計解析や機械学習などに強いというイメージもあり、pythonでゲームを作るということはあまり考えたことがないかもしれませんが、今回紹介したように実は便利なライブラリやゲームエンジンが存在しています。
是非これらを上手く活用して、pythonでもゲーム制作を楽しんでみてください。