ページ内ナビ
概要
melonJSは、ブラウザで動く2D/2.5Dゲームを制作するためのJavaScriptゲームエンジンです。描画、物理演算、入力、音声、カメラ、タイルマップを一つのES moduleで扱い、WebGPU、WebGL 2、Canvasの順に実行環境へ合わせて描画方式を切り替えます。Tiledの2DマップとglTF/GLBの3Dシーンを読み込めるため、画面描画の土台を個別に組み合わせずゲーム制作へ進めます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
描画方式の違いを吸収し、同じゲームコードを複数のブラウザ環境で動かす
Canvas2Dに近い描画APIの下で、WebGPU、WebGL 2、Canvasを自動選択できます。スプライト、カメラ、パーティクル、後処理、独自シェーダーなどを同じエンジンの構成要素として扱えるため、描画基盤ごとにゲームロジックを書き分ける負担を抑えられます。
出典:[2]
TiledのマップとglTFシーンを制作工程から直接読み込む
Tiledで作成した直交・アイソメトリック・六角形などのマップに加え、glTF/GLBのメッシュ、素材、カメラ、ライト、アニメーションをシーンとして読み込めます。物理演算、入力、音声、UIも含まれるため、試作から小規模な完成作品まで一つの実行基盤で進められます。
出典:[2]
向いている用途
ブラウザ配信を前提に、2D中心のゲームへ必要な機能をまとめて使いたい開発に向く
タイルマップを使うアクションやRPG、Canvasの考え方を生かしたゲーム、2D表現へ一部の3D素材を加える制作に向きます。TypeScriptとViteを使う雛形が用意されており、独自のビルド環境へ固定されずに始めたい個人や小規模チームにも適しています。
出典:[2]
導入前の確認
参考にした公式資料
- [1]melonjs/melonJS repository metadata(2026-10-04)
- [2]melonJS 20.7.0 README(2026-10-04)
- [3]melonJS 20.7.0 release(2026-10-04)
- [4]melonJS 20.7.0 package metadata(2026-10-04)
- [5]melonJS 20.7.0 MIT license(2026-10-04)
編集部からの補足
ゲームエンジンの比較では機能数だけでなく、対象端末で選ばれる描画方式と、制作に使うマップ・3D資産の流れを確認してください。古い端末を含む場合はCanvasへの切り替え後も遊べる性能かを早い段階で測るのが重要です。
3ステップで試す
- 1
ゲームの雛形を作成する
Node.js 24以上とnpmを用意し、公式creator 1.0.1を固定してTypeScript、Vite、デバッグ用プラグインを含む雛形を作ります。
npm create melonjs@1.0.1 my-game - 2
依存関係をインストールする
作成したmy-gameへ移動して依存パッケージを取得します。次の手順も同じ端末と作業ディレクトリで続けます。creator自体は1.0.1へ固定していますが、雛形の依存関係には版の範囲指定があるため、生成されたlockfileを保存して再現性を保ってください。
cd my-game && npm install - 3
開発用サーバーを起動する
インストールしたViteのNode実体を直接127.0.0.1:4173だけで起動し、各要求を2秒、最大30回に制限して空でない入口ページを確認します。成功・失敗のどちらでも、そのPIDを待って回収します。ゲーム操作や描画互換性の確認はブラウザで別途行ってください。
( node node_modules/vite/bin/vite.js --host 127.0.0.1 --port 4173 --strictPort > melonjs-dev.log 2>&1 & server_pid=$!; trap 'kill "$server_pid" 2>/dev/null || true; wait "$server_pid" 2>/dev/null || true' EXIT; ready=0; for attempt in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do if curl -fsS --connect-timeout 1 --max-time 2 http://127.0.0.1:4173/ -o melonjs-home.html; then ready=1; break; fi; kill -0 "$server_pid" 2>/dev/null || { cat melonjs-dev.log; exit 1; }; sleep 1; done; if test "$ready" != 1; then cat melonjs-dev.log; exit 1; fi; test -s melonjs-home.html )
成長
成長の推移 · 直近30日
6,401 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 55
- Open PR
- 2
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- melonjs
- javascript
- game-engine
- webgl
- webaudio
- html5
- es6
- gamedev
- game-development
- canvas2d
- tiled
- 2d-game-engine
- Stars
- 6,401
- Forks
- 663
- Watchers
- 168
- Open Issues
- 20
- Contributors
- 94
- 所有者種別
- Organization
- 主要言語
- JavaScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/10/04
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Zustand58,785 Stars
共通タグ 3件
Reactの状態をproviderなしのhook storeで管理し、selectorで必要な部分だけ購読する
TypeScript - Jest45,471 Stars
共通タグ 3件
assertion・mock・watch・snapshot・worker isolationを一つのCLIへまとめるJavaScript testing framework
TypeScript - Puter43,650 Stars
共通タグ 3件
browser desktopとstorage・database・AI・serverlessを一体化したself-hostable Internet Computer
TypeScript - Auth.js28,368 Stars
共通タグ 3件
OAuth/OIDC・passwordless・WebAuthn・stateless/database sessionをWeb標準API中心のpackage群で構成する
TypeScript - Expo52,545 Stars
共通タグ 5件
React NativeアプリをAndroid・iOS・Webへ一つのprojectから展開する
TypeScript - Electron123,376 Stars
共通タグ 4件
ChromiumとNode.jsを同梱し、HTML・CSS・JavaScriptから3 OS向けdesktop appを構築するruntime
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。