我之前看到了 Tidewright 的帖子,它是一款 sandcastle sim,仅有一文件,且无依赖和资产。这个约束让我留下了深刻的印象,所以我也根据同样的规则创建了自己的作品。
Castellan 是一款城堡建造工具。生成一个山谷,手工使用雕刻刷子切割它,放置城墙和塔楼和小屋和田地。然后点击运行,一天就过去了。人口并没有被编写脚本,它是由你建造的东西派生的:小屋里住着两个人,田地产生农民,教堂产生僧侣,塔楼放置守卫在城墙上。他们遵循典礼时间表,在Prime时外出,在Sext时在水井处,在Vespers后在酒馆喝酒,在Compline时回到室内。
还有一个围城模式。吹响集结号时,所有人都跑向围墙,而门闸落下,然后一波攻击者来到了路上。城墙和门闸都有血量。我的最喜欢的部分是:当城墙倒塌时,导航网格会重新构建没有它,所有攻击者的目标都会无效化,而破口变成了一条路他们可以通过。没有任何代码会特殊处理破口。它只是来自路径寻找和损伤系统的交集。
我还喜欢以下部分:
- 每个纹理都在启动时绘制到一个画布上(粗糙的石灰,茅草,瓦片)高度被打包到alpha通道中,然后在世界空间中三维投影。一个砖块的石灰建筑在同一比例上呈现在塔楼,城墙和二十米高的堡垒上,没有任何UV的授权。
- 天空是一个也照亮场景的着色器,渲染到一个PMREM环境贴图上,定时器触发。
- 整个森林由七个绘制调用组成。约2600棵树,所有都是实例化的。
- 音乐是合成的:一个袋pipes drone,一个Karplus-Strong psaltery,一个 recorder 和一个 tabor,播放生成的短句子,交替使用开口和关闭的 cadences。
- 每个领地都有一个过去,生成自一个你给它的名字的散列。我的结果是“在1290年由 Roheis the Otter 建立,为了嘲笑一个堂兄,他在对岸建造了第一座,且更糟糕。””
去玩它:https://otakuch.github.io/castellan/ 源码:https://github.com/otakuch/castellan
评论 (0)