我正在制作 [Salt and Soil](https://store.steampowered.com/app/4551060/?utm_source=reddit&utm_medium=organic&utm_campaign=nf26_reddit_organic&utm_content=r_indiedev_map_evolution),一款关于美国边疆上一支家族的回合制策略游戏。该战役时间跨度为 1607 年至 1900 年,每回合一年。此视频展示了 11 个月的地图制作过程,从当前版本开始,然后回到最初的拉伸图像。
渲染器使用 LÖVE 11.5/LuaJIT 和 GLSL。Python 工具用于准备真实的海拔和河流数据。实现中有几个我认为其他开发者可能会感兴趣的部分。
地形位于等距视图后面的高度场。高度、材质和气候存储在纹理中,由 GPU 上的实例化网格补片读取。地形和精灵共享深度缓冲区,因此景观可以遮挡经过的车辆。
移动中的船只、火车和卡车最初是由简单原始体组装的 3D 模型。Lua 软件光线投射器在游戏过程中将它们渲染为十六种像素艺术方向,然后将结果缓存到纹理页(atlas)中。协程任务将这些工作跨帧分布,预算约为 1 毫秒。
对于移动精灵,深度被打包到红色和绿色顶点颜色通道中,并在着色器中解码。它们在保持对景观的深度测试的同时,使用每个纹理页的一个 SpriteBatch 绘制调用。
地图需要同时支持缩放两端的情况:一个可以横跨大陆进行规划的区域,以及人们在其中移动的景观。开场飞行展示了这种范围。Steam 页面上提供免费演示,我乐意讨论渲染器或精灵烘焙。
评论 (0)