14.【JS】SVGとCanvas、同じシューティングを作ってみたら体験が全然違った

tags: [“JavaScript”, “SVG”, “Canvas”, “GameDev”, “Web”]


🎮 SVGとCanvas、同じシューティングを作ってみたら体験が全然違った

同じ題材のシューティングゲームを、
SVG版Canvas版の2通りで作ってみました。

結論を先に言うと、
優劣の話ではなく、体験がまったく別物でした。


▶ デモ(そのまま遊べます)

SVG版(FSMあり・安定志向)

https://samizo-aitl.github.io/qiita-articles/demos/svg-shooter-fsm/

Canvas版(派手・演出重視)

https://samizo-aitl.github.io/qiita-articles/demos/canvas-shooter/

まずは触ってみてください。
説明はそのあとで十分です。


🎮 操作方法

SVG版

※ キーボード操作を前提にしています。


Canvas版

※ シンプルな操作に絞っています。 Canvas版はBGMと効果音あり(最初の操作後に有効)


🧠 作ってみて感じたこと

SVG版を触った印象

「ちゃんとゲームとして制御されている」感じがします。


Canvas版を触った印象

「とにかく触って楽しい」方向に振り切っています。


🆚 技術的な違い(深掘りしない版)

ざっくりまとめると:

細かい設計や性能の話は、
今回はあえて触れていません。


🤔 じゃあ、どっちが正解?

正直なところ、

という印象でした。

どちらが優れている、という話ではなく、
目的と好みの違いだと思います。


🎯 まとめ

作る前は
「Canvasのほうが一択かな?」
と思っていましたが、

実際に両方作ってみると、
SVGの良さもはっきり分かりました。

このあたりは、
実際に作って触ってみないと分からないですね。


必要であれば、
それぞれの実装は GitHub リポジトリ側で
そのまま確認できるようにしています。

ここまで読んでいただき、ありがとうございました。