看板 GameDesign 關於我們 聯絡資訊
只用Wave Function Collapse(Constraint Solver?)的問題是,它太限制了。 舉個例子 https://github.com/mxgmn/WaveFunctionCollapse 他自動做的地圖。 https://raw.githubusercontent.com/mxgmn/Blog/master/resources/wfc-summer-1.png
但其實這種只用現成的tiles來拼湊的地圖是很古老的方法。 如tiled map editor https://www.mapeditor.org/ 但是它有layers,有Wang tiles。 但其實我所知道的作法是,我們只用幾種textures(tiles)然後用blending來製作transition. https://www.gamasutra.com/view/feature/3028/tiled_terrain.php?print=1 美術設定或程式設定都可,設些參數就好。可預先做好,也可在遊戲裡產生。 現在有3d gpu,制作先進的texture splatting(blending)超快,超容易。 https://www.gamasutra.com/blogs/AndreyMishkinis/20130716/196339/Advanced_Terrain_Texture_Splatting.php?print=1 所以我們可以設layers的tile(水,沙灘,地,草,路,牆,高地...)設一些條件,然後blend起來。 人工做也很快,要procedure generate也可。 ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.141.214 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1609308535.A.361.html ※ 編輯: oopFoo (36.231.134.39 臺灣), 12/30/2020 14:14:28
dklassic: 我想有個誤會是 WFC 本來就不是要純粹生成出一個獨特 12/30 16:39
dklassic: 地圖 XD 12/30 16:39
dklassic: 由於 WFC 是 Tile-based 所以可以確保在每一個 Tile 12/30 16:39
dklassic: 都是由完全手刻的創意展現出來的 12/30 16:39
dklassic: 就算本質是 ProcGen 也能相對有效控制產生出來的品質 12/30 16:39
dklassic: 不然如你所說單純要做 ProcGen 確實有很多其他手動輸 12/30 16:39
dklassic: 入需求更低的作法,但這就不是 WFC 的目的了 12/30 16:39
oopFoo: 但除了3d tile沒有好的取代方法,用wfc做2d tile意義不大 12/30 17:03
oopFoo: 而且3d地形也很容易用其它方法做變化。 12/30 17:04
oopFoo: 所以我之前才問,有趣但不知可用在那。 12/30 17:04
dklassic: 就只是一種選項而已,根據需求選擇使用的方法 12/30 17:16
dklassic: 相對大的優勢就只有創意的可控性比其他 ProcGen 高而已 12/30 17:16
cjcat2266: 能做出遊戲就是有用,看看Townscaper吧 12/30 23:41
cjcat2266: 看起來也沒什麼受限,重點是看怎麼應用吧 12/30 23:44
oopFoo: 不確定townscaper怎麼玩,但看demo重點不在WFC,如何讓人 12/31 08:01
oopFoo: 建造/破壞建物才是重點吧。 12/31 08:02
oopFoo: 我提出疑問其實是因為我們寫程式的常常被有趣的algorithm 12/31 08:03
oopFoo: 迷惑,但遊戲重點是玩法是企劃整合是一直調整。找最簡單的 12/31 08:04
oopFoo: 方法做最多的變化。在我看來WFC花的精力多收穫少 12/31 08:06
oopFoo: 而且現在proc gen的趨勢是由人來設定調整generation,不是 12/31 08:07
oopFoo: 一次電腦作到好 12/31 08:08
dklassic: WFC 沒有一定要一次全部產生完啊 XD 12/31 15:28
dklassic: 演算法都只是一個參考架構,要怎麼改當然都可以 12/31 15:28
oopFoo: 對,其實並不一定要一次算玩 12/31 18:46