A Pokémon battle simulation engine
a year ago
- #Zig
- #Simulation
- #Pokémon
- 该项目正处于密集开发阶段,主分支存在破坏性变更,建议用户等待v0.1版本发布。
- 一个极简主义、性能优化的宝可梦对战模拟引擎,专为工具链、嵌入式系统和AI应用场景设计。
- 该引擎实现帧级精确度,并与原版游戏代码及Pokémon Showdown模拟器保持bug级兼容。
- 在兼容模式下运行速度比Pokémon Showdown快1000倍以上,经过全面测试并完整文档化。
- 并非全功能模拟器,而是面向高级用例的底层库。
- 包含Zig语言编写的引擎核心代码和TypeScript编写的参考驱动代码。
- GitHub发布页提供预编译二进制文件,源代码需通过Zig编译器构建。
- 推荐使用Zig v0.11.0版本,0.12.0-dev.876+aaf46187a之前版本存在性能问题。
- 驱动代码可通过npm安装,需依赖已编译的Node/WASM插件。
- 支持Pokémon Showdown兼容模式及协议消息日志记录。
- 提供按世代划分的对战状态更新函数和有效选项验证功能。
- libpkmn提供C语言API,旨在作为其他语言绑定的基础层。
- Zig包简化状态初始化和日志记录,支持FixedRNG实现确定性结果。
- 当前已知提供C++和Python语言绑定。
- 内置pkmn-debug工具,用于解码二进制数据结构和协议。
- 开发路线图包含I-IV世代的实现阶段,现代世代因依赖反编译工程暂缓支持。
- 明确排除团队验证、模组支持和非标准对战变体等特性。
- 依据MIT许可证开源发布。