卒業論文を終え、どうしてもやりたくて時間がとれなかったJava製ロールプレイングゲームエンジンWWAのJavaScriptの移植に再度着手することにしました。
下記の3プロジェクトをほぼ1人で遂行しました。
Javaアプレットで動作するロールプレイングゲーム実行環境World Wide AdventureのJavaScript 版の実行環境です。 近年、非HTTPSなWebサイトでJavaアプレットを実行するには、実行を許可するサイト一覧である「例外リスト」への追加が必要になり、WWA本来の「サイトにアクセスしてすぐ遊べる」という特徴が失われたために開発を開始しました。
開発途中でWWAの公式サイトの公認を得ており、現在においては公式サイトのWWAもWWA Wingでの動作に対応しています。 また、ゲーム投稿サイトPLiCy (外部サイト) を利用することで、Webサイトを持たずにWWAを設置することができるようになっています。
公式サイトでの配布物では、ローカル環境でサーバを建てて、ゲームのテストを可能にするプログラム「WWA Debugger」(Aruneko氏による)と、 原作からのWWA作成ツール、およびWWALoaderが同梱され、それだけでWWAの開発が可能となっています。しかし、開発ツールはWindowsでのみしか動作しないため、作成ツールのマルチプラットフォーム化が今後の課題となっています。
2018年~2019年には、PLiCyさんの協力のもと、セーブデータの保存の永続化・複数化などの機能をリリースすることができました。
タイトル | WWA Wing ( 発表当初「World Wide Adventure on JavaScript」) |
---|---|
作者 | WWA Wing Team (まつゆき, [Aruneko](https://www.aruneko.net), [Aokashi](http://aokashi.net), [ヒラリラー](http://hirarira.net)) |
ソースコード | https://github.com/WWAWing/WWAWing |
開発言語 | TypeScript, JavaScript, CSS, HTML |
使用ライブラリ | package.json を参照 |
ライセンス | MIT License |
開発期間 | 2015年2月3日〜現在 |
WWAのマップデータ(バイナリ)を解析するJavaScriptプログラムです。 WWA Wingで必要になるため作成を開始しました。
開発当初は、基本的にWeb Workerとして呼び出すことを前提としているプログラムでしたが、多くのブラウザで直接本体に組み込んだ方が動作が速くなることがわかったため、 現在は webpack によって WWA Wing 本体と結合されて動くようになっています。他の npm で開発されている JavaScript のプログラムと一体的に動作させることも可能です (2021年2月現在、ブラウザに限る。 nodeなどのランタイムで動作させることも実現できるか検討中)。
マップデータファイル名を与えると、そのマップデータファイル名を XMLHttpRequest
で取得し、解析結果をJavaScriptのオブジェクト として返します。
タイトル | WWA Loader |
---|---|
作者 | WWA Wing Team (まつゆき, Aruneko, Aokashi, ヒラリラー) |
ソースコード | https://github.com/WWAWing/WWAWing/tree/develop/packages/loader |
開発言語 | TypeScript, JavaScript |
ライセンス | MIT License |
開発期間 | 2013年4月〜現在 |
WWA Wingは、WWA設置サイトの管理者が対応するまで、その効力を発さないという欠点があります。 ですので、既存のWWAを遊ぼうとした時には相変わらずJava版となってしまいます。 そこで、従来のWWAをWWA Wing相当の実行環境に置き換えるブックマークレットとして、WWA Phoenixを開発しました。
タイトル | WWA Phoenix (開発当初「JumpGate」) |
---|---|
作者 | WWA Wing Team (まつゆき) |
ソースコード | https://wwaphoenix.github.io/ |
開発言語 | JavaScript |
ライセンス | Creative Commons CC-BY 4.0 |
開発期間 | 2013年4月〜現在 |