这个项目能做什么

SwarmingLilMen 是一个用于涌现多智能体系统的实验引擎,目前基于在 C#/.NET 8.0 中从第一原则构建的 2D boids/群体模拟。它强调涌现而非脚本编写:少量简单、可组合的操舵规则能够产生丰富的宏观模式。该项目处于早期开发阶段(仅 GPL-3.0),正在从聚合驱动的系统方法过渡到可独立测试的 Reynolds 风格操舵规则。 两种实现并存:一个是 Legacy 默认管线(基于均匀网格 boids 的聚合驱动 SoA 操舵系统,配有交互式 Raylib 渲染器);另一个是 Canonical 路径(脚手架加上三条操舵规则,通过 --canonical 启用)。规范的感知/空间索引契约和力预算执行已经完成,但仪表 UX、规定的行为场景、多组语义以及规范基准仍然待开发。 已验证的能力包括:用于缓存效率的 Structure-of-Arrays (SoA) 数据布局;固定时间步长的种子遗留和规范路径,具有精确的 500-tick 有序运动学哈希覆盖;智能体基因组数据结构和突变 API;可配置的模拟参数及预设(平衡、强分离、紧密聚群、快速松散、慢速聚合);遗留均匀网格 boids 管线和交互式 Raylib 渲染器;可选的规范单组渲染器,带操舵仪表;以及一个 xUnit 测试套件,其非性能子集构成 CI 门禁。还存在一个 BenchmarkDotNet 套件用于性能测量。 系统管线每 tick 重建均匀网格,然后依次运行 Sense、Behavior、Wander 和 Integrate 系统。性能原则包括:分配意识的热路径;内部循环中不使用 LINQ/委托/装箱;紧凑的 for 循环并提升不变量;使用直接/静态调用而非虚调度。明确指出的性能目标是:交互式 60 FPS 下 5 万–10 万智能体以及无头模式下 100 万+ 智能体,但目前均未达成;5 万智能体的测量结果超过 16.67 ms/tick 预算一个数量级以上,且规范吞吐量、渲染器 FPS 以及每 tick 的分配尚未测量。 该项目还附带独立的 JavaScript 浏览器演示:Boids Basic(带实时参数调节的 Reynolds 算法)、自驱动粒子/Vicsek 模型(带序参数追踪的活性物质相变)、蚁群优化(基于信息素路径的 stigmergy 路径寻找)以及粒子群优化(带适应度景观可视化的连续全局优化)。这些演示无需安装,可用于快速迭代、展示、学习和原型制作。 路线图阶段包括:多组交互/战斗/代谢(第 3 阶段)、繁殖/演化/性状漂移(第 4 阶段)、SIMD 优化/并行化/NativeAOT(第 5 阶段),以及更多场景预设/回放/高级指标(第 6 阶段)。技术栈包括:基于 .NET 8.0 的 C# 12、用于渲染的 Raylib-cs 7.0.2、用于测试的 xUnit 2.9.3 以及用于基准测试的 BenchmarkDotNet 0.15.6。