Equilinox

Equilinox

Not enough ratings
[中/Eng]生物散布机制研究/How Life Spread
By Zephyr
这篇指南记录了我研究游戏中动植物扩散/活动范围的过程,分享给大家.
This guild sharing my study of animal/plant spread mechanism.
2
2
   
Award
Favorite
Favorited
Unfavorite
剧透警告/Spoiler
虽然我很喜欢研究这些游戏机制以方便更好的规划/完善我的生态系统,但是有些人更享受无规律的大自然。
了解这些机制可能会使你的世界看起来更加的机械,减少体验游戏的乐趣,不想这样的人请务必关闭这篇指南。

Knowing these mechanisms may reduce your fun to experience the game.






























-----------------------------------------------------------------------------------------------------------------------
扩散范围/Spread Range
玩了一段时间游戏你就会发现,所有动植物并不会自动迁移到更适合自己居住的环境,而是固定在放置点一定范围内活动。

实验一:测试单株植物到底能传播多远
Experiment 1: Test how far a single plant can spread

我在荒地上放置了一颗草,然后用小石头标记每一颗(距离比较远的)新草的位置。
I placed a grass on barren and then marked the position of each new grass (which far away from start position) with a stone.

其中红色石头是初始位置,灰色石头是新长出来的草的位置,如果同一方向上有更远的草出现则删除距离比较近的石头。
The red stone is the initial position, and the gray one is the position of the newly grown grass. If there is a farther grass in the same direction, delete the closer stone mark.

经过十多分钟的快进,分布的轮廓变成了一个很有意思的形状。
After about ten minutes of fast forward, the distribution became an interesting shape.

我们可以得到如下结论:
1.草的分布范围并不是想象中的圆型,而是一个正方形。长宽大约是6格半(以地面纹理的格子为基准,后文同)。
2.分布并不是以初始种植的草为正中心而是有一定的偏差。

We can get the following conclusions:
1. The distribution of grass is not a circular shape as imagined, but a square. The length and width are about 6.5 blocks(based on the grid of the ground texture).
2. The distribution is not centered on the grass that was originally planted but has a certain deviation.

推测:根据这两条,我认为游戏中是存在隐藏的方形网格的,生物的扩散会依附到网格上。而且这个网格和地面上的纹理并没有直接的联系。

Guess: According to these two, I think there is a hidden square grid in the game, and the spread of creatures will be attached to the grid. And this grid is not directly related to the texture on the ground.

补充测试:
Additional test:
删除了大部分的草,只留下一株在活动范围边缘的草,观察接下来刷新的草的范围是否会有所变化。
I removed most of the grass, leaving only one grass at the edge of the range of activity, and seeing if the range of newly grown grass would change.

结果是没有任何变化,之后刷出来的草依然全部在用石头框出来的正方形范围之内。
The result was no change, and the newly grown grass was still within the square of the stone frame.

推测:由第一棵草衍生出来的所有草会构成一个群落,群落里的所有草都共享同一个刷新范围
在这个测试里我也记录了一些和密度有关的数据,不过和本文无关就略过了。

Guess: All grasses derived from the first grass will constitute a community, and all grasses in the community share the same refresh range.
In this test I also recorded some data related to density, but I have skipped as it irrelevant to this article.



实验二:验证单株植物的扩散范围
Experiment 2: Verify the spread range of individual plants

这次我在地图的边缘放了一颗草,观察地图边缘对扩散范围的影响。
This time I put a grass on the edge of the map to observe the effect of the map edge on the spread range.
结论是没有影响,大小依然是约6格半的正方形。不过地图边缘的0.5格内是不会长出草的,也不能放置石头。
The conclusion is that there is no effect, and the size is still about 6.5 block square. However, within 0.5 block of the edge of the map, grass will not grow and no stone can be placed.

两颗草在同屏比较
Two grasses are compared on the same screen
可以看出两颗草的纵向范围并没有依附到同一根轴上,而是差了3格多。另外两颗草的上下沿也差了约3格多,第一颗草的右沿和下沿离地图边缘也差了3格多。
It can be seen that vertical border of the two grasses is not attached to a same axis, but have a deviation of 3 blocks. The upper and lower edges of the two grasses also differed by about 3 blocks. The right and lower edges of the first grass were also have a 3 squares from the edge of the map.

推测:这个3格多点的范围才是网格单元真正的大小,而草的传播范围其实是2x2网格
Guess:
the 3 blocks is the true size of a grid cell, and the range of grass is actually 2x2 cell


补充测试:
Additional test:
将一颗草进行基因突变变成粉红色,观察基因突变对扩散范围的影响。
I changed a grass to pink by genetic mutation, and observed effect of gene mutation on the diffusion range.
经过一段时间以后,范围内的草同时有两种颜色存在,但是扩散范围没有任何变化。
After a period of time, the grass in the range has two colors at the same time, but there is no change in the diffusion range.

之后删除范围内所有的绿色草,仅保留粉色草。
Then remove all the green grass in the range, leaving only the pink grass.
经过一段时间以后,范围内的草全部都是粉色,不再刷新绿色的草。但是上方另一个群落的草不受任何影响。
After a while, the grass in the range is all pink, no longer refreshing the green grass. But the grass in the other community above is not affected at all.


