Ant 是由灵犀互娱开发的开源游戏引擎。现阶段仅将代码仓库公开,尚未正式发布。文档、示例等均待在 Wiki 上逐步完善。
用 Ant 引擎编写第一个可以运行的小程序是非常简单的。HelloWorld 讲解了 /test/simple 中的小 demo 运行背后发生了什么,引擎是怎样运作的。在了解引擎其它部分之前,还需要理解一下 虚拟文件系统 ,以及运作在 vfs 上面的 包系统 。整个引擎就是由一个个包组合而成的。
Ant 引擎使用了基于 Actor 的并发模型,不同的功能运行于不同的服务中,每个服务有独立的 Lua 虚拟机和执行线程。主游戏服务基于 ECS 架构,辅以 消息信箱 运作。游戏场景 由众多含有场景组件的 entity 构成。这些 entity 可通过引擎自带的编辑器制作的 预制件 实例化而来。在游戏代码中,只需要实例化这些预制件即可。我们可以 分组 管理场景对象,并用 动画 控制它们。并可以在预制件上添加 特效 和 声音 。
Ant目录结构
- bin:编译结果,exe/dll/lib等
- build:编译的中间结果
- clibs:c/c++代码
- engine:引擎基础支持代码,包括包管理器、启动代码等
- pkg:引擎的各个功能包(包与包之间有依赖)
- runtime:引擎运行时的不同平台支持
- test:测试工程
- tools:引擎相关的工具
评论