2020年9月1日火曜日

中間の町

 町は、サンプルゲームのものをそのまま使おうと思っていた。

人物が多すぎると情報収集が大変になるし、

生活しているリアリティを出すためにセリフを用意する必要は

このゲームには必要ないからだ。


ダンジョン探索系のRPGで見られるような、

拠点はひとつだがダンジョンの探索進度によって

ショップの品揃えが変わったりセリフが変わったりという形も考えたが、

いちいちフラグで管理するよりもマップを用意したほうが

簡単そうだったので、新しいマップを作った。


中間の町は、当初は役割の町という名前だった。

文字どおり、人形の役割を変えることができる施設があるからだが、

うらの町との整合性をとるために中間の町という名前になった。


始まりの町との行き来を簡単にしたのは、その方が効率的だからだ。

行き来をする必要はけっこう出てくる。

マップ移動あるいはシンボルを調べる以外の方法で行き来をさせようとすると

ルーラが欲しいところだが、まだスマホの実装が決まっていなかったので

簡単に行き来できるようにした。


像を壊していればダンジョンを通り抜けるのもそれほど時間はかからないが、

中間の町から始まりの町に移動するのに30秒かかるとすると、

往復で1分かかることになる。

こういう単純な移動は無駄と言える。

この移動はゲームではなく、ただの無駄な時間だ。

こういう無駄な時間の積み重ねはストレスを生む。

余計なストレスを生まないために行き来は簡単にしたのである。


2020年8月31日月曜日

コンテストおつかれさまでした

 コンテストの結果が届きました。

総合順位は68位ということで、だいぶ下の方ですが、

想像以上に多くの方にプレイしていただけたようで、

また、好意的な評価も頂けて嬉しいです。


プレイしてくださった方、投票してくださった方、

それからコンテストの運営に携わった方、

本当にありがとうございました。


ゲームを作り始めて一ヶ月くらい過ぎた頃、

コンテストが翌月に開かれることを知って、

それからは出品することを目標に作成を進めました。

完成度はともかく、自分が作ったゲームを世に出せたことを幸せに思います。


子供の頃の、ゲームを作る人になるという夢が叶いました。


ありがとう、ウディコン!

ダンジョン

 



ダンジョンが10Fまでというのは、ウィザードリィのリスペクトである。

それくらいが作るのに限界ということもあった。

3フロアが同じ構造で一つのフロアも小さいのに限界とはと思うかもしれないが、

俺にはマップ作りのセンスがないので大変なのである。

マップ自動生成機能には大変お世話になった。


ダンジョンの広さも、サンプルゲームくらいのものが

ちょうどいいんじゃないかと考えた。

基本的にはボスとシンボルモンスターを配置できればいいだけだし、

余計な謎解きみたいなものは設置するつもりもなかった。


それでも、少しずつ各フロアに配置するキャラクターを変えることで

飽きないように努力はしたつもりだ。


そもそもコンテストに出品することにした時点で、

全体のボリュームは3時間以内にしようと決めたので、

各フロアの構造をあれ以上複雑にしても中身がスカスカになっただろうと思う。

構造を複雑にすることがゲーム性を高めることにつながるのか、

それともただ単に冗長にするだけなのか、

それはゲームのコンセプトによるだろう。

『DolL』はコンセプトからしても、ダンジョンが単純でよかったので、

ギリギリコンテストに間に合ったという面もあった。


実際、7Fから9Fは慌てて作ったこともあって雑な印象がある。

冷静に振り返ってみれば、10フロアも必要なかったかなとも思っている。

でもそうすると町と町の間隔が短すぎる気もするし、

プレイするのにはちょうどよかったかもしれない。

もし今度作品を作るとしたら、もっとマップの構造が簡単で済むようにしたい。


2020年8月29日土曜日

アイスソード


 

これは有名なあのゲームのオマージュである。


ロマサガというゲームには、大きな影響を受けた。

それは主に、フリーシナリオRPGという分野を教えてくれたという点においてである。


