一、项目简介
之前很喜欢《元气骑士》这种风格的手机游戏,所以也想做一个类似的 Roguelike 游戏。对于刚学习了一些基本设计模式的小伙伴,可以把这个项目当作初步实践。
这次构建一个简单的通用游戏框架,使得游戏具有更强的灵活性与可扩展性供小伙伴们学习参考。
二、运行截图
三、项目源代码及编译说明
项目源代码:点击下载 Dungeon 1.0.1.zip
该项目解决方案下包含三个工程:Dungeon,Dungine 和 TinyXML2。
其中 TinyXML2 工程是为了把 TinyXML2 库打包成静态链接库方便使用,编译时直接编译整个解决方案即可。
Release 模式下,编译成功后可执行文件将输出到 Publish\ 目录下;
Debug 模式下,编译成功后可执行文件将输出到 Build\dist\Debug\ 目录下。默认采用 Release 模式编译,程序中有关调试信息的宏已关闭。
编译环境如下:
● Windows 11 Pro
● Visual Studio 2022 Community
● EasyX 20220610
● FMOD 0.2.2.7
四、项目实现
该项目包含游戏框架部分 Dungine (Dungeon Engine) 和游戏主体 Dungeon 两部分。除了 EasyX 外,还使用了音频库 FMOD,以及用于 XML 解析的 TinyXML2。
▍4.1 Dungine
该部分是一个较为通用的游戏框架,包括游戏中基本类型的定义,以及设备相关的封装,同时也包括一个简易的 UI 库。
▁ 4.1.1 游戏对象
框架的最核心部分之一是对游戏对象的抽象。对于游戏中需要的常见对象,比如角色、武器等,均使用了工厂模式和原型模式进行创建,并通过组件模式添加各种行为和属性。下面展示了游戏对象类和组件类的基本声明,项目中的具体实现要稍复杂一些。文章来源:https://www.toymoban.com/news/detail-406620.html
GameObject 有一个重要的成员 m_isValid,因为删除对象并不是直接进行的,而是通文章来源地址https://www.toymoban.com/news/detail-406620.html
到了这里,关于C/C++游戏开发丨Dungeon丨游戏框架搭建丨设计模式丨可扩展性高的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!