Re: [程式] Wave Function Collapse 實用技巧

作者: oopFoo (3d)   2020-12-30 14:08:49
只用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 (DK)   2020-12-30 16:39:00
我想有個誤會是 WFC 本來就不是要純粹生成出一個獨特地圖 XD由於 WFC 是 Tile-based 所以可以確保在每一個 Tile都是由完全手刻的創意展現出來的就算本質是 ProcGen 也能相對有效控制產生出來的品質不然如你所說單純要做 ProcGen 確實有很多其他手動輸入需求更低的作法,但這就不是 WFC 的目的了
作者: oopFoo (3d)   2020-12-30 17:03:00
但除了3d tile沒有好的取代方法,用wfc做2d tile意義不大而且3d地形也很容易用其它方法做變化。所以我之前才問,有趣但不知可用在那。
作者: dklassic (DK)   2020-12-30 17:16:00
就只是一種選項而已,根據需求選擇使用的方法相對大的優勢就只有創意的可控性比其他 ProcGen 高而已
作者: cjcat2266 (CJ Cat)   2020-12-30 23:41:00
能做出遊戲就是有用,看看Townscaper吧看起來也沒什麼受限,重點是看怎麼應用吧
作者: oopFoo (3d)   2020-12-31 07:59:00
http://oskarstalberg.com/game/house/index.html不確定townscaper怎麼玩,但看demo重點不在WFC,如何讓人建造/破壞建物才是重點吧。我提出疑問其實是因為我們寫程式的常常被有趣的algorithm迷惑,但遊戲重點是玩法是企劃整合是一直調整。找最簡單的方法做最多的變化。在我看來WFC花的精力多收穫少而且現在proc gen的趨勢是由人來設定調整generation,不是一次電腦作到好
作者: dklassic (DK)   2020-12-31 15:28:00
WFC 沒有一定要一次全部產生完啊 XD演算法都只是一個參考架構,要怎麼改當然都可以
作者: oopFoo (3d)   2020-12-31 18:46:00
對,其實並不一定要一次算玩

Links booklink

Contact Us: admin [ a t ] ucptt.com