ロマサガの発売前から、俺はゲーム雑誌に掲載される内容に胸を踊らせていた。

それまでのRPGは、順番にイベントをクリアしていくことで

ラスボスに近づいていくというものがほとんどだった。

主人公を選ぶことができたとしても、ストーリーは同じというのが常識だった。

それが、ロマサガというゲームは主人公によって序盤が全く違うのだという。

その情報だけで、俺はこのソフトを絶対に買うと決めていた。


実際プレイしてみて、期待以上の部分と期待外れの部分があったが、

中でも記憶に残る場面というのはアイスソード入手イベントだ。

ロマサガのストーリーは知らなくても、このイベントは知っているという人も多いと思う。

コンテストに出品するに際し、この直接的すぎるオマージュは

控えるべきかとも考えたが、このイベントを入れることで

作者のゲーム遍歴や人となりが少しでもわかるかと思って残すことにした。


『DolL』のゲームとしては、

復活の薬2個と交換というのは厳しいと思った人もいるかもしれないが、

やはりアイスソードなのでぜひとも「殺してでも奪い取る」を選んでほしいと

いうことで、ほかの選択肢を選ぶ動機づけを低くしてみた。


ちなみに、アイスソードのアイテム説明欄は、最初は

「伝説の戦士がらはどが~」という表記にしていたが、そこは公開直前に修正した。

オマージュをするときは余計なことを考える必要があるので、

あんまりやらないようにしようと心に決めたイベントである。

2020年8月28日金曜日

無敵の主人公よりしろ


 


『DolL』の主人公はよりしろである。

彼はプレイヤーの分身である。だから俺にとっては彼である。

プレイヤーが女性ならば彼女だろうし、男性でも女性でもないなら彼でも彼女でもない。

そういう理由で彼は自分のことをボクと呼ぶ。

私という一人称にしようかとも考えたが、もっとフランクなボクに落ち着いた。

とは言え、このあたりはノリで決めた部分である。

この項で書きたい内容はもっとシステム的なことである。


AI戦闘を完成させるために、マニュアル操作をする主人公が必要だという話は既にした。

ここでは、なぜその主人公が無敵になったかということについて書く。


昔から、無敵の主人公というのは存在する。

とは言っても、そのほとんどは設定上無敵というだけで、

ゲームの中では無敵ではない。

主人公が完全に無敵というゲームは、俺は寡聞にして知らない。

なろう系の小説にはそういうものもあるかもしれないが、

ゲームにした時に無敵ではゲームとして成り立たない。


だがよりしろは完全に無敵である。

彼がやられる可能性があるのは、裏ボスの即死攻撃だけであり、

HPが減るという状況は存在しない(おそらく)。

なぜ無敵の主人公が存在しうるのか?

いかにして彼は生まれたのか?


彼が無敵になった最大の理由は、アストロンを作れなかったからである。

アストロンとは、ドラクエシリーズに出てくる呪文で、

唱えると味方全体が数ターン無敵になるかわりに一切の行動が出来なくなる。


『DolL』の完成版では、フロアボスはそれほど複雑な行動パターンをもたないが、

当初はもっと複雑にするつもりだった。

例えば、最初の2ターンは全力で攻撃してきて、次の2ターンは休む、というように。

それは初見ではわからない。

無策で挑んだら確実に全滅する。

それくらいの強敵にすることを考えていた。

結局それはコンテスト向きの仕様ではないと考えたので最終的には採用しなかったが、

そういうゲームにするならアストロンは必須だと俺は考える。

最近は死にゲーというジャンルのアクションRPGもあるが、

あれにもアストロンが欲しい。

敵の行動を見たいのに、攻撃を避けるのに必死になってしまう。

死にゲーが好きという人はそれでいいのかもしれないが、

俺はゲームでストレスを溜めたくない。

だからボスの行動パターンをじっくり観察するためにアストロンが必要だと考えた。


しかし、ここでも技術力のなさが立ちはだかった。

