IMPACTでiOSとChromeブラウザでほぼ同じJavaScriptを動作させたデモ
IMPACTでは、iOS用ネイティブアプリとHTML5用に書いた
JavaScriptコードがほぼそのまま使い回せます。
ネイティブという単語が出てきましたがこれはつまりAppStoreで販売できる
アプリケーション形式という形でとらえて頂ければと思います。
アプリ単体になるという点でのメリットではなく、
ネイティブアプリの場合は、JS->OpenGL,OpenALで画像もサクサク、音も快適に
鳴らす事ができるのでその点が大きなメリットになります。
HTML5では残念ながらMobile Safari上では現時点で音が鳴らせないんです。
さて、iOSIMPACTでは、JavaScriptのコードを内包したJavaScriptCoreにて
評価し、最終的な描画は、OpenGLやOpenALで行っています。
ですから、互換性を維持するための移植がライブラリ側で用意されています。
そのため "ほぼそのまま使い回せる"という表現を使いました。
実際どれくらい移植コストがあるかについては今後説明するとして、
こちらの動画でやっていることであればタッチ処理と画面スクロールのメソッドを
少し書き換えたぐらいです(スクロールに関しては今後互換されて欲しい)。
最近は、沢山のフレームワークがでてきており、それこそゲームをLuaで書いたり
独自の言語で記述したりと様々です。
私が日々ブログでまとめているcocos2dは、Objective-Cで書かれていますが、
Objective-Cの良さを活かしたとても使いやすいフレームワークです。
ではなぜJavaScriptを今更押しているかというと使える人口が圧倒的に多いからです。
それこそデザイナーさんもHTMLの習得とあわせて覚えている方もいらっしゃるようで、
その方達がゲームを記述できるようになればもっとゲーム業界はプラットフォームに依存せず
ゲーム作りができると思うのです。これは今後のゲーム業界においてとても重要なファクターだと思います。
9leapというenchant.jsを使って投稿型のサイトも出現しています。
JavaScript + HTML5の可能性を感じる素晴らしい試みだと思います。
enchant.jsは、無料で利用することができますのでIMPACTよりは利用しやすいライブラリです。
4Gamer.net ― 「enchant.js」でゲームはどれくらい動くのか? HTML5でゲームベンチマークを取ってみよう(ミドルウェア/開発ツール)
iPad2の能力では、9leapのゲームを快適に遊ぶことができるので、
ネイティブアプリのゲームに疲れたらこういったミニゲームをプレイするのも良いでしょう。
このブログでは、先ほどのくまさんのサンプルなどIMPACTでのゲームの作り方について今後解説していきます。
【人気エントリー】
JavaScriptで書いたゲームがiOSネイティブで動くiOSIMPACT制作秘話(前編)
JavaScriptで書いたゲームがiOSネイティブで動くiOSIMPACT制作秘話(後編)