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