➡️

ゲームを作る開発環境を整える

に公開

前回の記事は以下です。
Amazon Q Developerに助けてもらえる環境ができました。
https://zenn.dev/euptilurus/articles/c6b10e62817bf2

そういえば、言語とパッケージの環境を忘れていました。
Pythonでゲームを作る場合と、Javascriptでゲームを作る場合、どんなものが必要でしょうか。Amazon Qに聞いてみます。

> あなたはウェブアプリの開発者であり、ゲームの制作が得意です。ブラウザだけで遊べるゲームを作ります。動作環境はGoogle Chromeで、スマートフォンではタップとフリック操作、PCではマウスのクリックとドラッグ操作を利用します。pythonでゲームを作る場合に必要なパッケージと、javascriptでゲームを作る場合に必要なパッケージをそれぞれ教えてください。
Pythonとjavascriptでブラウザゲームを開発するために必要なパッケージについて説明します。

## Pythonでブラウザゲーム開発

Pythonでブラウザゲームを開発する場合、通常はサーバーサイドとクライアントサイドの組み合わせが必要です:

• **Flask/Django**: Webアプリケーションフレームワーク
• **Pygame**: ゲームロジック開発用(サーバーサイド処理に使用)
• **PyScript**: ブラウザ上でPythonを実行するための新しい技術
• **Brython**: ブラウザ内でPythonを実行するためのトランスパイラ
• **Pyodide**: WebAssemblyを使用してブラウザでPythonを実行

ただし、純粋なブラウザゲームの場合は、JavaScriptの方が適しています。

## JavaScriptでブラウザゲーム開発

JavaScriptはブラウザゲーム開発に最適な選択肢です:

• **基本ライブラリ**:
  • **Phaser.js**: 最も人気のあるHTML5ゲームフレームワーク
  • **Three.js**: 3Dゲーム開発用
  • **PixiJS**: 高速2Dレンダリングエンジン
  • **CreateJS**: HTML5ゲーム開発のためのライブラリ群

• **モバイル対応**:
  • **Hammer.js**: タッチジェスチャー処理用
  • **interact.js**: ドラッグ、ドロップ、リサイズなどの操作用

• **開発ツール**:
  • **Webpack/Vite**: モジュールバンドラー
  • **Babel**: 最新のJavaScript機能を使用するためのトランスパイラ
  • **ESLint**: コード品質管理

JavaScriptはブラウザネイティブで動作するため、Google Chromeでの実行やスマートフォンでのタップ・フリック操作、PCでのマウス操作に最適です。特にPhaser.jsは初心者にも使いやすく、多くの機能を備えています。

今回は手軽に作って遊べるゲームにしたいので、Javascriptで作ろうと思います。
Ubuntuに最初からJavascriptの環境は入っていないらしいので、以下で適当にインストールします。
(この辺もAmazon Qに聞きながらやっていますが、チャットのやり取りは省略します。)

sudo apt update
sudo apt install nodejs npm
npm install phaser pixi.js createjs hammerjs interactjs

(npmをナパームと呼びたくなってしまうのは自分だけでしょうか…)

Javascriptでのゲーム開発環境ができました。たぶん…

~/q$ npm list
q@ /home/XXXXXXXX/q
├── createjs@1.0.1
├── hammerjs@2.0.8
├── interactjs@1.10.27
├── phaser@3.90.0
└── pixi.js@8.10.1

この記事はここで一旦終わります。
次こそは、AWSのキャンペーンのお題をやってみます。

Discussion