1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2026-02-04

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

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

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


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

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

Canvas版(派手・演出重視)

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


🎮 操作方法

SVG版

  • ← / → or A / D:移動
  • Space:ショット
  • R:リスタート
  • (スマホ)画面下ボタン:移動 / ショット / リスタート

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


Canvas版

  • マウス移動:自機移動
  • Space:ショット
  • R:リスタート

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


🧠 作ってみて感じたこと

SVG版を触った印象

  • 動きが落ち着いている
  • 状態が分かりやすい
  • 長く遊んでも安心感がある

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


Canvas版を触った印象

  • 動きが軽い
  • 演出が派手
  • 反応が速くて気持ちいい

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


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

ざっくりまとめると:

  • SVG

    • DOM要素がそのまま見える
    • 構造を意識しやすい
    • 状態管理と相性がいい
  • Canvas

    • 描画が軽い
    • 演出を盛りやすい
    • 見た目で気持ちよくできる

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


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

正直なところ、

  • 落ち着いて作るなら SVG
  • 派手に遊ばせるなら Canvas

という印象でした。

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


🎯 まとめ

  • 同じシューティングを SVG と Canvas で作った
  • 見た目だけでなく、操作感や体験が変わった
  • どちらにもちゃんと良さがある

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

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

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


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

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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?