RPGエンジン「World Wide Adventure」のJavaScript環境への移植および互換スクリプトの作成

Fri, Mar 13, 2015 in 時代背景 , JavaScript , TypeScript , CSS , HTML , RPGエンジン using tags

卒業論文を終え、どうしてもやりたくて時間がとれなかったJava製ロールプレイングゲームエンジンWWAのJavaScriptの移植に再度着手することにしました。

下記の3プロジェクトをほぼ1人で遂行しました。

  • WWA Wing(WWAのJavaScript環境への移植)
  • WWA Loader(バイナリ形式WWAマップデータからデータのロード, JavaScriptのオブジェクトとして結果を返す)
  • WWA Phoenix(従来のWWAのHTMLタグをWWA Wingのタグに置換)

WWA Wing

Javaアプレットで動作するロールプレイングゲーム実行環境World Wide AdventureのJavaScript 版の実行環境です。 近年、非HTTPSなWebサイトでJavaアプレットを実行するには、実行を許可するサイト一覧である「例外リスト」への追加が必要になり、WWA本来の「サイトにアクセスしてすぐ遊べる」という特徴が失われたために開発を開始しました。

開発途中でWWAの公式サイトの公認を得ており、現在においては公式サイトのWWAもWWA Wingでの動作に対応しています。 また、ゲーム投稿サイトPliCy (外部サイト) を利用することで、Webサイトを持たずにWWAを設置することができるようになっています。

公式サイトでの配布物では、ローカル環境でサーバを建てて、ゲームのテストを可能にするプログラム「WWA Debugger」(Aruneko氏による)と、 原作からのWWA作成ツール、およびWWALoaderが同梱され、それだけでWWAの開発が可能となっています。しかし、開発ツールとWWA DebuggerはWindowsでのみしか動作しないため、作成ツールのマルチプラットフォーム化が今後の課題となっています。

また、スマートフォンでも動作するのですが、効果音が鳴らない問題や、操作性の問題などがあり、順次改善予定です。

タイトルWWA Wing ( 発表当初「World Wide Adventure on JavaScript」)
作者WWA Wing Team (まつゆき, Aruneko, Aokashi, ヒラリラー)
ソースコードhttps://github.com/WWAWing/WWAWing
開発言語TypeScript, JavaScript, CSS, HTML
使用ライブラリAudio.js, Crypto-JS
使用コンパイラtsc, Google Closure Compiler
ライセンスMIT License
開発期間2015年2月3日〜現在

WWA Loader

WWAのマップデータ(バイナリ)を解析するJavaScriptプログラムです。 WWA Wingで必要になるため作成を開始しました。 基本的にWeb Workerとして呼び出すことを前提としていますが、 後述するWWA Phoenixのクロスオリジンな通信に対応するために、普通のJavaScriptプログラムとしても呼び出すことも可能となっています。

マップデータファイル名を与えると、そのマップデータファイル名を XMLHttpRequest で取得し、解析結果をJavaScriptのオブジェクト として返します。

タイトルWWA Loader
作者WWA Wing Team (まつゆき, Aruneko, Aokashi, ヒラリラー)
ソースコードhttps://github.com/WWAWing/WWALoader
開発言語TypeScript, JavaScript
使用ライブラリAudio.js, Crypto-JS
使用コンパイラtsc, Google Closure Compiler
ライセンスMIT License
開発期間2013年4月〜現在

WWA Phoenix

WWA Wingは、WWA設置サイトの管理者が対応するまで、その効力を発さないという欠点があります。 ですので、既存のWWAを遊ぼうとした時には相変わらずJava版となってしまいます。 そこで、従来のWWAをWWA Wing相当の実行環境に置き換えるブックマークレットとして、WWA Phoenixを開発しました。 将来的には、ブラウザの拡張機能として公開予定です。

タイトルWWA Phoenix (開発当初「JumpGate」)
作者WWA Wing Team (まつゆき)
ソースコードhttp://wwawing.com/wwap
開発言語JavaScript
ライセンスCreative Commons CC-BY 4.0
開発期間2013年4月〜現在