实验三:验证网格单元大小
Experiment 3: Verify grid cell size

有了基本的对网格单元的猜测后,在合适的位置补种两颗草。并用不同的颜色区分开来。
With the basic guess of the grid unit, replant two grasses in the right place. And distinguish them by different colors.
可以看出所有颜色的草都在各自的范围内生长,不会越界。
It can be seen that grass of all colors grows within their respective ranges and does not cross the boundary.
截图的实验是我为了写这篇指南补做的,实际测试的时候我几乎在四分之一的地图上都种了草。呈现出来的范围要么是对齐的,要么错开一半。所以基本可以确认这个3格多一点就是网格的最小单位。
The experiment in screenshot was only for write this guide. When I actually tested this earlier, I planted grass on almost a quarter of the map. The border of each grass group is either aligned or staggered by half. So basically we can confirm that this 3 block is the smallest unit of the grid.
猜想的网格形态。每个草扩散范围是2x2网格。
Guess the grid form. Each grass diffusion range is a 2x2 grid.

关于草在一个网格中放置后扩散的方向,经过测试取决于实际放置点在网格中的位置。
Regarding which direction the grass will spreads to after being placed in a grid, after test it depends on where the actual place is in the grid.
红色的草和蓝色的草初始位置都在中间的网格内。但是由于红色的草放置在网格的左上方,所以最终扩散的范围是以初始网格为右下的2x2,往左上延伸。蓝色的草放置在网格的右下方,所以会往右下延伸。
The red grass and the blue grass are in the middle of the center grid. However, since the red grass is placed at the upper left of the grid, so it extends to the upper left, shaped a 2x2 grid with initial grid at bottom right. The blue grass is placed at the bottom right of the grid, so it will extend to the lower right.

具体数值测量
Specific numerical measurements
为了能在实际游戏中用到这些信息,需要能精确的定位每个网格的位置。
In order to use this information in actual games, it is necessary to accurately locate the position of each grid.
经人肉测量:
Measurement manually:
一张地图地面纹理的网格为135x135,为了方便称为格(block)
The grid of a map ground texture is 135x135, which is called block for convenience.
一张地图生物散布的网格为40*40,为了和格区分开来称为区块(Trunk)
The grid of a map bio-distribution is 40*40. It is called a trunk to distinguish from block.
也就是说每27格等于8个区块,在第27格的地方区块边界和格子边界完全重合。在这些位置用小石头做一些标记是个不错的选择。
That is to say, every 27 grids is equal to 8 blocks, and the border of 27th block is completely aligned with the 8th trunk.
It is a good choice to make some markings with small stones in these locations.
每个区块的精确长度为135/40=3.375格。
The exact length of each trunk is 135/40 = 3.375 block.
其他物种/Other Species
小麦 2x2
Wheat 2x2
-
橡树 3x3
Oak 3x3
由于3x3以初始区块为中心对称,所以不管放置在初始区块内的什么位置最终扩散范围都是一样的。
Since 3x3 is symmetric about the initial trunk, the final diffusion range is the same regardless of where it is placed in the initial trunk.
-
绵羊 2x2
Sheep 2x2
-
关于喜好生物:
根据动物/植物/石头判定有所不同。
目前可以确认的是
动物对于植物:活动范围内有目标植物存在
其他待确认

Regarding like/dislike species:
Determination vary depending on the animal / plant / stone
Currently it can be confirmed
Animals like plants: the presence of target plants within the range of activity
Others pending confirmation

-
图中橡树和羊的活动范围部分重合,如果橡树长在羊的活动范围内,羊满足。
In the figure, the range of activity of the oak and the sheep partially coincides. If the oak grows within the range of activity of the sheep, the sheep are happy.
-
和刚才同样的场景,如果羊的活动范围内没有橡树,羊不满足。
In the same scene as before, but this time there is no oak in the range of activity of the sheep, the sheep is unhappy.
-
一只羊在活动范围的边界处,边界外有一棵树,尽管距离羊只有咫尺之遥,因为不在羊的活动范围内,羊不满足。
A sheep is at the boundary of the range of activities, and there is a tree just outside the border. Although it is only a stone's throw from the sheep, the sheep are unhappy because the tree is not within the range of the sheep's activity.
-
我通过解包游戏数据提取了所有生物的活动范围数据,如果有需要可以私信或者留言。
-
动物为了捕食允许离开活动范围一段距离。食草动物大概只能多走几步路,食肉动物可以横跨好几个区块。
Animals are allowed to leave the range of activities for hunting. Herbivores can only take a few more steps, and carnivores can span several trunks.
更多机制正在研究中/More mechanisms under study
6 Comments
jARKO 15 Jul, 2023 @ 9:47am 
you can pres G to open the grid menu. one sqare grid is how many blocks and chunks?
阿呆 24 Dec, 2021 @ 3:02pm 
大佬太强了!
vegetaX 19 Apr, 2020 @ 7:49am 
good work,thanks for your information:steammocking:
Full Frontal Yeti 8 Jul, 2019 @ 3:36pm 
nice work. thanks for the effort and info share.
procamcctv 4 Jun, 2019 @ 7:15am 
im still confused but ty anyways XD
zombieking_FTW 26 Dec, 2018 @ 6:05am 
Thank you very much for your hard work <3