https://github.com/werneror/evolvegame
进化的游戏。
https://github.com/werneror/evolvegame
mit-license
Last synced: 3 months ago
JSON representation
进化的游戏。
- Host: GitHub
- URL: https://github.com/werneror/evolvegame
- Owner: Werneror
- License: mit
- Created: 2018-04-08T10:55:31.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-08T14:04:47.000Z (about 7 years ago)
- Last Synced: 2025-01-21T01:42:01.464Z (5 months ago)
- Topics: mit-license
- Language: HTML
- Homepage: https://werner-wiki.github.io/EvolveGame/
- Size: 9.77 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EvolveGame(进化游戏)
这是一个在二维沙盘中的进化游戏。生命体的外观、寿命、行为等均由基因控制,在每次繁殖时,基因以一个极小的概率发生突变。当繁殖很多代后,进化的结果将不可预测。
## 背景设定
### 物理设定
沙盘世界具有和我们的世界同样的时间。
沙盘世界的空间是二维的,以方格划分,如同一个巨大的围棋棋盘。
空间是不连续的,方格的宽度便是世界的最小长度。
每个方格的周围一圈共有八个方格,这八个方格被称为该方格的附近方格。沙盘世界的物质很简单,只有木(绿色)、火(红色)、土(褐色)、金(黄色)、水(蓝色)五种。
此外,还有不是物质的真空(白色)。
每个方格内同时只能有一种物质存在,具有原子性。从视觉效果上讲,每个方格在同一时刻具有相同颜色。一个方格被一种物质填充,我们称填充方格的物质为一个物质。
没有被任何物质填充的方格被称为真空方格。沙盘世界中没有力的概念,也没有能量的概念。但存在运动,运动的唯一原因是生命,详见后文。
### 化学设定
沙盘世界的五种元素相生相克。具体的相生关系是:木生火,火生土,土生金,金生水,水生木;相克关系是:金克木,木克土,土克水,水克火,火克金。
我们注意到,两种物质必然有相生或相克关系。当两种物质运动到同一方格中时,若它们有相生关系,则保留被生的物质,若它们有相克关系,则不保留被克的物质。
随着时间的流逝,一个物质会随机地在附近方格中的某一个真空方格生成它相生的物质。随着时间的流逝,一个物质会使得它附近方格中被它相克的物质消失。
### 生命设定
生命体的外观、寿命、行为等均由基因控制。生命可以按照以及的意愿移动,可以对外界刺激做出反映,还可以进行繁殖。
关键在于如何设定基因的数据结构和如何描述一个生命体对不同外界刺激应当做出何种反应。
基因的数据结构应该具有潜力,即理论上它可以支持产生极其复杂的生命体。至少,它应该是变长的。
## 完成度
目前只完成了初步的物理设定和化学设定,并以此设定写了一个沙盘世界的Demo。