Friction River Software

  • お問い合わせ

Phaser4入門【開発環境構築編①】Node.jsをインストール

A子

なんかゲームを作ってみたい!

B美

また出たよ

A子の無茶ぶりが…(苦笑)

C菜

プログラミング言語としては、PHP言語を使うんですか~?

【CakePHP5入門】で学んだので、PHPのコードだったらある程度は書けますよ~
(筆者注:時系列的には、【CakePHP5入門】のあとの話だと考えてください)

A子

そのへんどうなの?
B美先生!

B美

うーん、PHPでもゲームは作れるんだけど、あまり向いてないかな

特にアクション系のゲームの場合、JavaScriptと組み合わせる必要があるしね
(ブラウザソフト上に実行結果を表示する場合…)

A子

あ!
あとド素人でも作れるような開発環境が欲しいね

そんなのがあるかどうかすら知らんけど(笑)

B美

あるわよ

有名なところだと【Unityユニティ】かな?

C菜

聞いたことがあります~

たしか言語はC#シーシャープじゃなかったですかね~?

B美

C菜、正解!

2Dゲーム、いえ3Dゲームであっても割とお手軽に作れるゲームエンジンなのよね

A子

それってPC用ゲームの専用開発環境なの?

B美

いいえ

PC用はもちろんのこと、スマホアプリやブラウザゲームであっても作れるわよ

C菜

書店に行けば【Unity】の本ってよく置いてますけど、結構ページ数があって大変そうでしたよ~

パラパラと立ち読みしたくらいですけど~

B美

まぁ、そうね

覚えなきゃいけないことは多いかな

A子

もっと初心者向けというか、なんだったら生成AIの指示で全て(最初から最後まで)作れるくらいのお手軽なやつって無いの?

C菜

そんなのあったら苦労しないですよ~(苦笑)

B美

いいえ、あるわよ

ブラウザゲームオンリーで良ければ…だけどね

A子

あるのかよ!
てか、ブラウザゲームってあれだよね

EdgeエッジやChromeクロームなんかのブラウザソフト上ですぐに遊べるゲームで、ダウンロードやインストールが要らないやつ

C菜

ですね~
スマホ用の無料ゲームアプリは広告表示がめっちゃうざいし、PC用だとウイルスが怖いからあまりインストールしたくないです~

なので、ブラウザゲームだったらお手軽に遊べて良いと思いますよ~
まぁ、あまり本格的なやつは作れないでしょうけど~

B美

そうねぇ
ブラウザゲームであってもかなり本格的なやつも作れるわよ
例えば、『G123』なんかは有名ね
(クリックすると別ウィンドウで開きます)

あ、あと『itch.io』って知ってる?
(クリックすると別ウィンドウで開きます)

そこには多くのインディーゲームが公開されてるんだけど、ブラウザゲームもたくさんあるわよ
中には結構本格的なやつもあるし…

A子

へぇー、面白いじゃん
「インディー」って同人どうじんってことだよね?

ただ、ちょっとこのサイトを見てみたんだけど、ここにあるゲームってほとんどが英語表記みたい(苦笑)
(英文を読みたくねぇ)

でも、なかなかすごいよね
(公開されているゲームの数が…)

C菜

このサイトへの(自作ゲームの)公開を目標にするのも良いですね~
(モチベーションを維持するためにも…)

A子

んで、さっき言ってたお手軽な開発環境って何なのよ?

B美

【Phaser4フェイザーフォー】よ

Phaser3の時代はあんまり注目されてなかったんだけど、バージョンが上がってからは結構注目されるようになったゲームエンジンね

C菜

なにか理由があるんですか~?

B美

パフォーマンスが劇的に向上したことはもちろんなんだけど、最たる理由が「生成AIとの連携」でしょうね

さっきA子が言ってた「最初から最後まで生成AIだけを使って完成させられる」開発環境ってわけ
(言い換えれば、多くの生成AIは「Phaser」に関する知識をめっちゃ持ってるのよ)

