見出し画像

Steamで配信するゲームをPhaser.jsとClojure言語で作る話

これまでもさらっと触れてきましたが、現在作り始めているゲームはPhaser.jsというライブラリと、Clojureというプログラミング言語(正確にはClojureScript)を使っています。

まず、なぜUnityやUnreal Engine、Godot等のいわゆるメジャーなエンジンでないかというと、今後出していくゲームは全て2Dでかつドット絵中心なゲームであること、これまでの開発の経験上HTML5での開発経験を活かしやすい、ブラウザ上で動くゲームエンジンであるPhaser.jsが開発効率の点でも扱いやすいという点があります。
受託開発でもUnityは特にVR関連で触ったことがありますが、そういった3Dの機能を使わず、カジュアルゲームを作るということならPhaser.jsで十分であり申し分ない機能を持っているという感触があります。

本来ならPhaser.jsで開発する場合、JavaScript、TypeScriptといったプログラミング言語を使いますが、そこはこれまで書籍も出しておりまた慣れ親しんできているClojure(Script)を使うことが、その言語の面白さや表現の自由度などから採用することにしました。かつて主催していたプログラミング教室からそのまま今も高校生アルバイトとして開発を頼んでいる彼にも実際Clojureを触ってもらっていますが、問題なく触れていますし、興味を持ってもらっているので現在の状況ではベターな選択だなという考えもあります。

また、ウェブの技術でゲームを作ると、その配信をSteamなどで、あるいはスマートフォンアプリなどに出すというのはハードルが逆に高いのではというご意見もあるやもしれませんが、そこも業務委託での開発経験が活きる分野だなという手応えがあり、Electronなどアプリ化するためのノウハウにも自信があるという点も今回の採用を行なった理由です。(ただ、実際にやってみると以前と比べ簡単になっている可能性は十分にあるため大した話ではないのではとも思っています。)

(まだ実際に手を動かしたわけではないのでなんとも言えないのですがこういったサイトが参考になりそうです。)

そういったわけで、Phaser.js + Clojure(Script)という組み合わせで毎日シコシコ企画を書きゲームを開発していきますのでよろしくお願いします🐈

いいなと思ったら応援しよう!