ミッショングラフとは

編集中の記事です。

ミッショングラフはベータ版の機能です。基本的なアルゴリズムはできていますが、パラメータの持ち方はデザイナーの方々のご意見を反映したいと思っています。

このシステムはデザイナーやアーティストの意見を取り入れるためのベータ版です。仕様は予告なく変更する可能性があります。 我々はデザイナーやアーティストの助言を求めています。ぜひディスカッションにご記入ください。


THE ZELDA DUNGEON GENERATORを参考に、鍵を解除しながらゴールへ進むミッションを自動生成するシステムです。 生成された部屋と通路に、システムが鍵付き扉と鍵の配置を記録します。その情報をもとにDungeonRoomSensorDungeonDoorが役割に応じたアクターをスポーンする事でダンジョンの攻略ミッションが実現できます。

ミッショングラフの内部データ

以下のグラフはミッショングラフシステムが生成したミッションの構造です。

矢印が通路です。矢印にLockとついている場合は鍵付き扉を表しています。Unique lockはダンジョン内で唯一の鍵でのみ開くことができる扉です。いわゆるボス扉です。

四角が部屋です。四角形内のItemは部屋に置かれるアイテムです。アイテムはそのまま置いても良いですし、敵を倒すと手に入るようにしても良いです。

graph TB;
    0_18_2["Item:Unique key"]
    15_22_1["Type:Start"]
    9_20_1["Item:Key"]
    27_5_1["Type:Goal"]
    8_26_1["Item:Key"]
    22_24_1["Item:Key"]
    10_13_1["Item:Empty"]
    15_15_1["Item:Empty"]
    15_7_0["Item:Empty"]
    20_0_1["Item:Empty"]

    15_22_1<-->|"Lock"|22_24_1;
    15_22_1<-->8_26_1;
    8_26_1<-->9_20_1;
    9_20_1<-->0_18_2;
    9_20_1<-->|"Lock"|10_13_1;
    10_13_1<-->15_15_1;
    15_15_1<-->15_7_0;
    15_7_0<-->|"Lock"|20_0_1;
    20_0_1<-->|"Unique lock"|27_5_1;

ミッションの実現方法

ミッショングラフはダンジョン生成と同時に作成済みです。 DungeonDoorが必要な錠前を設定して、DungeonRoomSensorが部屋に必要なアクターをスポーンします。

具体的な手順は動画をご覧ください

ドアに錠前を設定する

アクターをスポーンする

DungeonRoomSensor