A子

ん?
それって人間はプログラミングしなくても良いの?

B美

そういうこと

まぁ、画像や音楽といった素材に関しては人間が用意してあげなきゃいけないんだけど、動作を記述するプログラム自体については(人間は)全くノータッチでいけるわよ
(別に人間が手作業でプログラムを修正しても構わないし、逆に画像や音楽等の素材を生成AIで作ることもできるけどね)

C菜

プログラム言語は何になるんですか~?

B美

JavaScriptジャバスクリプトよ

まぁ、TypeScriptタイプスクリプトを使うほうがよりベターだけど…

A子

JavaScriptは知ってるけど、TypeScriptって何なのよ?

B美

ほとんど同じものなんだけど、データ型の定義なんかがより厳密になってるだけよ
JavaScriptを拡張したプログラム言語とも言えるかな
(筆者注:正確には「動的型付け言語」と「静的型付け言語」の違いです)

大規模なコードを記述するんだったら、JavaScriptよりもバグを発見しやすいと思うし、ゲーム開発には(多分だけど)向いてると思う
(別に、JavaScriptで記述しても良いんだけどね)

C菜

なるほどですね~
ここまでの話をまとめると~

1.ブラウザゲームオンリーならば【Phaser4フェイザーフォー】、様々な環境で動く本格的なゲームを作りたいなら【Unityユニティ】
2.【Phaser4】で使うプログラム言語はJavaScriptジャバスクリプト(またはTypeScriptタイプスクリプト)で、【Unity】ではC#シーシャープ
3.【Phaser4】は生成AIとの親和性が高い

…ってことでしょうか~

B美

そういうこと

まぁ、私のお勧めは【Phaser4】かな
(ただし関連書籍が全く無いし、日本語解説サイトもほとんど無いってのが少し大変なんだけど…)

C菜

【Unity】のほうって、書籍がいっぱい出てますもんね~

逆に言えば、Unityについてはわざわざここで解説しなくても良いってことになります~

A子

そっか
「車輪の再発明」になるもんね(苦笑)

んじゃ、結論だけど【Phaser4】によるゲーム開発を行うってことでOK?

B美

それでいきましょう

とは言っても、開発環境の構築さえ終えてしまえば、あとは「生成AI」頼みなんだけどね(苦笑)

C菜

それでは何から始めるのでしょうか~?

まさか【CakePHP5入門】のようにOS(Linux)のインストールからですか~?

B美

別にLinux上に環境構築しても良いんだけど、普通にWindowsでもOKよ

まずは「Node.js」をインストールするところからね

A子

ん?
その拡張子(js)って、JavaScriptかな?

B美

お、良い勘してるー

ただし、通常のJavaScriptのプログラムがクライアント(ブラウザソフト)上で動作するのに対して、「Node.js」ではサーバ上で動作するって違いがあるの

A子

いや、(Linuxならともかく)Windowsはクライアントであって、サーバじゃないよ

意味わからん…

B美

正確に言えば「サーバ等、どこでも実行可能」ってことよ

要するに、(ブラウザ上ではなく)OSの直上でJavaScriptで書かれたプログラムを実行できるってわけ

C菜

深く考えずに「そういう風に作られてる」と思っておけば良いですか~?

B美

そういうこと

あと、【Phaser4】を実行確認(テスト)するときってWebサーバが必要なんだけど、「Node.js」はその機能(Webサーバ)も提供してくれるわ

A子

なるほど
だからWindows上でも開発できるのか…

てか、拡張子が「js」ってことは「Node.js」自体もJavaScriptで記述されてるの?

B美

いいえ
「Node.js」自体はコンパイル済みの実行ファイル(マシン語)よ

JavaScriptで書かれたコードを実行するためのランタイム(実行環境…動かすための土台)と言っても良いかもね。

C菜

なるほどですね~
では、さっそくインストールしてみましょう~

