yunfan 发表于 2008-12-11 09:01:57

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 , 粒子系统,来
实现比如下雨, 下雪等等。 不过这都是后话。



简单的记录一下自己的想法, 慢慢修正, 最后细化, 欢迎坛子里的朋友多提建议。

csyfek 发表于 2008-12-14 22:57:18

GameStory: 游戏的整个过程控制
1.      载入全部剧情脚本 (story.xml, 或者二进制文件 story.dat)
2.      按脚本载入相应的剧情(GameScene)

剧本的数据结构的要求是什么呢?

jozhu 发表于 2008-12-20 03:11:30

还是缘曲吗?

tanhitzq 发表于 2009-3-18 11:43:02

已经over了吧?

yunfan 发表于 2009-3-19 04:55:54

原帖由 tanhitzq 于 2009-3-18 11:43 发表 http://www.linuxfans.org/bbs/images/common/back.gif
已经over了吧?

NOT YET:mrgreen:

whistler_wmz 发表于 2009-3-23 13:01:36

jiangtao9999 发表于 2009-3-23 19:05:46

有没有考虑 MMO ?

whistler_wmz 发表于 2009-8-31 13:43:32

DaNmarner 发表于 2009-9-3 14:55:00

借机弱弱的问一句:eva还开发吗?

sejishikong 发表于 2011-11-3 12:12:13

eva有人接手么?
我考虑在github上建个项目,可以考虑使用tde继续,tde以后会转成qt4,而且会比较容易转。
页: [1]
查看完整版本: SDL游戏框架设计初步设想