2016年5月19日木曜日

HTML5でゲーム開発。JavaScriptゲームフレームワークまとめ



    •  
    9月26日にUnityをテーマにした勉強会を開催します。参加はこちらから
    ゲームと言えばネイティブアプリなイメージがありますが、HTML5やJavaScriptエンジンが高性能化するのに伴ってWebブラウザでも十分ゲームが遊べるようになっています。Webブラウザであればインストールの手間なく遊べて、さらにラップすることでアプリ化することだって可能です。
    ゲームエンジンは多数存在しますが、今回は特に2Dをサポートしたソフトウェアを紹介します。

    enchant.js

    enchant.js
    マルチプラットフォーム、iOS/Androidにも対応したゲームフレームワークです。WebGLにも対応しています。アニメーションエンジンも搭載されています。9leapにてユーザベースでたくさんのゲームが公開されています。

    CreateJS

    CreateJS
    ゲームエンジンという訳ではありませんがCanvasに対応した表現力あるライブラリです。他にもEaselJS、TweenJS、SoundJS、PreloadJSなどと組み合わせてゲーム開発を行えるようになっています。

    gameQuery

    gameQuery
    jQueryプラグインとして提供されています。もちろんゲーム独自の作り方は入りますが、それでも既存のテクニックが活かせるかも知れません。

    Crafty

    Crafty
    軽量でクロスブラウザサポートです。レンダーとしてDOMまたはCanvasが選択できます。キーボード、マウス操作による入力をサポートしています。IE9から利用が可能です。

    Gamvas

    Gamvas
    スプライトとアニメーション、Box2D対応の物理エンジン、リソースマネジメント、ズーム/パンに対応したカメラ、パーティクルエンジンと言った機能があります。

    Arctic.js

    Arctic.js
    DeNAで実際に使われており、オープンソース化されているゲームエンジンです。ハイパフォーマンスなHTML5ゲームが開発できます。

    ティラノスクリプト

    ティラノスクリプト
    スマートフォンにも対応したノベルゲームが開発できます。アプリ化も可能です。YouTubeを再生することもでき、幅広い利用が考えられます。KAG3/吉里吉里にも対応しています。

    Almight

    Almight
    吉里吉里/KAGに対応したノベル&アドベンチャーゲームエンジンです。専用の記述を行うことでプログラミングレスで開発ができます。

    StageXL for Dart

    StageXL for Dart
    特徴的なのはDartで記述するという点でしょう。マスク、フィルタ、サウンド、アニメーションなどの機能があります。最適化されたJavaScriptが出力できることもあってパフォーマンスも高いようです。

    jgame.js

    jgame.js
    日本製のオープンソースゲームエンジンです。シューティングゲーム、物理アクションゲーム、アドベンチャー、RPGなど多彩なジャンルのゲームが開発できます。

    Pulse

    Pulse
    2Dパズルや2Dスクロールのアクションゲームが開発できます。ただし若干動作が重いようです。

    Phaser

    Phaser
    アクションやパズルゲームなどに向いています。iOS/Androidアプリとしてリリースされているものもたくさんあるようです。クリアごとにアンロックされるゲームを作れるなど、かなり本格的に作り込むことができそうです。

    Quintus

    Quintus
    軽快な動作が可能な2Dアクションゲームエンジンです。モバイルもサポートされています。

    Panda.js – Free HTML5 game engine

    Panda.js - Free HTML5 game engine
    Canvas/Web GLによるレンダリング、パーティクルエンジン、サウンドマネージャ、モバイルサポート、タイマー、加速度センサーサポート、キーボード入力などの機能があります。パズルゲームに向いていそうです。

    melonJS

    melonJS
    軽量なゲームエンジンです。スマートフォンでも十分高速に動作します。Flappy Birdをはじめ、昔懐かしいドット絵系ゲームに向いているようです。

    Jaws

    Jaws

    Collie

    Collie
    ハイパフォーマンスなアニメーションによるゲームフレームワークです。iOS/Androidにも対応しています。多数のオブジェクトであっても安定して高FPSでレンダリングが可能です。

    FlashJS

    FlashJS
    FlashのAPIに似せているためFlashゲームを作る感覚でHTML5ゲームが開発できます。actionscriptというタグを使えるので雰囲気としてはFlash感覚でしょう。

    Isogenic Game Engine

    Isogenic Game Engine
    パズルゲームやWebSocketを使ったマルチプレイヤーゲームの開発ができます。CasinoRPGというかなり大型のWebアプリケーションも開発されています。

    Akihabara

    Akihabara
    まるでファミコンを彷彿とさせるようなグラフィックスのゲームエンジンです。ゲームパッドに対応しています。キーボードの場合はAはZキーになります。スマートフォンではゲームパッドが表示されて遊べるようになっています。

    Canvas Engine

    Canvas Engine
    マルチプレイヤーゲームに対応しています(要サーバサイド)。アニメーション、キーボード、ゲームパッド、サウンド、マルチタッチ、スプライト、衝突検出、データセーブ、タイルマップエディタといった機能があります。

    GogoMakePlay

    GogoMakePlay
    昔懐かしい感じのするグラフィックスのゲームエンジンです。サウンドAPIは提供していません。マウス、キーボードの入力を使ったゲーム開発ができます。

    jGen

    jGen
    マップエディタも提供されているゲームエンジンです。ゲームとしてはちょっと昔のドット絵調のゲームを開発できるようになっています。

    Game Closure

    Game Closure
    ラッピングすることでiOS/Androidのアプリストアでの公開も可能なフレームワークです。実際、幾つかのアプリが開発されてアプリストアにあります。

    LimeJS HTML5 Game Framework

    LimeJS HTML5 Game Framework
    タッチ操作に対応したゲームフレームワークです。主にパズルゲームが多いようです。ネイティブレベルのハイパフォーマンスなゲームを開発できるのを目指しています。

    Impact – HTML5 Canvas & JavaScript Game Engine

    Impact - HTML5 Canvas & JavaScript Game Engine
    ハイパフォーマンスな2Dゲームを開発するのによく知られているゲームエンジンです。この手のライブラリにしては珍しく有償のソフトウェア(99ドル)になります。スマートフォンにも対応しており、ゲームパッドが表示される仕組みになっています。

    Kiwi.js

    Kiwi.js
    パズルゲームからシューティング、アクションゲームまで幅広く実装できます。マルチタッチサポート、スプライト、オブジェクトのグループ化などの機能があります。ゲームエンジンのWordPressを目指すという意欲的なプロジェクトです。

    jsGameSoup

    jsGameSoup
    Android/iOSもサポートしています。ExplorerCanvasを使うことでIE6でも動作可能とのことです。キーボードやマウスによる入力も感知でいるようになっています。

    Playcraft

    Playcraft
    こだわればグラフィックスに凝ったゲームも作成できますが、その反面動作がデスクトップであっても重たくなってしまいます。モバイル、タブレットで遊ぶのはちょっと難しいかも知れません。

    GameJs

    GameJs
    シューティングやレースゲームなど幅広いジャンルで活用できるゲームエンジンです。Github Game 2012でも使われており、実績も数多いです。

    EaselJS

    EaselJS
    FlashのAPIに似た作りになっています。Canvas上での変形、オブジェクトキャッシュ(高速描画)、D&D、フィルタ、マウスでの描画、アルファマスク、ベクターマスクなどの機能があります。

    Galloman/ss2d

    Galloman/ss2d
    オブジェクトの衝突検出、アニメーション、WebGL、オーディオ、物理エンジン、パーティクルなどに対応しています。

    Pixi.js

    Pixi.js
    WebGLを使い、Canvas上に2Dオブジェクトを描きます。マルチプラットフォーム、高速さが売りです。WebGLを使ったフィルタリング、スプライトなどに対応しています。

    RPG JS

    RPG JS
    その名の通りRPGゲームを作るのに適したJavaScriptライブラリです。ベースには前述のCanvasEngineを使っています。
    日本語で情報発信しているソフトウェアもありますので、HTML5×JavaScriptによるゲーム開発をぜひ行ってみましょう!ジャンルは求める機能によってエンジンを選択してください!
    そして結果をサーバサイドに保存する、ランキング機能をつけるといった時にはぜひニフティクラウド mobile backendを使ってください!

    0 コメント:

    コメントを投稿