World Wide Adventure
World Wide Adventure(略称:WWA)は、ブラウザ上で実行されるJava(Javaアプレット)を使ったインターネット指向型RPGの一種。ユーザーがマップ・キャラクターを作り、改造することを容易にするための専用ソフトウェアも存在する。
World Wide Adventure(以下WWA)は、Javaアプレットによって作られている。そのため、OSに関係なく動作する。
WWAは、インターネット上の個人サイト等でコンテンツの一つとして置いてある事が多いため、オンラインゲームの一面も持つが、ゲームをプレイするだけでなく、ソフトを使用して自らゲームを作成することもできる。
ソフトがHTMLファイルを自動生成した場合、灰色の背景()で、中央にマップがあるレイアウトになる。
画面の大きさは560px×440pxで、画面の左側440px部分が、メインとなるマップ画面で、右側120px部分は、ステータス、アイテムボックスなどで構成されたメニュー画面である。マップの一画面は、40px×40pxのパーツが、縦に11、横に11ずつ集まって出来ている(外枠のかかった境界部分を除けば9x9)。そして、マップ作成時の最も左上の地点を、X=0、Y=0の地点とし、全てのパーツは、X、Yの座標で表される。また、プレイヤーが、マップの端まで移動すると、画面が切り替わる。製作時には、マップの大きさは101x101であるが、Ver3.10以降は拡張により151x151、201x201…と、最大1001x1001まで作成可能。ステータスは、4個の枠が縦に並んでおり、上から、生命力、攻撃力、防御力、所持金の順に並んでいる。アイテムボックスは、ステータスの下にあり、縦3個×横4個の12個並んでいる。最も左上のボックスを1番とし、右へ2番3番…と続き、最も右下のボックスを12番とする。なお、生命力の上限は、初期設定で決められる(後述のマクロ文を使えば、ゲーム中においても変更できる)。生命力が0になった時点でゲームオーバーとなり、初期設定で入力したゲームオーバー座標にジャンプする。
ゲームのクリアは、そのマップにより変わる。最もポピュラーなアクションRPGならば、ラストボスを倒した時点でクリアとなる場合が多いが、WWAは、作り手作り方によって様々なジャンルのゲームを作ることができるため、｢こうするとクリア｣と言った決まりは無く各ゲームによる。
かつてはマルチプレイヤーとして、プレーヤー同士が爆弾で攻撃しあう「Battle Arena」というゲームが公式サイトで公開されていたが現在は休止中である。
時代の流れからJavaのサポートが終了しプレイできる環境が限定的になっていたが、WWAのクリエイターを中心とする有志によりWWAのゲームをHTML5対応にするプロジェクト「WWA Wing」が発足し2015年に初版がリリースされた。これにより、現在のPC・タブレット・スマートフォン等の機器でWWAのゲームがプレイ可能となった。
2018年12月20日には、WWAのゲームを詰め合わせたNintendo Switch用ソフト『WWA COLLECTION』がPLiCyより発売され、以降シリーズ化している(後述)。
基本的に、主人公は、カーソルキーの移動させたい方向のキーを押すか、マウスを移動したい方向に向けクリックすることで移動する。
他の操作に対応するキーは以下の通り。斜字はマウスでの操作
戦闘時の戦闘結果(ダメージ数)予測 - F1、M、無し(Ver.2.94以前の物は、Aの場合もあり。)
移動速度の切り替え - F2、P、無し(ゲーム内での記載はないが、Iで移動速度を低速にする)
復帰用のパスワード入力 - F3、右側のPasswordをクリック※1
復帰用パスワード表示 - F4、右側のQuick Saveをクリック後、Noを選択
一時保存用データの読み込み - F5、右側のQuick Loadをクリック
データの一時保存 - F6、右側のQuick Saveをクリック※2
ゲームをはじめからやり直す - F7、右側のRestartGameをクリック
へリンク - F8、右側のGoto WWAをクリック
描画モードの切り替え - F9、G、無し
ショートカットキー一覧の表示 - F12、右側のステータス部分をクリック
リンクを別ウィンドウで開く - L、無し
Yesを選択 - Enter、Y、Yesボタンをクリック
Noを選択 - Esc、N、Noボタンをクリック
12個のアイテムボックスに対応 - 1、2、3、Q、W、E、A、S、D、Z、X、C、各アイテムボックスをクリック
メッセージ画面のクリア - Enter、スペース、Esc、メッセージをクリック
※1 Passwordは、データを一時保存した後には表示されなくなる。その時は、Quick Loadをクリックした後、Noを選ぶと、パスワードを入力できる。
※2 もちろん、ページを移動すればそのデータは消滅する。Passwordの場合は、製作者が元のデータを更新しない限り使い続けることができる。
WWAの特徴は、専用のマップ作成ツールを使えば、誰でもゲームを作り、自らのホームページに公開することができることである。また、WWA内でゲートを使えば、他のWWAへリンクさせることができる。つまり、WWW上に巨大なWWA網を築く事ができる可能性を秘めている。
ゲーム内で使う画像は主人公、ステータス欄、背景、アイテムなどを含め、すべて自由に変更できる。
ゲーム中の、メッセージ、モンスター、アイテム、背景などは、全てパーツの設定変更によって決定できる。このパーツは、背景パーツ、物体パーツに分けられる。背景パーツ、物体パーツ共に、パーツ番号0、1…の様に番号が割り振られている。
パーツはちょうど、ペイントソフトに喩えるとパレットにあたる。
背景パーツのタイプは4種類あり、ゲームのベースとなるパーツである。物体パーツと重なった場合、物体パーツとの重複部分は見えなくなる。
1つのWWAで作れる背景パーツの種類は最大200種類までだが、Ver3.10以降のバージョンでは拡張により50ずつ、最大4000種類まで拡張することも可能。
このパーツの上は、プレイヤーが通ることができる。プレイヤーがその道の上を通過した時、メッセージの表示や後述のようなイベントを発生させる設定ができる。イベント時の待ち時間の設定、道の通過時に指定の効果音を流す設定もある。また、アイテムを持っていることでイベントを起こすなどの設定も可能である。
このパーツの上は、プレイヤーが通ることは出来ない。プレイヤーが壁に触れた時、メッセージの表示や後述のようなイベントを発生させる設定ができる。イベント時の待ち時間の設定は無い。
このパーツの上をプレイヤーが通ると、予め座標で指定された地点へワープする。この地点は、直接ワープさせたい地点の数字を指定すること(例:X=1、Y=2)もできるが、相対座標による位置指定(例:X=+1、Y=-2)もできる。プレイヤーがゲートの上を通過した時、後述のようなイベントを発生させる設定ができる。イベント時の待ち時間の設定は無いが、ゲートの通過時に指定の効果音を流す設定がある。
このパーツの上をプレイヤーが通ると、「他のページにリンクします。よろしいですか?」と問われ、Yesを選択すると、予め指定されたページへとリンクする。イベントを発生させることは出来ない。
(背景パーツ番号0):これは、パーツ名ではない(予め割り振られているパーツ番号を便宜上用いた)が、上記4種類のどれにも含まれない。このパーツを編集することは出来ない。他の背景パーツを設置している箇所にこのパーツを設置すると、その場所の背景パーツは消去される。まだ背景を設置していない部分はこのパーツである。
物体パーツのタイプは13種類あり、メッセージ、モンスターなどはこれに含まれる。物体パーツは、2つの画像を指定することで、その2つの画像をアニメーションさせることができる。2つ目を指定しない場合、そのパーツはアニメーションしない。代わりに動作速度が向上する。また、物体パーツの中には、
静止、プレイヤー追尾、逃げる、うろうろする、の4種類の動作属性の設定
パーツを通り抜けられるかどうかの、通行区分の設定
パーツに触れたなどした際に、指定の効果音を流す
パーツに触れたなどした際に、指定したメッセージを表示する
パーツに触れたなどした際に、イベントを発生させる
などの事柄を設定できるパーツが存在する。
1つのWWAで作れる物体パーツの種類は背景パーツと同じく最大200種類、Ver3.10以降では同様に拡張により50ずつ、最大4000種類まで拡張できる。
Ver3.10からは描画方式が変更され、全画面描画になった。これにより、動く物体パーツにモーションが与えられた。
このパーツは、動作属性と通行区分の設定しか出来ない物体である。しかし、一部のゲームでは重要な役割を果たし、画像を透明にして通行区分を通行可能にしておくと「主人公は通れるが敵キャラクターは通れない」という事も可能になる。また、画像を背景と同じにすれば後述する劇イベントにも使用できる。
このパーツは、メッセージの表示を主とするが、他にも動作属性、効果音の再生、イベントの発生(イベント発生までの待ち時間設定ができる)の設定ができる。ゲーム内では、会話イベントや看板などにしばしば用いられる。連続したメッセージは、Ver3.00以降は後述するマクロ文で簡単にできるが、それ以前のバージョンでも同じ座標に連続してメッセージパーツを置くことで実現していた。なお、メッセージに何も入力しなければ、メッセージ無しで出現するパーツとなる。
このパーツに触れると、モンスターとの戦闘が始まる。(戦闘のシステムについては、後述の戦闘システムを参照。)モンスターも、プレーヤーと同じように生命力、攻撃力、防御力、所持金を設定できる。ただし、設定できる数値は、生命力・攻撃力・防御力は60000まで、所持金は30000までである。そして、モンスターとの戦闘終了後に、モンスターのいた場所に物体パーツを表示させることができる。他に、効果音の再生、動作属性、パーツに触れた時のメッセージ、イベントの発生の設定ができる。
このパーツは、取得すると画面右のアイテムボックスに表示される。剣や盾などのように、プレーヤーの攻撃力や防御力を加算することもできる。また、取得時に、アイテムボックスの格納位置を、1~12の番号で決めることができる。効果音の再生、動作属性、アイテム取得後のメッセージ、イベントの発生のほかに、アイテムの使用属性を設定できる。使用属性は、通常(所持しているだけ)、クリックで使用可(アイテムをクリック時に、メッセージ表示、イベントの発生ができる。クリック後アイテムは消滅)、使用しても無くならない(クリックで使用可と同じで、クリック後もアイテムが消滅しない)、の3種類が設定できる。なお、通常の使用属性ではアイテム取得時にメッセージが表示されるが、それ以外の使用属性では、クリック時にメッセージが表示される。
このパーツは、指定したアイテムパーツ(鍵)を持っていた場合に触れると消去される。消去される前の通行区分、動作属性、消去された後の効果音の再生、扉開放後のメッセージの表示、イベントの発生を設定できる。また、扉を開けた時に鍵を消費するのかしないのか、扉の種類を設定することができる。
このパーツに触れると、プレーヤーのステータスを変化させることができる。生命力、攻撃力、防御力、所持金を加算、減算することができる。
設定できる数値には限度があり、-30000~30000の間の数値のみ設定できる。ただし、生命力以外で自分のステータスよりもマイナスの値が大きい場合は、何も起こらずに物体は消去される。生命力では、マイナス値が大きい場合でも容赦なくゲームオーバー扱いになる。また、アイテムによって加算されている攻撃力や防御力までは減算されない。効果音の再生、動作属性、パーツに触れた時のメッセージ、イベントの発生の設定ができる。
このパーツに触れると、指定したパーツを買うことができるほか、生命力、攻撃力、防御力の増減もできる。なお、販売金額は0以上30000以下の数値を設定できる。効果音の再生、動作属性、パーツに触れた時のメッセージ、イベントの発生の設定ができる。
このパーツに触れると、指定したパーツを売ることができる。なお、買取金額は0以上30000以下の数値を設定できる。効果音の再生、動作属性、パーツに触れた時のメッセージ、イベントの発生の設定ができる。この「買う」は物体パーツから見た「買う」、つまり「購入」ではなく「買い取る」である点に注意。
このパーツに触れると、「他のページにリンクします。よろしいですか?」と問われ、Yesを選択すると、予め指定されたページへとリンクする。イベントを発生させることは出来ない。背景パーツのURLゲートと基本的には変わらない。
このパーツに触れると、画面上部にスコアを表示する。スコアは、攻撃力・防御力・生命力・所持金のステータスを指定した倍率で掛けた数の合計値である。他に、パーツに触れた時のメッセージの設定ができる。また昨今では、CGIを使うことでスコアランキングを作ることもできる。
ランダム選択:
このパーツは、事前に指定した10種類までのパーツをランダムに表示するパーツである。宝箱の中身に用いられたり、ランダムエンカウント等を実現することも可能。
このパーツは、プレーヤーのYes、Noの選択によって2種類のイベントを起こすことができるパーツである。他に、効果音の再生、動作属性、パーツに触れた時のメッセージの設定ができる。
このパーツにプレイヤーが触れると、予め座標で指定された地点へワープする。この地点は、直接ワープさせたい地点の数字を指定すること(例:X=1、Y=2)もできるが、相対座標による位置指定(例:X=+1、Y=-2)もできる。プレイヤーがパーツに触れた時、イベントを発生させる設定ができる。イベント時の待ち時間の設定は無いが、ゲートの通過時に指定の効果音を流す設定がある。基本的に、背景のジャンプゲートと同じであるが、連続イベントを発生させるときには、このパーツの方がよく用いられる。
(物体パーツ番号0)
これは、パーツ名ではない(予め割り振られているパーツ番号を便宜上用いた)が、上記13種類のどれにも含まれない。また、このパーツを編集することは出来ない。他の物体パーツを設置している箇所にこのパーツを設置すると、その場所の物体パーツは消去される。まだ物体パーツを設置していない部分はこのパーツである。
WWAにおけるイベントとは、そのパーツに触れることによって、予め指定した位置にパーツを出現させたり、劇のように人物を動かすようなものである。
WWAには(Ver3.10から実装された拡張クラスを使わない限り)変数の概念がないため、他のRPG製作ソフトと比べて見劣りする所がある。それ故に、どうやって問題を解決するかが製作者各人の技量が試される所で、実際にコマンドバトルや自作戦闘等を製作しWWAに用いているサイトもある。
パーツに触れることによって次に進む道を出現させるなど、フラグとしての役割を持たせることもできる。
また、主人公を通常物体で隠すなどして、主人公の居ない劇イベントなどを起こすことができる。
ここでは、マップ作成ツールに搭載されている機能や設定について記述する。
マクロ文とは、Ver3.00から実装された機能であり、メッセージの部分に以下のような文を記述することで、通常の機能ではできない設定ができる。なお、<C>と<P>以外のマクロ文の先頭には、$をつけなければ動作しない。
メッセージの複数ページ化 - <P>
このマクロ文は、<P>をつけた行の前と後をページ分けする。複数個記述すれば、3ページ以上にも分割が可能。このマクロ文を使うと、大文字のアルファベットがすべて小文字になる。
コメント - <C>
このマクロ文を記述すると、<C>以降の部分は、WWAをプレイした際には表示されず、マップ作成ツール上でのみ表示される。
主人公画像の変更 - $imgplayer=x,y
このマクロ文は、主人公の画像を変更することができる文である。xとyの部分には画像の座標が入る(この座標はピクセル単位ではなく、パーツ(40x40px単位の一片)単位なので注意)。座標は、一番左上を(0,0)として表す。指定した座標から右に8パーツ分は主人公の画像として使用される。
YesNo画像の変更 - $imgyesno=x,y
このマクロ文は、Yes、Noの画像を変更することができる文である。xとyの部分には画像の座標が入る。指定した座標から右に4パーツ文はYes、Noの画像として使用される。
HP最大値の変更 - $hpmax=*****
このマクロ文は、主人公の生命力の最大値の設定ができる文である。他の生命力の設定とは違い、設定可能な数値の上限がない。また、0と設定すると、最大値の上限がなくなる。
セーブ禁止、許可の切り替え - $save=1or0
このマクロ文は、セーブの禁止と許可を切り替えることができる文である。1でセーブ禁止、0でセーブ許可。
アイテムの強制所持 - $item=x,y
このマクロ文は、アイテムを強制的に持たせる文である。文を複数連ねることで、複数指定することも可能。x、yの部分は、座標の設定だが、他と違い、x=格納させるアイテムボックス、y=持たせるアイテムの物体番号になっている。また、指定したアイテムボックスに他のアイテムが既にあった場合はそのアイテムは消去される。したがって、yを0にすると、指定したアイテムボックスにあったパーツを消去することができる。xを0にすると、アイテムボックスの空いているマスに格納される。
アイテムパーツに限らず全種類のパーツを持たせられ、このマクロ分でアイテムを持たせた場合、アイテム格納モーションが発生しない。
イベントパーツ強制消去の設定 - $default=1or0
このマクロ文は、物体パーツが主人公と同じ座標に出現し、イベントを起こした後にそのパーツを消去するかしないかの設定ができる文である。1では消去されず、0だと消去される。
背景番号0の通行設定 - $oldmap=1or0
このマクロ文は、背景番号0のパーツの通行可、通行不可を切り替えることができる文である。1で通行可、0で通行不可。Ver2.94以前は背景番号0のパーツを通行できたが、Ver3.00以降、通行不可になったため、旧バージョンとの互換性維持のために作られた文である。
Ver3.10からはさらに以下のコマンドが実装された。特に説明のない限り、1or0は1で背景パーツ、0で物体パーツとなる(物体パーツを使用する場合は省略可)。
パーツ変換 - $parts=x,y,1or0
このマクロ文は、マップ上に配置されたパーツを別のパーツに変換する。xの部分には変換元のパーツ番号が、yの部分には変換先のパーツ番号が入る。また、1or0のあとに1と入力すると、現在表示されているマップのみに適用される(この場合1or0は必須)。
物体パーツの動作 - $move=x
これまでは物体パーツを動かすにはプレイヤーを動かし続ける必要があったが、このマクロ文は実装されたことで、プレイヤーを動かさずに物体パーツを動かすことができるようになった(ただしその間プレイヤーは動けない)。xには物体パーツを移動させる回数が入る。
プレイヤー画像の消去 - $delplayer=1or0
このマクロ文は、プレイヤー画像を消去する。1で消去、0で表示する。デモシーンなどでプレイヤーを表示させたくないときにはこれまでは物体パーツで隠すか、$imgplayerで透明の画像を選ぶしかなかったが、面倒なのでこのマクロ文が作られた。
ゲームオーバー座標の変更 - $gameover=x,y
このマクロ文は、HPが0になったときに飛ばされる位置を変更する。x,yにはマップの座標が入る。
アイテム格納モーションの禁止 - $effitem=1or0
Ver3.10からはアイテムをとった時にパーツがアイテムボックスに移動するようになったが、このマクロ文は、そのモーションを無効化する。0で無効、1で有効。これを指定するとステータスが変化したときにステータス枠が押しボタン状態になるのも同時に無効化される。
ゲームによってはアイテムボックスを顔表示などに使用している場合があるため、それに対応するために実装されたマクロ文である。
エフェクトの表示 - $effect=a,x,y
このマクロ文は、画面全体にエフェクト画像を表示する。aには待ち時間(1/10秒単位)が、x,yには画像の座標が入る。このエフェクトは最大4つまで設定でき、それらの画像をアニメーションさせることもできる。
顔窓の表示 - $face=a,b,x,y,x',y'
このマクロ文は、顔窓を表示する。a,bには顔窓を表示させる位置(ピクセル単位)、x,yには表示させる画像の座標、x',y'には画像の縦横の幅(パーツ単位)が入る。これを使えば会話イベントも作れる。
プレイヤーの方向を基準としたパーツ配置 - $dirmap=x,y,1or0
このマクロ文は、プレイヤーの進行方向にパーツを配置する。xにはパーツ番号、yにはプレイヤーの座標を0とした相対座標が入る。yをマイナスにすれば後方に配置できる。
マップ上にパーツを配置 - $map=a,x,y,1or0
このマクロ文は、マップ上の特定の座標にパーツを配置する。aにはパーツ番号が、x,yにはマップ上の座標が入る。「指定位置にパーツを配置」と機能は同じだが、選択肢型パーツでは文章を表示したときに発動するところが異なる。
クリック型アイテムの枠の変更 - $imgclick=x,y
クリック型のアイテムには赤い枠が表示されるが、このマクロ文は、この赤い枠を変更できる。x,yには画像の座標が入る。
フレーム画像の変更 - $imgframe=a,x,y
このマクロ文は、メイン画面外のシステム画像を変更する。aには変更するシステム画像の種類(0で生命力、1で攻撃力、2で防御力、3で所持金、4でステータス枠、5でアイテムボックス、6でメイン画面枠)、x,yには画像の座標が入る。
攻撃エフェクトの変更 - $imgbom=x,y
このマクロ文は、戦闘時の攻撃エフェクトを変更する。x,yには画像の座標が入る。
ステータス値の指定 - $status=x,y
このマクロ文は、ステータスの数値を強制的に変更する。xには変更するステータス(0で生命力、1で攻撃力、2で防御力、3で所持金)、yには変更後の数値が入る。
システムメッセージとは、ゲーム中で使用される基本メッセージである。このメッセージを変更することができる。
変更できるメッセージと、デフォルトで表示されるメッセージは以下の通りである。
「他のページにリンクします。よろしいですか?」
「所持金が足りない。」
「アイテムを持っていない。」
「このアイテムを使います。よろしいですか?」
クリックして使用するアイテムを取得した場合に表示されるメッセージ(最初の一度だけ)
「このアイテムは右のボックスをクリックすることで使用できます。使用できるアイテムは色枠で囲まれます。」
「これ以上、アイテムを持てません。」
「効果音データをロードしますか?」
なお、BLANKと入力すると、そのメッセージは表示されなくなる。
また、効果音の読み込み確認メッセージの場合は、ON(OFF)を指定すると、確認メッセージを出さずに効果音を読み込ませる(読み込ませない)こともできる。
戦闘はプレーヤー、相手(モンスター)、プレーヤー、相手(モンスター)の順で交互に攻撃し、先に生命力が0になった方が敗北、となる。このゲームのシステム上、戦闘で受けるダメージ、プレーヤーが相手に与えるダメージは、ランダムでは無く、プレーヤー、相手共に同じ条件で戦ったならば、必ず同じ結果となる。
戦闘時のダメージ計算方法は、以下の通りである。
1回の攻撃でモンスターに与えられるダメージ→プレーヤーの攻撃力-モンスターの防御力
1回の攻撃でプレーヤーが受けるダメージ→モンスターの攻撃力-プレーヤーの防御力
上記より、何回攻撃することでモンスターが倒すことができるか、ダメージをどれだけ受けるのか、を計算することができる。
これにより、プレーヤーの攻撃力を越える防御力を持ったモンスターに対して攻撃することはできない。そのようなモンスターが画面上にいるときに、「戦闘結果の予測」をした場合は、「攻撃無効」と表示される。Ver2.94以前ではプレイヤーの攻撃が効かない場合は「相手の防御能力が高すぎる!」と表示され攻撃を止めるが、Ver3.00以降では両者の攻撃が効かない場合を除き戦闘が続くため、注意が必要である。
また、上記のパーツを活用し、コマンドバトルを制作するものもいる(機能・特徴は様々である)。
Ver3.10から実装された拡張クラスにより、WWAのプログラムにユーザーの手による独自の仕様を追加できるようになった。
拡張クラスを作成するには、Javaのコンパイラとプログラミングの知識が必要となる。
WWA COLLECTION WWA COLLECTION 2
WWA COLLECTIONは、World Wide Adventureのゲームを収録したNintendo Switch用オムニバスソフトのシリーズ。1作目『WWA COLLECTION』は2018年12月20日に、2作目『WWA COLLECTION 2』は2019年12月19日に、それぞれPLiCyより発売された。
1作目には合計45タイトル、2作目には合計42タイトルを収録している。
Nintendo Switchへの移植にあたり、UIやシステムの最適化、難易度調整、チュートリアル機能の搭載を行っている。また、2作目では中断セーブ・オートセーブ機能や作品別のオンライランキング機能が搭載されている。