Twilight of The Godsトップへ


フリートーク > 2002年7月21日バックナンバー

オンライン小説版ゲームを作ろう

 小説……全然更新されてないからそろそろ見限ろうかな……。
 なーんて思っているそこのあなた! エラいすんまへん。ホント申し訳ないです。改稿を抜かせば、一ヶ月以上本当に小説の更新をしていませんね。
 7月はけっこうバタバタしておりまして、ホント申し訳ないっす。実はダウンロード版の第二章に、手違いで16話の冒頭が混ざっているってのはナイショの話だったのですが、次はサーシェスサイド、しかもそろそろロクランからエルメネス大陸の外の話が出てきますので、よかったらそちらを読みながらしばしお待ちください。テンパってたってのもあったんだけど、ラクガキでエルメネス大陸のマップを書いてみたら、「あれ? なんだか位置関係おかしくないか?」ってのに気付いて修正中(笑)。さすが、なにも考えずに書いている一発野郎です。いったん死んできます。

 そのくせ、なんだか某穂高さんと某桂木さんところの(伏せ字じゃねーよ)SLG話で盛り上がってしまい、すげー楽しい。
 「ときメモGS」をプレイした影響ってほどでもないのですが、実は前にフリートークで書いたようにFlashにハマりだして、オンライン小説版のゲームとかが作れるようになったら楽しいなと思っていたところだったのですよ。取り急ぎ自分のところの作品で、格闘ゲームか恋愛SLG系(やっぱそっちかYO!!)。
 以前「資料室」にあるとおり、「神々の黄昏」版RPGを本気で開発していたことがありました。ざっといまから6年くらい前か(笑)。ちょうどまだMacintoshに「ハイパーカード」という簡易オーサリングソフトが標準で付属していたころです。
 ハイパーカードは白黒ではありますが、データベースやゲームなど、かなり高機能なオーサリングが、英語に似た(いまで言えばJavaScriptに似ている)ハイパートークというスクリプトを記述することで可能になるっつーおいしいソフトでした。個人的にもハイパーカードで作られたゲームやらデータベースやらを使っていたので、ハイパートークの勉強にと思って、自分でゲームを試しに作ってみようと思ったのがきっかけです。当時はハイパーカードで作られた高機能なゲーム、本当によくできたRPGがたくさんあったのですよ。もうハイパーカード自体、Macintoshに付属していませんし、開発中止なんですけどね。残念だ。
 これを開発中、「けっこうゲーム制作ってコツさえ掴めば簡単なんだな」と思ったですよ。スクリプトの記述方法さえ覚えれば(もちろん、ひとつの動作に対する記述方法ってのは、日本語と同じように表現方法がたくさんあるわけですけど)、あとは動作に割り当てる処理をどうするか、といった部分を考えればいいわけです。具体的に言うと、行動を数値に変換して制御する部分ですね。
 例えば主人公がお金を所持しています。最初に500ゴールド持っていることにすると、画面には見えないように隠されたお金の数値を入れておくフィールド(仮にokaneというフィールド名だとします)に500という数値を代入しておきます。宿屋に行って一晩泊まる選択をすると、一晩10ゴールドの宿代を払うことになります。その選択をしたときには、okaneフィールドの500から10を引き、その値を代入して保持するようにします。買い物も同じ。また、okaneフィールドに入っている数値が購入しようとしている金額よりも下であれば、行動を実行させないように制御しておきます。
 RPGですから、今度はヒットポイントとマジックパワー、経験値を代入する隠しフィールドを作っておきます。ヒットポイントに代入した数値が0になればゲームオーバー、マジックパワーが0になれば(あるいは実行しようとした魔法の必要マジックパワーよりも下であれば)実行不可能に制御、経験値に関しては、対戦するモンスターのほうに経験値をあらかじめ割り振っておき、それを倒したときには経験値のフィールドに所定の経験値が代入され、保持されるようにする。モンスターとのエンカウントは、移動している間に乱数を発生させておき、0が出たらこのモンスター、1が出たら何もしないってな具合に設定しておけばいいわけです。要するに、ゲームのコツってのは、数値の保持とif構文(もし〜なら○○を実行せよ、そうでなければ<=else>○○を実行せよ)ってのでたいがい作れちゃうもんなんですね。

 ところが、ハイパーカードってのはMacintoshでしか実行できないので、これをWebで広く公開するとなると最大のシェアを持つWindowsユーザーの方々に申し訳がたちません。そうなると、誰でも実行可能な形にするために、FlashかShockwaveかJavaかって感じになってしまうんですけど、Flashのアクションスクリプトでこれをどうやればいいのかイマイチわからんし、DirectorのLingoなんてとうに忘れちゃったし(それ以前にすげーめんどい)、Javaは実行環境と開発環境は持っているけど、テキストエディタしか作れないし(笑)。自分で一から作るってのはかなり至難の業です。
 んで、あちこちいろいろ回って探したら、けっこうあるんですよね。ノベルゲームの開発環境とか、格闘ゲームの開発環境って。
 どちらもほとんどがWindowsでの開発環境で、Windowsでの動作を対象としているものが多いのですが、Javaを使ってWebページ内で実行させるものがあったりして、けっこうおもろい(もちろん開発はWindowsなんですが、それくらいWindowsでやりますよ(^ ^;;)。ちょっといろいろいじってみようかなと思いました。
 穂高さん、桂木さん、実行不可能な企画じゃないっすよ!(笑)

 で、あっしは恋愛SLGもいいんだけど実は格闘ゲームのほうが作りたかったりして。うちのキャラを落としても、色気のないヤツばっかりだし、全員が武闘派なもんで(笑)。前にフリートークでも書いたんですけど、セテ VS. レオンハルトとかサーシェス VS. フライスなんつー夢の対戦が実現するじゃないっすか(大爆笑)<自分萌え
 穂高さんちの掲示板でも騒いできちゃったんですけど、いま考えている仕様(笑)はこんな↓感じ。

1.登場するキャラ……セテ、サーシェス、フライス、アトラス、ピアージュ、レイザーク、ガートルード(なぜ!?)
2.特殊キャラ……レオンハルトは隠しキャラ(笑)。ついでに救世主もサーシェスのコンパチキャラとして登場予定(笑)←穂高さんリクエストで、救世主はサーシェスのダメージが大きくなった時点で、チェンジモードに入るってのもありか(つーか、これはネタバレのはずでわ(^ ^;;)
3.リミットゲージの採用……FF7のようなリミットゲージを採用して、リミットが満タンになった時点で必殺技発動可能(大爆笑)
4.セテの必殺技……FF7のクラウドのリミット技「超究武神覇斬」みたいな連続斬りとかどーかな。スコールの「エンドオブハート」みたいなのでもアリか<バカ
5.サーシェスの必殺技……無属性防御率無視の術法攻撃。なんか反則技っぽいけど、これがチェンジモードになると暗黒属性防御率無視になってダメージは通常の1.5倍。ますます反則だ。そのかわり、リミットゲージがたまりにくい。
6.フライスの必殺技……水属性最上級術法攻撃。相手を氷結させて一定時間コマンド実行不能に。その間、攻撃しまくり(笑)
7.アトラスの必殺技……火属性最上級術法を剣に乗せて複数回斬りつける。剣のダメージと術法のダメージ両方を効率よく与えられる反則技
8.ピアージュの必殺技……アサシン・ブレードで複数回斬りつける。ランダムで即死効果発動。
9.レイザークの必殺技……気合い一発、ゴリ押しの気をデュランダルに乗せて滅多斬り。その後、一定時間無敵状態で相手からのダメージは0に。
10.ガートルードの必殺技……暗黒の火属性最上級術法防御率無視。ランダムで追加効果の即死が発動。かなり反則。その後一定時間炎の結界で相手からのダメージが半減。
11.レオンハルトの必殺技……聖属性最上級術法攻撃(この時点で相手の防御力は0に)&エクスカリバーで滅多斬り。追加効果で相手を気絶状態に。その間攻撃しまくり。

 やべー穂高さん、楽しい、楽しいよぉ〜(ToT)
 魔導師系の呪文詠唱とか考えるのも楽しいし、剣士系の必殺技とか決めぜりふなんてのも考えるだけでブルブルガクガク<バカ。自キャラだけでなく、広くオンライン小説から「こいつは格闘系」ってやつを拾ってきて、どんどんキャラを追加して対戦させればすげーおもろいと思うんだけど。だめ?<あんた飽きっぽいんだからどうせ開発途中で挫折する