探索游戏开发新纪元:Esoterica 游戏引擎框架
Esoterica Esoterica Engine 项目地址: https://gitcode.com/gh_mirrors/es/Esoterica
Esoterica Engine 是一款MIT许可的原型游戏引擎框架,它既是技术展示平台,也是教育工具和研发框架。这个项目旨在提供基础的游戏资源管理、序列化、游戏逻辑等核心功能,并为自建游戏引擎提供了参考实现。
稳定性与注意事项
请注意,Esoterica 是一个业余时间开发的原型引擎,可能存在不稳定性和崩溃问题(主要影响工具方面)。它并非用于稳定生产的工具。如果您遇到任何故障,请提交问题,我们会尽快解决。
需要您的帮助!
我们正在寻找能够创建测试资产的人(比如角色模型和动画),以供我们随引擎一起发布示例。此外,我们也期待有人能协助构建渲染器,更多详情可访问 Esoterica Engine官网贡献页面。
引擎包含了什么?
- 基础游戏引擎核心(序列化、数学、字符串处理、日志记录等)
- 基于Libclang的C++反射和代码生成
- 使用编译器的资源系统,支持热重载
- 混合Actor/ECS对象模型
- 高性能AAA级动画图系统
- 基本动画压缩
- 利用PhysX关节实现的动力学驱动布娃娃系统
- 基于DearImgui的基本编辑器基础设施和工具
截图预览
| 资源管道 | 基本编辑器 | |:---:|:---:| |||
| 动画图 | 布娃娃编辑器 | |:---:|:---:| |||
系统需求
- Visual Studio 2022(版本17.4+)
- FBX SDK
构建Esoterica
Esoterica 使用纯msbuild作为构建系统。所有Esoterica构建设置都位于“code/属性表”文件夹中的属性表中。
- 下载外部依赖项,并将其解压缩到Esoterica根目录(例如:X:/Esoterica Path/)。
- 下载并安装FBX SDK(编辑器所需) - https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-2-1
- 打开解决方案“Esoterica.sln”
- 重建“Esoterica.Scripts.Reflect”项目(在“0. Scripts”解决方案文件夹下) - 这将生成Esoterica的反射数据
- 构建“1. 应用程序”解决方案文件夹 - 这将构建Esoterica运行所需的所有应用程序。
应用程序
最简单的方法是将“Esoterica.Applications.Editor”设为启动项目并运行。若想运行引擎,请使用“Esoterica.Applications.Engine”项目,并添加"-map data://path_to_map.map" 参数。
- Engine - 独立的Esoterica引擎客户端
- Editor - Esoterica编辑器
- 资源服务器 - 一个独立的应用程序,为各种Esoterica应用程序提供资源
- 反射器 - 生成Esoterica反射数据
- 资源编译器 - 处理资源编译请求
- 测试者 - 用于随机测试的空白控制台应用
第三方项目
Esoterica 引入了多个第三方库,包括:
- EASTL
- DearImgui
- EnkiTS
- iniparser
- PCG
- xxhash
- rpmalloc
- concurrentqueue
- MPack
- Game Networking Sockets
- PhysX
- cgltf
- pfd
- sqlite
- subprocess
- optick
同时,还有一些需要许可证才能使用的中间件包(默认禁用):
- Live++
- Superluminal
- Navpower
更多信息
如果您使用 SmartCommandLineArguments 的VS插件,可以找到预设的命令行参数,方便您启动引擎。
Esoterica Engine 提供了完整的解决方案,无论是对游戏开发新手还是有经验的开发者来说,都是探索新技术和提高技能的理想平台。无论你是想学习如何构建游戏引擎,还是希望基于现有的技术进行实验或快速原型设计,Esoterica 都是一个值得尝试的开源项目。现在就加入,开启你的游戏开发之旅吧!
Esoterica Esoterica Engine 项目地址: https://gitcode.com/gh_mirrors/es/Esoterica