創作內容

7 GP

單一路線迷宮產生演算法 & 遊戲設計

作者:阿辰│2020-02-17 22:45:56│巴幣:14│人氣:734
大概前年底,我研究老鼠走迷宮時額外想到了一種自動產生迷宮 (Maze) 的方法~
最近跟朋友講解時,想到用圖像的方式來做說明
但還沒用程式碼去實做就是了XD

接著進入圖片講解 :
(行 = 直的;列 = 橫的)
先把迷宮長寬設為10x10 (矩形迷宮)
首先在第一行的隨機一列放上入口 (黃色)

然後最後一行先保留著~

(在入口、出口以外的行數)
單數行產生最多一格可通行路線 (藍色)
雙數行產生最少一格可通行的路線 (皮膚色)
雙數行、單數行同時都得有一格必與前一行相連
最後一行隨機一列放上出口 (紅色)
一條從入口到出口的路徑在這裡就可以出來了

如果要讓迷宮增加變化或複雜度~
可在入口行、出口行、單數行的任一行增加一些迷宮的死路 (淺灰色)
(在這邊迷宮就算完成了)

(這時候剛好可以把我用來講解的圖片變成關卡及地圖設計)
完成迷宮後~
可以手動增加和減少迷宮的道路,並加上星星 (可以當作是寶箱地點)

設計原理:
第一行的星星是讓玩家初嘗甜頭
第三行的星星可以讓玩家知道多探索可以找到寶箱
第六行的星星則是作為玩家在到達遙遠終點的路上的一種激勵
第七行的兩個星星也算是鼓勵探索吧

(我腦海中浮現出仙劍奇俠傳和軒轅劍系列XD)

感覺還有很多可以發揮的
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4688964
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:遊戲設計|關卡設計|地圖設計

留言共 4 篇留言

KK
https://www.youtube.com/watch?v=qAf9axsyijY
我有看過一個類似的,單一路線隨機迷宮產生法,他有範例可以實做。
有空的話可以看一下,你的點子是另一種思維,都滿有趣的:)

02-19 13:13

阿辰
Cool,謝謝分享! (目前我只看完第一部)
地城房間的產生器,這個還滿棒的
命名方法也簡潔有力XD (ex. L=左邊開洞)02-20 23:13
阿辰
(還有他的Gizmo小技巧也很實用02-20 23:13
~跡~
有個方式是每個格子一開始先有獨立的編號
然後隨機打通不同編號間的牆壁,並把打通的區域編號修改成相同的編號
當最後大家編號都一樣的時候,迷宮就完成了

10-18 10:53

阿辰

牆壁=1
通道=0
的邏輯差不多吧?10-18 13:59
~跡~
稍微有點區別,這篇文章是需要把某些格子當作牆壁
我說的方式是直接用格子中間的線當作牆壁,產生的迷宮也會比較複雜些

例如我之前做的:https://ren1244.github.io/hexmaze/
(最近想整理一下,改成可印出來給小孩子玩)

以做遊戲來說,其實迷宮太複雜也不見得適合,你提到的方式反而滿適合做遊戲的,各有各的用途。

10-19 00:39

阿辰
很棒欸,正宗的演算法!10-19 23:17
阿辰
謝謝你分享作品哩!!
(當然不只是0和1那麼簡單[e18])

這些演算法我得好好找個時間下去好好來K一頓才行~
才能好好跟你做演算法層面的討論(歹勢)

(我當時候老鼠走迷宮至今沒寫完[e28]10-20 00:25
阿辰
迷宮千百種~
以前我專題和同學們設計過同心圓迷宮的遊戲
(現在想想,也許也可以用演算法來生成)10-20 00:29
~跡~
找到一個連結提供參考:
http://maskray.me/blog/2012-11-02-perfect-maze-generation

我用的演算法算是裡面提到的「變形Kruskal算法」
不過又加上步長,所以也混了「Aldous-Broder算法」

10-19 00:50

阿辰
喔喔! 謝謝分享!
我也分享個之前強者我朋友分享給我的stackoverflow(內涵12經典迷宮演算法)https://stackoverflow.com/questions/38502/whats-a-good-algorithm-to-generate-a-maze10-20 00:23
我要留言提醒:您尚未登入,請先登入再留言

7喜歡★bongbonggun 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:電影「恋は舞い降りた」之... 後一篇:遊戲軌跡...

追蹤私訊切換新版閱覽

作品資料夾

vcn58168場外休憩區
政治迫害。看更多我要大聲說昨天23:42


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】