设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 18979|回复: 14

[原创] 【科普向】【坑了】文明5出生地关联规则

[复制链接]
发表于 2013-1-4 12:35:18 | 显示全部楼层 |阅读模式
1 以下文明出生时将沿海。
英国
奥斯曼
迦太基
西班牙
2 以下文明出生时将沿河。
美国(已删除)
3 以下文明出生时,会尽量出生在对应地形地貌的地区,或拥有最多对应地形地貌的地区上。
阿拉伯 - 荒漠
阿兹特克 - 丛林
印度 - 草原
易洛魁 - 森林
俄罗斯 - 冻土
凯尔特 - 森林
荷兰 - 草原
4 以下文明出生时,会避免出生在对应地形地貌的地区上。
埃及 - 丛林和森林
暹罗 - 森林
桑海 - 丛林

配置在\Gameplay\XML\CIV5Civilizations.xml下。
大家随便吐槽。

UPD :贴吧的Emergencia说cfc曾经因为具体的出生地划定规则战起来,于是我去看了一下开源的dll代码。主要的步骤:

step1 划分大陆:划出所有的地区(按照某个a*算法分),最大的4块作为主大陆,其他地区分属于最近的主大陆
step2 计算格子价值:对于每个点根据其产出和资源和地形等等计算一个价值(公式很长)。
理论上出生地关联应该体现在这里,但是我只找到了沿海的部分(对于沿海文明沿海地块价值*2)
另外这个价值似乎也用在地块扩张以及AI城市选址上面
step3 分区:把整个地图以某种方式递归切成(文明个数)个区域。一个区域只能放一个文明
然耨以区域最繁荣的格子价值排序,再把所有文明洗牌
step4 确定地点:首先两个文明的最小距离是10,先把能满足条件的文明放下去。按照区域从大往小放。
放不下的取最小距离为5,把剩下的文明和剩下的地区再排一次序继续放。还放不下的话就不断最小距离-1直到所有文明被放下。
放的时候有几个限制:
1 城邦的出生点必须满足1环内有一个2食物地块,文明的出生点必须满足1环内有一个3食物地块(但是在最小距离被折半后这个条件就没有用了)
2 文明不能离地图边缘太近(有一个常数定义了这个)
3 格子的价值不能低于全图最高价值的一半(不知道意义何在,待核实),并且是满足以上两个条件和文明距离里价值最高的
城邦的放置方式和文明的类似,但是没有1对1的限制


涉及的code:CvSiteEvaluationClasses.cpp 计算格子价值
CvStartPositioner.cpp 分配出生点(上面涉及的流程基本上在这里了)
CvPreGame.cpp 对上面步骤的调用

然后就先坑着了。等有人找到了地形地貌绑定的dll代码,再来把这贴补完。

[ 本帖最后由 object022 于 2013-1-4 18:01 编辑 ]

评分

1

查看全部评分

发表于 2013-1-4 12:37:33 | 显示全部楼层
沙发
回复 支持 反对

使用道具 举报

发表于 2013-1-4 13:01:35 | 显示全部楼层
美国也经常沿海的
回复 支持 反对

使用道具 举报

发表于 2013-1-4 13:11:40 | 显示全部楼层
原帖由 yangfreeman 于 2013-1-4 13:01 发表
美国也经常沿海的

- -。中国还经常沿海呐
回复 支持 反对

使用道具 举报

发表于 2013-1-4 13:12:20 | 显示全部楼层
原帖由 yangfreeman 于 2013-1-4 13:01 发表
美国也经常沿海的

这个只是你的感觉罢了。沿海的只有那几个
回复 支持 反对

使用道具 举报

发表于 2013-1-4 13:54:22 | 显示全部楼层

回复 5# 的帖子

...仔细一想,与其说感觉不如说....RP...
回复 支持 反对

使用道具 举报

发表于 2013-1-4 13:54:23 | 显示全部楼层
中国的是啥?
回复 支持 反对

使用道具 举报

发表于 2013-1-4 14:37:33 | 显示全部楼层
碰到过桑海在丛林中
回复 支持 反对

使用道具 举报

发表于 2013-1-4 15:38:44 | 显示全部楼层
中国出生在非洲什么的,最不友爱了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-4 17:42:26 | 显示全部楼层
更新点东西。然后先坑掉。。
回复 支持 反对

使用道具 举报

发表于 2013-1-4 21:02:43 | 显示全部楼层
中国的出生地没有什么偏好,所以经常是处于次要考虑地位
回复 支持 反对

使用道具 举报

发表于 2013-1-4 23:00:01 | 显示全部楼层
中国貌似没什么偏好吧?10局基本类似地形的顶多有3局。
回复 支持 反对

使用道具 举报

发表于 2013-1-4 23:12:13 | 显示全部楼层
“文明的出生点必须满足1环内有一个3食物地块(但是在最小距离被折半后这个条件就没有用了)”

拿到说一圈内没3食物地块就必然有近点AI?
但貌似3粮地很少啊,草原牛,丛林香蕉不是很容易在1环内碰到的。
回复 支持 反对

使用道具 举报

发表于 2013-1-5 08:51:07 | 显示全部楼层
前两天的桑海就开在了亚热带的树林丛林混合带,旁边一堆香蕉柑橘。
回复 支持 反对

使用道具 举报

发表于 2014-4-29 16:43:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-4-19 01:55

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表