Unity - 簡易亂數迷宮產生2(Randomized Kruskal's algorithm)

  這次亂數迷宮產生,換一個方法來產生,原本以為應該也不會差太多,事實上產生出來的路徑還真的有些許不同,也不能說哪個好或哪個不好,反正就是不同概念產生的東西。



  本次使用的演算法概念是Randomized Kruskal's algorithm(https://en.wikipedia.org/wiki/Maze_generation_algorithm),大概就是只先把所有的牆面紀錄列表,亂數取一個牆,兩兩格子為一組,如果這一組格子是被這個牆面切兩半,並且成為獨立兩個個體,就把這面牆打通。

Unity - 簡易亂數迷宮產生1(Depth-first search)

  這次來玩玩亂數迷宮產生,感覺好像很複雜,事實上如果真要研究下去是可以花不少時間的,不過如果只是單純的產生一張圖或做些簡易的變化,其實只要了解基本的概念後就可以很快地建立一張圖了,後續要做變化就需要再花時間了。


  本次使用的演算法概念是Depth-first search(https://en.wikipedia.org/wiki/Maze_generation_algorithm),也有看到好像叫Growing tree,也就是先亂數從陣列中取一個格子作為起始點,然後從這個起始點開始隨機往四周某一個方向開一個洞到下一格,再從下一格隨機往四周開一個洞過去,一直到四周已經無法開洞或是已經走過的格子就停止,此時倒回上一格在嘗試往另一個方向做同樣的事;雖然講起來有點繁瑣,但也就是一個遞迴的概念了。

忙了一陣子

  稍稍忙了三四個月,一方面是工作上的專案剛好要上架所以做最後的整理跟Debug,另一方面是剛好開始製作子彈編輯器,這是很久以前就有計畫要做的東西,剛好未來要幫朋友做的2D射擊遊戲也可能會用到,抽空的時間多少就花在研究以及設計編輯器上。

  目前專案已經上架,所以空閒時間比較多了,也把子彈編輯器製作接近完成了,目前子彈編輯器的子彈部分完成約7成,發射部分完成約9成多,接著花點時間整合完後就可以開始製作教學跟Demo,雖然只是一個小小的工具,不過做完應該也會嘗試審核上架看看。

  因為開始比較閒一點啦,終於可以再度開始研究發文一些無聊功能了XD,像是無聊看到的亂數迷宮產生,或者是以前研究一半的節奏遊戲相關之類的東西都滿不錯的。