どうすればアストロンの効果を実装できるのかがわからない。

5分ほど悩んだ後、こう思った。

「なら初めから無敵にすればいいのでは」

こうしてよりしろは無敵になった。


ボスの行動を単純にしたので、無敵であることは

システム的には必須ではなかったかもしれない。

だが物語的には意味を持つこととなった。

プレイヤーの分身として、絶対にダメージを受けない。

画面の向こうのプレイヤーがダメージを受けないように。

意図したことではなかったが、『DolL』が伝えるべきメッセージを持つ結果となった。


俺は、ゲームの主人公はプレイヤーだと思っている。

プレイヤーが操作するキャラクターは、ロトの末裔でも天空の勇者でも、

クラウドでもスコールでも、スネークでもアーロイでも桐生一馬でもいいが、

ゲームの主人公はプレイヤーでなければならないと考えている。

そうでないなら、ゲームとして存在する必要はない。

映画や小説や、漫画やアニメで表現すればいい。

他のメディアにはない、ゲームの独自性が、プレイヤーが主人公になるということだ。


そうは言っても、ゲームのキャラクターがやられた時に

プレイヤーがやられるわけにはいかない。

昔、世にも奇妙な物語でゲームのキャラクターがやられると

現実世界の人間が消えるという話があったが、

ゲーム大好き少年にとってあの話は恐ろしかった。

話が逸れたが、ゲームの主人公がプレイヤーであることは

それがゲームであることの前提条件だと思う。


もしそれが、主人公とされるキャラクターが勝手に動くのを眺めているだけのものなら、

それは断じてゲームではない。

クソゲーですらない。ゲー無ですらない。

ゲームの仮面を被った、別の何かである。


この、主人公がプレイヤーであるというのは感覚の話だ。

どうすれば主人公がプレイヤーになるかということに、明確な答えはない。

強いて言えば、感情移入しやすく、そのキャラクターを

自分が操作しているという実感があることだろうか。


何度も言うが、よりしろは無敵である。

どんなに仲間たちがピンチになっても、彼自身はピンチにならない。

そういう意味で、彼はプレイヤーと同じである。

戦闘中に最初からできることは、ただみることだけ。

まさにプレイヤーと同じである。


これは別の項目で書くが、キャラクターメイキングをあきらめた結果、

パーティーは実質5人になった。

その際のバランスとしても、攻撃はできないがアイテムを使える

無敵キャラというのはちょうど良かったように思う。


無敵の主人公よりしろが生まれたのは偶然だったが、

今となってはそれも必然だったのかなと考えている。


最後にであるが、俺はこの主人公が大好きだ。

このキャラクターを生み出せて、世に出せたことを幸せだと思っている。


2020年8月27日木曜日

戦闘のAI

 



戦闘をAIにするというのは初めから決めていた。

理由は、コマンド入力が面倒だからである。

ひたすら戦闘を繰り返す作業ゲーに、単純なボタン連打にしかならない

コマンド入力が必要だろうか。

俺は必要ないと思う。


これがもし、一回の戦闘の比重が大きいゲームなら、

つまりシナリオ全体で決められた回数しか戦闘が起きず、

敵もバリエーションに富んだものであるなら、

毎回の戦闘におけるコマンド入力には意味があるだろう。

だが同じ相手との戦闘を何度もするゲームにおいては、

毎回のコマンド入力は必要ないどころか邪魔ですらある。


最近の多くのRPGはこの問題を解決するために、

大抵自動戦闘機能が付いている。

それはAI戦闘であったり、通常攻撃をするだけだったりするが、

こういった機能がなく毎回コマンド入力をさせるゲームは、

それだけでプレイする気を俺はなくしてしまう。


だから『DolL』は、自動戦闘である。

作成初期においては、人形の設定はなく、

サンプルデータのヒーローさんとかファイターさんを戦わせて遊んでいた。

プレイヤーキャラクターを含め、全てのキャラクターを人形にした経緯は

別稿に譲ることとしたいが、その当時から自動戦闘にはこだわっていた。


