11个版本 (破坏性)
0.9.1 | 2022年1月11日 |
---|---|
0.9.0 | 2021年7月18日 |
0.8.1 | 2020年11月28日 |
0.6.0 | 2020年7月10日 |
#770 in 游戏开发
每月34次下载
98KB
1.5K SLoC
semeion
一个2D环境模拟器,允许您定义实体的行为和形状,同时处理事件生成。
概述
为了了解您可以做什么,以及如何使用此库实现,最好的开始方式是阅读介绍性博客文章,或查看此项目附带的一些示例。这些示例旨在展示semeion
功能集的子集,并给出如何充分利用它的示例。如果您想查看一个更完整的项目,该项目使用semeion
作为其实体引擎,请查看formicarium。
注意:如果您想克隆此存储库而不下载.gif资源,可以使用以下命令
git clone --single-branch https://github.com/gliderkite/semeion.git
可选功能
默认情况下,semeion
使用一个环境引擎,它将所有实体回调调度在同一个单线程上,因此不需要同步(不需要将任何用户实现的Entity
发送或共享在线程之间)。
然而,可能存在一些场景,您正在运行一个包括大量实体 并且 每个实体任务(用于进行下一代的处理)都相当消耗资源的模拟。对于这些情况,通过启动多个线程并并行运行模拟,可以显著提高效率(在做出最终决定之前始终建议对代码进行性能分析)。
目前,您只能在编译时通过在您的Cargo.toml
中指定可选功能parallel
来启用此(非附加)功能。
semeion = { version = "0.9", features = ["parallel"] }
示例
-
cargo run --release --example langton
-
cargo run --release --example life
-
cargo run --release --example rule -- 161
-
cargo run --release --example wireworld
-
cargo run --release --example mandelbrot --features parallel
-
cargo run --release --example camera
依赖项
~0–265KB