「Pythonで気軽にゲーム開発を試したい」
「Pythonで2Dゲームを開発したい」
「cocos2dとCocos2d-xの違いがよくわからない・・・」
このような場合には、この記事の内容が参考となります。
この記事では、cocos2dについて解説しています。
本記事の内容
- cocos2dとは?
- cocos2dのシステム要件
- cocos2dのインストール
- cocos2dの動作確認
それでは、上記に沿って解説していきます。
cocos2dとは?
cocos2dとは、オープンソースの2Dゲームフレームワークです。
Pythonのライブラリとして開発されてきました。
そして、現在の公式ページは以下となります。
cocos2d公式
http://los-cocos.github.io/cocos-site/
上記公式は、1年以上更新されていません。
後述しますが、ライブラリ本体も1年以上は更新がありません。
つまり、cocos2dは現在活発なプロジェクトとは言えません。
ただ、その派生プロジェクトであるCocos2d-xは活発な動きをしています。
Cocos2d-xは、C++で開発されているオープンソースのゲームエンジンです。
Cocos2d-xで開発したゲームは、iOSやAndroidも動作します。
Cocos2d-x公式
https://www.cocos.com/
現在、cocos2dをGoogleで検索すると、Cocos2d-xの情報が出てきます。
言うまでもなく、スマホも対象にした方が開発環境(エンジン)としては人気になります。
Cocos2d-xに開発リソースが割り振られたのか、どうかはわかりません。
しかし、Cocos2d-xに取って代わられた感はあります。
簡単に言うと、cocos2dはある意味放置されたライブラリということです。
しかし、Pythonで開発できるというメリットは存在し続けます。
Cocos2d-xでは、Pythonを使ったゲーム開発はできません。
よって、Pythonによるゲーム開発という点では、Cocos2d-xではなくcocos2dなのです。
以上、cocos2dについての説明を行いました。
次は、cocos2dのシステム要件を確認します。
cocos2dのシステム要件
現時点(2021年12月)でのcocos2dの最新バージョンは、0.6.9となります。
この最新バージョンは、2020年11月08日にリリースされています。
1年以上は更新がない状態です。
やはり、cocos2d-xへ完全にシフトしたのかもしれません。
つまり、今後cocos2dの更新はないということです。
そうだとして、ゲーム開発入門としてcocos2dの存在意義はあると思います。
pipコマンドだけで簡単に開発環境を作れるのはメリットです。
では、cocos2dのシステム要件を確認していきましょう。
cocos2dのシステム要件は、次の3つがポイントになります。
- OS
- Pythonバージョン
- pyglet
それぞれを下記で説明します。
OS
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
基本的には、OSは問わないということでしょう。
Pythonバージョン
サポート対象となるPythonのバージョンは3.6以降となります。
ただ、Python 3.6はもう利用はやめるべきです。
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
現時点(2021年12月26日)で、すでにPython 3.6のサポート期限が終了しています。
今後は、それ以降のバージョンを利用しましょう。
pyglet
pygletとは、Python用のクロスプラットフォームなウィンドウ・マルチメディア・ライブラリです。
つまり、ゲームを開発する上で必要となるライブラリと言えます。
pygletについては、次の記事で解説しています。
cocos2dでは、ゲームに必要な部分をpygletに依存しています。
そのため、pygletのインストールが必須になります。
しかし、わざわざpygletをインストールする必要はありません。
pipコマンドでcocos2dをインストールすれば、pygletも同時にインストールされます。
まとめ
cocos2dは、基本的にPythonが動けばどこでも動きます。
ただし、cocos2dはPython3.7以降へインストールしましょう。
以上、cocos2dのシステム要件についての説明でした。
次は、cocos2dのインストールを行います。
cocos2dのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.9.9
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 21.3.1 setuptools 60.1.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、cocos2dのインストールです。
cocos2dのインストールは、以下のコマンドとなります。
pip install cocos2d
インストールは、結構すぐに終わります。
ゲーム開発ライブラリにしては、あっさりとしたインストールです。
では、どんなパッケージがインストールされたのかを確認しましょう。
$ pip list Package Version ---------- ------- cocos2d 0.6.9 pip 21.3.1 pyglet 1.5.21 setuptools 60.1.0 six 1.16.0 wheel 0.36.2
pygletがインストールされていますね。
依存するパッケージがないことが、pygletの利点でもあります。
これだけ依存するパッケージが少ないと、既存環境への影響はほとんどありませんね。
そのため、cocos2dの導入は容易と言えます。
以上、cocos2dのインストールを説明しました。
次は、cocos2dの動作確認を行います。
cocos2dの動作確認
よくある「Hello World」です。
GUIが表示されるかされないかが、動作確認のポイントになります。
import cocos class HelloWorld(cocos.layer.Layer): def __init__(self): super(HelloWorld, self).__init__() # a cocos.text.Label is a wrapper of pyglet.text.Label # with the benefit of being a cocosnode label = cocos.text.Label('Hello, World!', font_name='Times New Roman', font_size=32, anchor_x='center', anchor_y='center') label.position = 320, 240 self.add(label) if __name__ == "__main__": # director init takes the same arguments as pyglet.window cocos.director.director.init() # We create a new layer, an instance of HelloWorld hello_layer = HelloWorld() # A scene that contains the layer hello_layer main_scene = cocos.scene.Scene(hello_layer) # And now, start the application, starting with main_scene cocos.director.director.run(main_scene) # or you could have written, without so many comments: # director.run( cocos.scene.Scene( HelloWorld() ) )
上記コードを実行します。
問題なければ、次のような画面が表示されます。
この画面が確認できれば、cocos2dの動作確認としては問題ありません。
以上、cocos2dの動作確認を説明しました。