Windowsも辛かったというわけで、スマホやPCのネイティブアプリを趣味で作る方向は一旦中止。
次はWebゲームだ!プラットフォーマーがいないから今度こそ自由だ。
現実には “不正対策強化で動かなくなった” とか “Flashで作ったWebゲームが爆死” なんてことがちょくちょくあるけれども…
とにかくWebゲームを簡単に作るフレームワークを探そう。
自分が求める機能ははっきりしている。究極の2Dゲーム機であるセガサターンだ。
セガサターンの特徴といえば、2Dゲーム機としてスーファミを超えるための武器「自由変形スプライト」 四角いスプライトの4頂点を自由に動かせる。
WebGLのポリゴン描画機能を使えば実現できるけど、ゲームに必要な機能は他にもいろいろあるので全体的にフレームワークに任せないと整合性が取れない。WebGLを直接操作するのは避けたい。
Unity, Godot
ゲーム開発プラットフォーム比較で述べた理由で却下。
PlayCanvas
Webゲーム開発専用だが、これもUnityやGodotと同じく統合開発環境なので却下。
ノーコードプログラミングみたいな「コードを書かなくても始められます」環境は、ノーコードが幹にあって、そこに枝葉のようにコードを追加していく考え方が趣味に合わない。最終的には幹までコードで乗っ取ることが可能だとしても。仕事なら好き嫌い言わずに採用するけど、100%個人の趣味だからね。
ノーコードはどうしても「こういう成果物を作りたいんでしょ」という想定が最初にあって、その想定をノーコードで作れるようにするには統合環境側に何を用意しようか、から始まる。最初の想定に発想が縛られやすいのが嫌い。もちろん拡張性があって最終的にはどんなものでも「こうすれば作れる」ようにはなっているとはいってもね。
three.js
WebGLを使うためのライブラリ。結構これでゲームを作った人もいるようだけど、ようやるな。
3D専用だし、ゲームを作るためのライブラリとしては機能が足りない。まあ自分が作るのは2Dゲームだしね。
Phaser3
統合開発環境?何それ?なガリガリコーディングするためだけのライブラリ。これだよ漢だよ。
しかし DirectX~Monogameのような綺麗な世界、整然としたドキュメントや情報がありバージョンアップしても互換性があり、環境差分もうまく吸収してくれる、何年も昔のコードでも正しく書いてあればちゃんと動く、みたいなぬるま湯ワールド出身者には辛いな。
ドキュメントよりもまずサンプルコードを用意するからそっちを見ろ!と大量のサンプルコードを用意しているがそれがまず動かない。メジャーバージョンアップだけでなく、Phaser 3.11 – 3.24 – 3.55あたりでもサンプル毎にPhaserマイナーバージョンを変えてみないと動かない。あげくどのバージョンでも動かない物も。公式サンプルが動作しないのはつらい。
自分が使いたいサンプルはテクスチャポリゴンを2Dで使うものだけど、これも3.24でしか動かない。
これを参考に作ったとして、Phaserの最新バージョンでは永久に動かないのも困りそう。
しかし今のところ頼りになるのがこれくらいなのも事実。
コメントは締め切りました。