[JavaScript] enchant.jsとは

特徴

  • ゲームなどを開発するための使いやすいJavaScriptライブラリ
  • MIT or GPLのデュアルライセンス
  • DOMだけでなくCanvasにも対応
  • マップを生成・表示する機能がある
  • シーンごとに描画(処理)を切り換えるオーソドックスなゲーム用システムがある
  • 音声はWAVEにのみ対応
  • 各種プラグインが充実
  • マップエディタもある(サードパーティ製も)
  • 部分的に3Dに対応(WebGL:Third.jsを利用)
  • 2D/ 3Dの物理シミュレーションに対応
  • つくったアプリは、9leapというサイトで手軽に公開できる
  • jsdo.itを使えば、ブラウザ上で開発して9leapに投稿するということまで可能

    • 9leap純正のcode.9leapというサービスもある

気になった点

マップのレイヤー機能がない

2DのRPGなどでは、ひとつのマップを複数のレイヤーに分けて表示し、キャラが建物の裏を通るなどの演出を可能にしている。

しかし、enchant.jsではそれに対応していないので、マップを重ねてなんとかするか自分で実装する必要がある。

音声はWAVEのみ

明らかに物足りないが、標準でクロスブラウザにするには仕方がなかったか。

ただ、複数のファイル形式に対応したライブラリ「SoundManager 2」などを使って自分で対応すればいい。

enchant PRO

  • enchant.jsをベースにしたスマートフォン向けのネイティブ実行環境
  • カメラやOpenGL ES、そしてARやQRコードの認識などに対応
  • 単体のアプリを開発できるほか、公式の「9leapアプリ」をインストールすれば9leapにアップされたenchant PROアプリを無償で実行できる
  • 開発は基本、有償(1プラットフォームあたり5万円)。ただし、アプリを9leapへ投稿する場合は無償で利用できる。