SDL游戏框架设计初步设想
SDL游戏框架设计初步设想游戏将使用 C++ 和 SDL 库( Simple DirectMedia Library )来实现, 使用 gnu g++ 编译器来编译, 跨平台运行。
GameEngine:SDL 游戏引擎类:
1. 初试化视频,音频,输入(键盘, 游戏杆), 初始化系统事件(Event)处理(键盘,游戏杆的输入事件,鼠标进入,点开,点击事件,包括一个全局可访问的鼠标类,按键类), 并开始事件循环(主要针对 GameObject 设计)
2. 启动声音服务, GameSound
3. 载入GameStory, 游戏情节
4. 终止各种服务, 结束事件处理。
5. 提供一个指向自己的静态指针,以便其它部分方便访问声音,鼠标等等资源
GameStory: 游戏的整个过程控制
1. 载入全部剧情脚本 (story.xml, 或者二进制文件 story.dat)
2. 按脚本载入相应的剧情(GameScene)
Event:: 所有事件从 Event 类继承而来, KeyEvent, MouseEvent, 可能也有 JoyStickEvent,
GameObject: 所有游戏中的可见类的父类。
1. 虚方法来处理 KeyEvent, MouseEvent 和 JoyStickEvent。
2. 虚方法paint方法, 会被主线程调用,用来更新这个Object所占的屏幕。
GameScene:: 一个完整的关卡。
1. 地图(SceneMap),
2. 角色(Spirit),
3. 任务。
4. 开始剧情动画或者介绍,结束动画或者总结。
SceneMap: 场景地图类
StillObject: 静物类,继承自 GameObject, 不可移动的物体,
比如房子,墙, 山,树,湖等等
Spirit: 继承自 GameObject,精灵类,可以移动的所以包括人,动物和其它可移动物体
1. 有各种属性
GameStat: 游戏数据统计类, 游戏全局使用
另外, 对于属性系统, 战斗系统暂不在考虑的范围, 目前是总框架的设计阶段。
当然,为了增加效果, GameEngine 中还会有一个 SceneParticle , 粒子系统,来
实现比如下雨, 下雪等等。 不过这都是后话。
简单的记录一下自己的想法, 慢慢修正, 最后细化, 欢迎坛子里的朋友多提建议。 GameStory: 游戏的整个过程控制
1. 载入全部剧情脚本 (story.xml, 或者二进制文件 story.dat)
2. 按脚本载入相应的剧情(GameScene)
剧本的数据结构的要求是什么呢? 还是缘曲吗? 已经over了吧? 原帖由 tanhitzq 于 2009-3-18 11:43 发表 http://www.linuxfans.org/bbs/images/common/back.gif
已经over了吧?
NOT YET:mrgreen: 有没有考虑 MMO ? 借机弱弱的问一句:eva还开发吗? eva有人接手么?
我考虑在github上建个项目,可以考虑使用tde继续,tde以后会转成qt4,而且会比较容易转。
页:
[1]