[閒聊] 隨機迷宮的概念
聽說最早被公開提出是在 1997 年的 mud workgroup 大會上。
之後有 mud (我只知道 doom 有) 依「隨機迷宮」四個字的字面
意義各自解讀然後將其實體化。
========================================================
隨機迷宮個人認為需符合兩個精神..
一、它基本上是一個迷宮,也就是走一走會遇到死路、以及有許
多的分叉路,但不管如何都要存在至少一個出口,或一個可
脫離的方式。
二、它存在著可變性。可能是周期的變動,或者是人為的觸變動
等(例如踩到某機關造成迷宮變動),使得每次要脫離迷宮的
路線會隨著迷宮的變動而改變。
因此假若有「迷宮產生器」這樣的物件時,依我目前的能力,只
要給它迷宮的 size 則理論上我可以讓它自己產生迷宮,但是產
生出來的迷宮是「固定」的。要賦予它變動性才符合隨機迷宮的
基本精神。
========================================================
不過隨機迷宮就目前實務上來說其實是簡單的東西,我舉例..
001-002-003-004-005
| | | | |
006-007-008-009-010
| | | | |
011-012-013-014-015
| | | | |
016-017-018-019-020
上面 20 個房間「經過一個程序」把部份的出口截斷之後就會變
成底下的形式...
001-002-003 004-005
| | | |
006 007-008-009-010
| | |
011-012-013 014-015
| | | |
016-017 018-019 020
則假若 001 是入口,020 是出口,則要從 001 走到 020 方式
就會受限。然後「下一次」要再走時上面被截斷的地方又會變
動,這時就符合了隨機迷宮的定義。
這個東西好不好做呢?
「如果是我的話」,我大概有三種做法,我會固定的部份就是
房間的總數,會變動的部份就是...
一、每個房間出口的可能變動
二、迷宮的出口位置
在撰寫主函數的過程中可能得用到遞迴(原則上我很不想用遞迴)
跟一些需簡化的判斷。
========================================================
打到這裡,這東西其實不難寫,而且可以當做任務區域,怪物
也可以很單純(大概三種怪物就搞定了)。
最近線上有聊到四魂之玉,或許可以當做 NPC 版的四魂之玉合
成任務。在後聖殿時期其實隨機迷宮還需要加一個定義..
三、如何有效防堵機器人輕易破解迷宮
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.163.92
推
09/17 18:54, , 1F
09/17 18:54, 1F
→
09/17 18:56, , 2F
09/17 18:56, 2F
推
09/19 00:57, , 3F
09/19 00:57, 3F
→
09/19 04:12, , 4F
09/19 04:12, 4F
→
09/19 08:32, , 5F
09/19 08:32, 5F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
18
25
4
12
10
12
-17
30
29
36