开发日志#4:地理
2022年3月12日14:07
大家好,欢迎来到Grey Eminence的第四篇开发日志!
在这篇日志中,我们将走近Grey Eminence游戏世界的基础:地理系统。具体而言,这篇日志将阐述陆地地块的详细机制,地块之间的差异如何体现,以及地块排布与其他游戏系统的交互。我们也会在这篇日志里简单介绍一些相关的系统,例如天气系统与河流系统。先给在座的海军爱好者们说声抱歉,另一篇日志将会详细介绍海洋地块,以及与之相关的海事机制。
首先,我们来看看陆地地块的一些基础属性,以及这些属性如何交互。陆地地块有四种基础属性:地形、气候、地块面积和森林覆盖面积。
地形
我们先来了解地块的地形。地形代表了地块的地理形态,同时描述其水文和海拔特征。稍后我们会向你展示后两者的重要性。
根据实际地理特征,我们设计了一套简洁的地形模型,其中共有七种地形。
在游戏中,最为常见的地形是平原、丘陵和山脉。这些地形体现了地块的平坦程度,同时也会带来一些预料之中的效果。举例而言,穿越平原地形较为省时省力,但它也不利于防守(而山脉则与之相反)。
山峰和高原是与山脉相关的两种地形,它们会出现在山脉的附近。山峰是极为陡峭,无法穿越的山坡,是一种无法通行的地形。高原和平原有一定的相似之处,我们会在之后介绍它们之间的区别。
漫滩是一种只会出现在河流旁的特殊地形。这些地块会有更高的农业产出,在灌溉的加持下尤为如此。
湿地也是一种特殊地形,代表各种沼泽和泥潭。虽然在湿地上移动十分困难,但在排水之后,湿地就会转化为普通的平原。
匈牙利西北的丘陵地形道阻艰险,亦非沃土,但十分利于防守。这里的数字和界面并非成品。
气候
陆地地块的第二项属性便是气候。它代表了地块的季节性降水和气温条件,而这与农业和天气密切相关。我们选用的模型是柯本气候分类法的一种简化版本,如果你是一位气候学家,那你对它肯定是再熟悉不过了。
Grey Eminence中的气候与柯本法一致,共分为五个大类:热带气候、干旱气候、温带气候、冷温带(大陆)气候和极地气候。
热带气候被细分为雨林气候和稀树草原气候。这些气候带的每月平均气温在18摄氏度以上,这也意味着,理论上来说,这些气候带整年都是生长季节。当然,在现实中,这些气候会遭受季节性干旱,但灌溉可以减轻干旱带来的的影响。
干旱气候的特征是降水量极少。这类气候被细分为干燥气候和半干燥气候。与热带气候一样,这些气候带的气温足以让植物整年生长,但有些作物无法承受这些气候带的巨大温差。此外,干旱气候地块常年缺水,所以这些气候带的实际农业产出很低。如果要让干旱地块有所产出,灌溉必不可少。
1356年的大部分人口生活在温带气候中。这一气候又被细分为亚热带气候、地中海气候、海洋性气候和副极地(亚寒带)气候。温带气候有着鲜明的四季,但气温偏暖,一年中的大部分时间都适合进行农业生产。其降水量适中,灌溉并非迫在眉睫的需求。
冷温带(大陆)气候包括大陆性气候、高原气候和北方气候。这些气候通常会分部在大块陆地上,并因此得名,其温差较大。这些气候的特征是至少有一个月的平均温度达到10摄氏度以上。这类气候下的最大农业产出潜力参差不齐,即使灌溉也无法抹平其中差异。
最后一类是极地气候,包括苔原气候和极地气候。在这两种气候中,只有苔原气候勉强可以承载人口。苔原地块会有至少一个月的融雪期;虽然这些地块上基本无法开展农业生产,但依然可以发展动物养殖。
尼特拉(以及东欧大部分地块)属于冷温带气候,农业在此可以得到良好发展,只是有些冬天比较难熬。
地块面积
地块最显要的属性就是表面积,我们称之为地块面积。对于绝大多数地块而言,这是一项不可改变的属性,地球的表面积除以地块数量得到的数值就是地块面积。Gray Eminence中的地块都具有510单位的地块面积,每个单位差不多代表一平方公里的面积。之后我们会在建筑开发日志中对其进行详细说明,这里我们不作更多展开;简单地说,所有的建筑都会占据一定的地块面积,所以你不能在一个地块里造无限多的建筑。
森林覆盖面积
接着上一段,森林覆盖面积就是地块中被茂密森林覆盖的地块面积单位数量。有无森林对地块而言十分重要:它会使得运输和物流更难通过这一地块,除非在地块上修建了道路。在非森林面积被建筑占据之后,地块中就无法新建建筑了。当然,森林也有其独有的好处:在其中狩猎可以让当地人口获得更多的食物。
你可以手动清除森林,为有用的建筑腾出空间,但最好还是别把林子砍得太干净了。保持一定的森林覆盖面积可以让你和你国内的精英们在其中建造伐木营地,持续不断地产出木材(当然,这种生产方式有些过时)。当然,在犯下砍伐森林的滔天大罪之后,你还是可以反转其影响,重建被毁的林地。但这事关多方利益,少不了要扯皮。你也可以完全清除某一区域内的人口,让大自然自行修补创伤。
虽然农业在过去数个世纪间不断蚕食着地块面积,森林依然占据着匈牙利西北地区(以及1356年的欧洲大部)的大片土地。
耕作/放牧
结合地形和气候,我们得以确定农业和畜牧业相对于某一地块的适宜程度。总体而言,动物比作物更好养活,所以适合种植作物的地块肯定也会适合放牧。需要注意的是,每种作物都会有其独特的气温和降水量要求,因此,就算冰岛理论上来说能种玉米,你也不该在那儿种玉米。
天气
在单个地块的地形和气候之外,我们还有一套在更大尺度上发挥作用的天气系统,它会影响地球的大片区域。这个系统非常庞大,庞大到需要用一篇完整的日志才能完全说明其机制,但现在我们可以跟你透点底:天气系统包括季节、风暴、季风、飓风和龙卷风等要素。我们希望能在之后的开发中加入更多的天气现象,但这些是我们目前已经实现的东西。
河流
我们肯定得详细聊聊河流的方方面面,不然不太合礼法。你们之中有很多人应该已经想到了,在Grey Eminence中,河流会顺着六边形地块的边流动。因此,河流区段总是会成为两个地块的边界。有些河流的某些部分十分宽阔,因此需要用一整个水域地块来表示,但大多数河流还是会顺着六边形的边流动。
和天气一样,我们计划用另一篇完整的开发日志来产出河流的机制,以及它与其他系统的交互。不过这里也给你们解解渴:河流在Gery Eminence中不但有地理和军事上的影响,更会有经济上的影响。正如我们先前提到过的那样,物流是Grey Eminence经济系统的基础。毫无疑问,在发明火车以前,河流乃是商业的基石。故而,控制水道是国家在商业上取得成功的关键。
Mod制作
考虑到地理系统的重要性,你可能会觉得它里面全是硬编码,所以没法做mod。把核心系统做成可修改系统确实不容易,但我们可以自豪地说:我们做到了!
说得更清楚一些:你可以添加新的地形和气候(或者修改/移除现有的东西),也可以将它们与其他各个系统链接起来。举例而言,你可以添加一个火山地块,然后创建一个火山爆发系统,让火山地块周期性爆发。这些修改不仅会体现在游戏逻辑的层面上,同时更会影响游戏画面,当然,你可能得花点力气把视觉效果做成你心目中的理想状态。不用说,做这些复杂的修改会需要一些C#知识。
就算是比火山还要给劲的东西当然也不在话下。我们为地形和气候实现的游戏逻辑可以被完全重定向或改变。比如说,你可以把海洋地块变成宜居地块,把陆地地块变成不可居住地块,搞个奇幻水世界出来。在更基础的层面上,地块和气候其实也就是一些逻辑容器,高山流水在你手中可以千变万化。
为了让你可以完全修改Grey Eminence的地理系统,我们花了好些力气,在我们的世界编辑器中加入了地理部分。它支持一项你们之中有很多人要求过的功能:以2d图像格式导入/导出地理数据。这项功能采用了一种简单的等距柱状投影法,所以你可以从网上随便找一张png格式的老图,把它导入我们的编辑器里(不过你可能要先为它重新上色)。总而言之,你可以用PhotoShop或者GIMP(或者Windows自带的画图,呵呵)画出各种奇幻世界,将它导入为一个自定义世界。世界编辑器会以完美的精确性,将所有的像素转换为地形、气候和森林覆盖面积。
我们还想为你展示最后一项功能。这大概是我们迄今为止最猛的技术成就了(当然还有100倍性能表现,不过那个还是多亏了Unity,我们要排在后面)。Grey Eminence的世界编辑器带有实时地形编辑器,让你可以在地球仪上用画笔创建新的陆地,或在浪花拍打之间抹去旧有的陆地。当然,你也可以用它来创建气候和森林图层,未来我们还将把这一功能拓展到天气modding当中,这个我们之后再细说。
这里是一段地形编辑器的实机操作录屏。这画面看着真的一本满足,我说的。
轻轻一刷,洛丹伦就没了!一笔就能让它凭空消失,然后装作啥事都没发生过。有了这把笔刷,还要什么跨位面亡灵魔剑?
好了,这就是本期日志的全部内容!在过去的两周里,我们一直在努力实现关键机制。开发正在大步流星地向前迈进,这离不开各位在社区和Patreon上的持续支持,感谢大家一直陪伴在我们左右!下一篇开发日志将会在3月25日发布。敬请加入我们的Discord和Reddit讨论版,也可以在YouTube、Facebook和Twitter上关注我们,获取有关Grey Eminence的新鲜资讯。感谢阅读!
暂无关于此日志的评论。