Pythonで2Dゲーム開発が可能なcocos2dのインストール

Pythonで2Dゲーム開発が可能なcocos2dのインストール プログラミング

「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.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年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の動作確認を説明しました。

タイトルとURLをコピーしました