自動戦闘にこだわるということはどういうことか。

それは、通常攻撃を繰り返すだけで戦闘に勝利できるようにするということである。

AIとマニュアルを切り替えられるならそれほど注意しなくていいが、

AIしかないのに通常攻撃では倒せない敵を出してはいけない。

それはプレイヤーのストレスを溜めるだけである。


例えば『DolL』には、ダンジョン3Fに冷気属性攻撃に弱いボスが登場する。

この時に、マニュアル戦闘であれば、魔法のアイスエッジを使わせればいい。

そういうヒントを用意すればいいし、ノーヒントでもアリかもしれない。

しかしAIはそう都合よく魔法を使うようにはできない。

いや、もちろんそういう行動をとるように設定することは不可能ではないが、

そのための労力は結果に見合うものではない。

だからそのボス戦の前に、冷気属性攻撃をできる武器を入手できるようにした。

武器に属性がついていれば、通常攻撃で弱点がつけるからだ。


このように、戦闘がAIかマニュアルかによって、

ゲームデザインに大きな違いが生まれる。

その影響は決して小さなものではない。

戦闘をAIにするのかマニュアルにするのか、

それはゲームのコンセプトを考えた上で、慎重にかつ早期に決めるべきことである。


『DolL』は、戦闘がAIであることが作品全体のストーリー(薄っぺらいが)の

重要な要素になった。

これは当初の想定には全くなかったが、結果的にはうまくまとまったと考えている。


AI戦闘にはもう一つ考えなければならないことがある。

それは、主人公をマニュアルにするかどうかである。

仲間はAIでも主人公はマニュアルというゲームは多い。

その方が主人公への感情移入が進むからだ。


ドラクエの主人公が、プレイヤーの感情移入をスムーズにするために

ほとんど喋らないというのは有名な話だ。

俺の大好きなヘラクレスの栄光3の主人公も、無口で記憶喪失である。

こうすると、主人公はまさにプレイヤーの分身としてその世界に存在できる。

プレイヤーの知らないことを突然喋ることはないし、

プレイヤーの思惑とは別の行動をとることもない。


戦闘におけるマニュアル操作も同じである。

いくら面倒だからといって、戦闘が完全に自動であるとすると、

それはそれでプレイヤーは置いてきぼりな印象を受ける。

スマホゲーでは放置ゲーが一つのジャンルを形成しているが、

あのキャラクターには感情移入しにくいのではないだろうか。


そもそもウディタの基本システムを使う以上、

完全に自動戦闘にするのは問題がある。

どういうことかというと、どーるの闘技場をプレイすればわかるように、

プレイヤーキャラクターが全員AIだと、戦闘を途中で終わらせることができない。

つまり、逃げることができない。

そういう仕様のゲームもあるが、それはそれで面倒だと思う。


毎ターン、戦うか逃げるかを選択するには、

誰か一人をマニュアル操作できるようにしなければならない。

だがそうすると、なぜそのキャラクターだけマニュアル操作なのかという

設定を作らなければならない。

なぜそのキャラクターが主人公なのか?

これはゲームに限らず、創作をする際に絶対に立てるべき問いだ。

最終的に何かを成した為に主人公に選ばれたのか、

それとも最初からそのキャラクターなしでは物語が始まらなかったのか。


最初期のAI戦闘RPGとして有名なドラクエ4は、

その答えとして伝説の勇者という存在を用意した。

プレイヤーが操作するのは伝説の勇者であり、

それは他の仲間たちとは一線を画すものである。

この設定はとてもよくできている。

なぜ主人公だけはAI戦闘でないのか。

非常に説得力があるし、物語としても

彼又は彼女が主人公でなければそこにある。


『DolL』の主人公は、よりしろである。

彼は他の人形とは明らかに異質な存在である。

彼だけがプレイヤーの分身であり、

他の人形たちはプレイヤーの分身ではない。

システム的には、彼だけがマニュアル操作を必要とする。


