➡️

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

に公開

前回の記事は以下です。
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