余談

以下は過去に、さまざまな経緯で思いついた機能です。欲しいなとは思いつつ、機能番外編という感じの存在で、作っている機能ではありません。

それぞれは面白そうなニオイはするんですが、汎用機能として入れるには特徴が出過ぎていると思いました。こういうものをカスタマイズできるスクリプトシステムとか、イベントシステムなりが備われば、作ってみたいです。

キャラクタのアイテム封印

エネミー等のキャラクタをアイテムに変換する、もしくはアイテムに封印する機能です。使い道は以下のような感じです。

  • あとで使うと、封じてあったモンスターが仲間になる
  • コレクターズアイテム。ドラゴンのカードやスライムのカードなど
  • 使うと、封じされているモンスターに応じて効果が変わる
  • 仲間を一時的にアイテムにして持ち歩く

細かく検討したことはありませんが、何かをアイテムに封印する行為自体はそんなに難しくないのだと思います。封印したエネミーの名をアイテム名に反映したり、価格や重量に反映する仕様を考えれば、すぐにでもできそうな感じです。

ただ、問題はアイテムに封印したあとの使い道です。上の用途はどれも、アイテム個体とは関係のないところで難しい都合を抱えていそうです。

かなり外道な使い道ですが、最後の用途だけは作るのが簡単そうです。

アイテムの時限変化

時間が経つとアイテムが別のアイテムに変わる機能です。機能としては、アイテムが別の存在に切り替わるというだけのシンプルな内容ですが、使い道はたくさんありそうでした。

  • 食べ物が腐る(アイテムの使い惜しみ防止)
  • 植木鉢から芽が出て、やがて実がなる(重くても辛抱強く持ち歩いた者勝ち)
  • 時間と共に強くなったり弱くなったりする武器(昼の顔、夜の顔)
  • 一時的にゴミに切り替わって、捨てて良いものか分からなくなる意地悪なアイテム
  • 時間が経つと装備者に吸収され、ステートになる

これはわりと良いところまで実装を考えたんですが、Desigeon的には、アイテムの寿命開始時期を厳密に定める取り組みが難しいので未定になっています。これは、床のアイテムや宝箱の中身はいつ作るのが正しいのかという問題です。対策として、店販売アイテムおよびモンスタードロップアイテム専用の機能にするなど、制限付きの機能にする手もあったんですがぱっとしないなあと。

装備アイテムへのステート付与削除

店やコマンドを通じて、装備アイテム側の提供ステートを増減することを考えました。

装備アイテムは現在、装備者にステートを提供することができます。これをあとから付け外しできないかなあと。

ステートは、キャラクタ(PCまたはエネミー)の体に付与する要素ということにしてあります。キャラクタ以外に付与する使い方を始めると説明が難しくなるので、アイテム搭載ステートはアイテム内には存在せず、装備中だけ主人の体内に作っておくというイメージで機能を作ってきました。

もし、ゲーム内の聖職者や鍛冶職人が、武器や防具にステートを封入したり剥がしたりできてしまうと、ステートの役割が曖昧になり、初見の利用者に対する説明が難しくなる恐れがあります。また、ステートの機能を流用すると、アイテム評価額や重量については加工することができず、使い道がかなり限定されます。そうした理由から避けてきました。

今後も、アイテム側のステート着脱は避けようと考えています。アイテムにはアイテム専用の加工方法を考えていきたいなあと思っています。

宿屋と病院の切り離し

宿屋病院などという、曖昧な名が付けられている施設がありますね。

私は以前から、ドラゴンクエスト型の簡易治療施設がないことが気になっていました。その内容は、ゲーム中に、施設を利用するかしないかを二択で決めて、それ以外の使い方をせず、利用した場合は一定の効果が出るというものです。

現在の宿屋病院は、ウィザードリィのカント寺院をモデルにしています。カント寺院をDesigeonのルールに照らして作るなら、ああいう風にするしかないと思いました。ただ、今のものは機能が複雑に感じます。

そこで、宿屋と病院を切り離して、病院は今の宿屋病院を引き継ぎ、宿屋というただ泊まるだけの施設を追加できればなあと思っています。

施設の増設は勇気が要ります。画面をデザインするのが面倒でのう……。

壁を壊す、壁を作る

壁を壊したり作ったりする機能です。できてもいいだろうなと。

でもDesigeonの迷路は一度壊すと、戻すメソッドを用意しない限り一生壊れたままです。つまり壊す一方だと、いつか壊す対象そのものが枯渇してしまうのです。

そこで最生成のファクターを提案する必要が出てきます。壊す機能を作るのは簡単ですが、迷路の最生成を指示する機能は大仕事になります。

壊す方も作る方も、作品としては過去に作ったことがあるので難しくはないのですが、そのときは迷路を自動生成するゲームでしたので問題にはなりませんでした。

売却アイテムを店に残す

店に売ったアイテムを店の商品として残すか、という話です。元ネタはウィザードリィです。

これは機能として考えたというより、機能に存在価値を見いだそうとした感じです。

剣や薬草を店に売って、それを陳列しっぱなしにしておくメリットにはどんなものがあるだろう、と。アイテムコレクションが目的なら、コレクション専用の機能を考えていった方が楽しいんじゃないか、とか。

そんなことを考えていたら、結局、売却品を店に在庫として残し続ける決定的な理由が見つかりませんでした。

ローグライクのElonaというゲームでは、売却したアイテムが店に陳列されますが、時間が経つと消えます。時間が経つと消えるからこそ、陳列する機能を実装した感じがします。Elonaでは実際にプレイヤーの私が買い戻すことはほとんどありませんでした。

時間が経つことで戦闘開始、あるいは定期的にエネミー来襲

持っているアイテムや持っているステートが、時間切れでエネミーパーティに変わり襲って来るというものです。

使い方としては、上で述べたアイテムの時限変化や、現在あるステートの時限変化を利用することになります。

時限変化を利用するため定期的に実行することもできるので、対処をしない限り何度でも主人公を襲うようなこともできるはずです。

この案は、戦闘中に発動した場合の仕様が課題になるのですが、その先を考えていません。