01 / MAIN LOOP
一个单位时间内发生什么
生态从一个始祖细胞开始。每个存活个体依次感知、决策、移动、获取自然能量、尝试繁殖、结算攻击,最后老化一单位时间。速度先乘惯性,再叠加神经网络力产生的加速度。
v′ = v · I + F / m + flow
p′ = p + v′
E′ = E + gE
攻击会扣除目标生命并转移能量;寿命、最大生命与体型相关。能量达到“繁殖阈值”后,按成功率与不应期尝试产生一个变异子代。需求中的“繁殖速度”以能量阈值实现:阈值越低,繁殖越快。
始祖采用生产者型基因:攻击伤害与掠食收益接近下限、自然能量增长较高、繁殖阈值极低但单次繁殖成功率也偏低。它只是起点,后续可能被变异与选择推向掠食者。
02 / PERCEPTION
它看见了什么
以当前运动方向为前方,探测 142° 感知锥、255 单位内最近的 6 个个体。每个邻居提供方位、相对速度、生命、体型以及与自身基因组的遗传距离信号。
连同自身能量、血量、寿命、速度、质量、攻击基因、繁殖基因、边界距离和视域内近缘比例,组成 60 维输入。
03 / NEURAL POLICY
它如何决定力与攻击
一个 60 → 24 → 3 的全连接网络输出两个推进力分量和一个攻击 logit。加噪采样后得到实际动作,因此个体天然带有探索性。
60 感知24 tanhF∥ F⊥ 攻击
04 / GENETIC DISTANCE & PHENOTYPE
个体之间只有基因差异
每对个体独立计算六个性状基因归一化后的遗传距离。不存在任何分类 ID,也不存在“先分类再判断攻击”的步骤。颜色同样由基因参数直接计算,而不是由任何身份标签分配。
遗传距离 ≤ 近缘阈值:这对个体互不攻击
遗传距离 > 近缘阈值:这对个体可被对方攻击
颜色是基因的连续表型:暖红分量偏向攻击与掠食,绿色分量偏向自然增能,蓝紫分量偏向繁殖;体型另由质量决定。因此基因越接近,颜色也越接近。为了让轻微的基因漂移也能被看见,显示层会对色相差异做线性对比增强;它不会产生离散分类,也不参与攻击判定。
超过阈值只解锁攻击资格,是否真的出手仍由神经网络决定。选中个体后,绿色虚线连接阈值内近缘个体,珊瑚色连线连接阈值外远缘个体。阈值调低更易冲突,调高更包容。
05 / TWO TIMESCALES OF LEARNING
两层学习,不断适应
个体内:用奖励(掠食收益、伤害、繁殖、存活、死亡)进行延迟一步的 Actor-Critic 更新,让突触在生命过程中持续变化。
世代间:子代复制父代当前权重和基因,再按全局进化速率发生幅度不一的变异。死亡即从生态中移除。个体间关系则由两两基因距离与近缘阈值决定。
06 / CONTROLS
Space运行 / 暂停
S单步推进
R重新播种
V感知锥
L在线学习
Esc关闭面板
参数改动即时生效;重新播种默认使用新种子,Shift + 点击重置可沿用当前种子。每次实验从单一起点重新开始,种群上限为 160。没有预设身份标签或阵营。