『このWebサイト』で良いんですよね~?
(クリックすると別ウィンドウで開きます)

B美

『Node.js®を入手』をクリックすると次の画面になるから、中ほどにある『Windowsインストーラー(.msi)』をクリックしてね
(CPUタイプとOSの種別は自分の環境にあったものを選択すること)

A子

ダウンロードしたよ

「node-v24.21.0-x64.msi」ってファイル名で保存した
(筆者注:2026年10月時点の最新版です)

C菜

あとは、このファイルをダブルクリックしてインストーラーを起動するだけですね~

B美

あ、ちょっと一点だけ注意…

もしも以前、古いバージョンの「Node.js」を入れたことがあるんだったら、それをアンインストールしてからのほうが良いかもしれないわ
(まぁ、おそらくはアンインストールしなくても大丈夫だとは思うけど、念のためね)

A子

よし
んじゃ、さっそくやってみよう

インストーラー(「node-v24.21.0-x64.msi」)をダブルクリックしてっと…

↓

↓

↓

↓

B美

ちょっと待って!

そこにチェックを入れると、インストールが終わったあとに(勝手にPowerShellが起動して)PythonやVisualStudioのネイティブツールをインストールしちゃうわよ
(かなり時間がかかるかも…)

C菜

なにかのライブラリですか~?

B美

「ライブラリ」と言うよりも「開発環境」と言ったほうが良いかな

てか、【Phaser4】の開発においては不要だからチェックをはずしちゃっても良いわよ
(別に、付けたきゃ付けておいても良いんだけど…)

A子

んじゃ、チェックをはずしてから再開するよ
(てか、もともとデフォルトではチェックされてなかったんだけどね(苦笑))

↓

↓

C菜

何の問題もなく終わりましたね~

B美

それじゃ、うまくいったのかどうかを確認してみましょう
コマンドプロンプトを起動してから、こう打ち込んでみてね

> node -v[Enter]

バージョンが表示されれば成功よ

A子

ふむ
大丈夫っぽいね

B美

あと、もう一つ

> npm -v[Enter]

こちらも確認しておきましょう

C菜

「node」は「Node.js」のことでしょうけど、「npm」って何ですか~?

B美

パッケージ管理システムよ

ほら、LinuxのDebianでは「apt」ってコマンドを使ったでしょ?
ああいうやつね

A子

あっ!
分かったよ

「npm」を使って【Phaser4】をインストールするんじゃない?

B美

うーん
正確には、「npm」を使って『プロジェクト作成ツール』を呼び出して、対話形式で選択していくと勝手に新たなプロジェクトが作られるの

で、そこ(新たなプロジェクトの作業ディレクトリ内)には自動的に【Phaser4】が組み込まれているってわけ
(なお、プロジェクトごとにそれぞれ個別の【Phaser4】を組み込むから、一度インストールすれば終わりってわけじゃないわよ)

C菜

例えば、三つのプロジェクトを作ったら三つの作業ディレクトリが作られて、そのそれぞれに【Phaser4】が存在するんでしょうか~?

B美

その通り!
要するに【Phaser4】というのは「CakePHP」のような「開発フレームワーク」なのよ

「CakePHP」が『Webサーバ上で動作するWebアプリをPHP言語で記述するためのフレームワーク』
であるのに対し
【Phaser4】は『ブラウザソフト上で動作するゲームアプリをJavaScriptで記述するためのフレームワーク』
…ってわけ

ほら、「CakePHP」もcomposerで新たなプロジェクトを作成したとき、それぞれのプロジェクトごとに「CakePHP」の中核部分が作られたでしょ?
それと同じよ

A子

なるほどねぇ
すっきりと理解できたよ

んじゃ、さっそくテストプロジェクトを作ってみよう!

B美

そうねぇ
でも、少し長くなっちゃったから、今回はここまでにしておきましょう

次回は【Phaser4】のテストプロジェクトを作って、実際にブラウザ上で動かしてみるからお楽しみに!

C菜

了解です~