彼は、何かを成したから主人公に選ばれたのではない。

最初からプレイヤーの分身となるべく存在するのである。

プレイヤーがいなければ、よりしろは存在しない。存在する必要がない。

これはゲーム性の話ではなく、物語の話である。


システム上、主人公が必要になる理由は以上である。

無敵の主人公よりしろはシステム的にはこうして誕生した。

彼なしではAI戦闘は成立しない。

逆にマニュアル操作である彼が存在することで、

AI戦闘はシステムだけでなく物語としても意味を持つこととなった。

よりしろが無敵になった理由はこれとは別のものだが、

それについては別の項目で書くことにする。



2020年8月26日水曜日

エンカウントの方法



『DolL』には、ランダムエンカウントとシンボルエンカウントの

二種類のエンカウント方法がある。


 当初想定していたのは、ドラクエのくちぶえのように、

スキルを使ってエンカウントする方法だ。

ダンジョンのどのフロアにいるかで登場する敵を変える。


さっそくコモンイベントをダウンロードして導入しようとしてみたが、

コードを眺めていてもどういう仕組みになっているか理解できない。

この記事を書いている今なら、それほど難しく考えなくても

スキルを使ってエンカウントするやり方は作れそうだが、

エンカウントの方法は初期の段階で作ったので、

当時の俺の技術力では断念せざるを得なかった。


こうした、技術力がないから別のイベント方式にするという方向転換は

この後にもたくさん出てくる。

大事だと思うのは、当初の想定に固執するのではなく、

その時に自分が書けそうなコードを書くということだ。

なんとか理想を実現しようとするのではなく、実現できそうな理想を描く。

このある意味でのいい加減さがなければ、作成は途中で頓挫していただろう。


ランダムエンカウントはサンプルゲームでも使われているし、

コモンも用意されているので、これを使うのは問題ない。

だがゲームのコンセプトである、ボーッとしながら戦闘を繰り返す、

を実現するのに、ランダムエンカウントでは苦痛である。

FCのドラクエをプレイしたことがあればわかると思うが、

レベルを上げるためにウロウロするのは面倒くさい。

俺は作業ゲーがしたいのであって、作業がしたいわけではない。

ゲームなのだから、効率化できる部分はひたすら効率化を追求すべきだ。

ウロウロするという行為は非効率である。


くちぶえが作れないなら、ということで思い出した。

そうだ、マーフィーズゴーストがあるじゃないか。

知らない人のために説明しておくと、マーフィーズゴーストとは

ウィザードリィシリーズに出てくる序盤の稼ぎモンスターだ。

ダンジョンの特定の部屋に入ると必ずエンカウントする。


つまり、話しかけると戦闘になるキャラクターを作ればいい。

それなら全然難しくない。

そこで困ったのが、敵を一種類しか出せないことだ。

本当はくちぶえのように、いろんな敵を出したかった。

当時は変数をランダムにする方法を知らなかったので、

ランダムエンカウントのコモンのようにデフォルトで三種類の敵を設定できる

みたいにしてくれないと敵が一種類しか出せないと思っていた。


一つのキャラクターに対して一種類の敵しか出せないのなら、

キャラクターを増やすしかない。

そうして生まれたのが、始まりの町にいる三体のシンボルモンスターだ。

市松模様の床でエンカウントする三種類のモンスターを、

それぞれ登場させるようにした。


このやり方は我ながらよかったと思う。

いちいちメニューを開いてスキルを使わなくていいし、

自分が欲しいアイテムを落とすモンスターを狙って狩ることができる。

結局かなり早期に作ったこの仕組みは、

ほとんど手を加えずに完成版でも使われることになった。

中間の町

 町は、サンプルゲームのものをそのまま使おうと思っていた。 人物が多すぎると情報収集が大変になるし、 生活しているリアリティを出すためにセリフを用意する必要は このゲームには必要ないからだ。 ダンジョン探索系のRPGで見られるような、 拠点はひとつだがダンジョンの探索進度によって...