[置顶]游戏引擎开发与应用最佳 实践 【引擎开发篇】 之三 :模块功能描述与设计抽象思想(设计)
2013-12-30 11:05
1006 查看
另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com 架构师技术培训群: 57230994
进入正文之前先鄙视一个博客园,【发布到博客园首页(6小时内只能在网站首页发布1篇随笔)】 ,我不能一次写完了连续发啊。不知道你们是什么 逻辑?
首先上一个架构的总体图。这个图描述的是整个游戏模块间相互关系,功能与作用,整个框架的设计可以算是把oop的设计思想发挥到了很高的一个境界,什么抽象,解偶,数据驱动,这些思想在本框架中都有比较深入的使用案例。华丽而不偏离实际使用。(图有点大,请来耐心等待...)
另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com 架构师技术培训群: 57230994
特殊说明:
整个引擎使用的是数据驱动模式,基本上不会在逻辑中出现任何与数据有关的编码。
最左边的那部分是游戏框架的核心部分, 包括:引擎需要的环境初始化与环境管理,时间管理器,资源管理器,声音管理器,渲染器(这个在最开始的时候考虑到与3d游戏的兼容性,就直接把把所有的位置,颜色,区域相关的描述做成了一个四维向量。)
核心实现与代码:
中间的绘制管理器,只是对是对框架中的渲染的器的一个再次封装,作用是实现不同类型的动画:动画对象(animal),数据动画(数据驱动动画),脚本等。
装载器:其实就是我们游戏中的一个插件管理器。开发者在开发完成后把相应的插件丢到我们的环境中就能直接运行。
同一类游戏的抽象:这个模型实际就是我们的领域驱动模型,因为这是正对一个行业的游戏的逻辑驱动,也可以理解成mvc的 contnrol 部分。 图中的通信就是单片机的一个远程控制器。这个会根据业务的需要发送一些数据,用来驱动游戏的正常运转,并把功能模块化。
车标游戏:这个就是具体的游戏,最后根据不同的游戏表现,生产出来的就一实际的游戏,也就是一个插件的实现。
通信协议部分:分成两部分来考虑,一是数据安全传输的传输层,这个其实是tcp中的应用 层,我们在一个非可靠的传层的基础上实现一个可靠的数据传输框架,由于游戏的特殊性,我们是与短片机通信我们使用的是com串口通信,所以有这样一个层来保证数据的可靠性,在tcp中,实际只有协议层了。协议层:分析接收到的数据把转换成具有一个数据格式的数据,这儿不做数据分析,只做数据的分包,解包。
下一节用代码的形式来阐述实现。
未完 待续 ....
本文为原创,博客园为唯一官方博客,转载请说明出处....
若有问题请发 邮箱 czjone@126.com 或者加qq:371741579
另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com 架构师技术培训群: 57230994
进入正文之前先鄙视一个博客园,【发布到博客园首页(6小时内只能在网站首页发布1篇随笔)】 ,我不能一次写完了连续发啊。不知道你们是什么 逻辑?
首先上一个架构的总体图。这个图描述的是整个游戏模块间相互关系,功能与作用,整个框架的设计可以算是把oop的设计思想发挥到了很高的一个境界,什么抽象,解偶,数据驱动,这些思想在本框架中都有比较深入的使用案例。华丽而不偏离实际使用。(图有点大,请来耐心等待...)
另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com 架构师技术培训群: 57230994
特殊说明:
整个引擎使用的是数据驱动模式,基本上不会在逻辑中出现任何与数据有关的编码。
最左边的那部分是游戏框架的核心部分, 包括:引擎需要的环境初始化与环境管理,时间管理器,资源管理器,声音管理器,渲染器(这个在最开始的时候考虑到与3d游戏的兼容性,就直接把把所有的位置,颜色,区域相关的描述做成了一个四维向量。)
核心实现与代码:
中间的绘制管理器,只是对是对框架中的渲染的器的一个再次封装,作用是实现不同类型的动画:动画对象(animal),数据动画(数据驱动动画),脚本等。
装载器:其实就是我们游戏中的一个插件管理器。开发者在开发完成后把相应的插件丢到我们的环境中就能直接运行。
同一类游戏的抽象:这个模型实际就是我们的领域驱动模型,因为这是正对一个行业的游戏的逻辑驱动,也可以理解成mvc的 contnrol 部分。 图中的通信就是单片机的一个远程控制器。这个会根据业务的需要发送一些数据,用来驱动游戏的正常运转,并把功能模块化。
车标游戏:这个就是具体的游戏,最后根据不同的游戏表现,生产出来的就一实际的游戏,也就是一个插件的实现。
通信协议部分:分成两部分来考虑,一是数据安全传输的传输层,这个其实是tcp中的应用 层,我们在一个非可靠的传层的基础上实现一个可靠的数据传输框架,由于游戏的特殊性,我们是与短片机通信我们使用的是com串口通信,所以有这样一个层来保证数据的可靠性,在tcp中,实际只有协议层了。协议层:分析接收到的数据把转换成具有一个数据格式的数据,这儿不做数据分析,只做数据的分包,解包。
下一节用代码的形式来阐述实现。
未完 待续 ....
本文为原创,博客园为唯一官方博客,转载请说明出处....
若有问题请发 邮箱 czjone@126.com 或者加qq:371741579
另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com 架构师技术培训群: 57230994
相关文章推荐
- [置顶]游戏引擎开发与应用最佳 实践 【引擎开发篇】 之三 :模块功能描述与设计抽象思想(设计)
- 游戏引擎开发与应用最佳 实践 【引擎开发篇】 之二 :引擎模块划分(续)
- 游戏引擎开发与应用最佳 实践 【引擎开发篇】 之一 :目录、引擎模块划分
- Windows 8 应用开发实践——labmu版Tunet(一):功能设计
- 设计模式在游戏开发中的应用
- 【Android LibGDX游戏引擎开发教程】第04期:各个模块的详细介绍
- WebApp最佳实践用户体验篇之如何针对多种屏幕尺寸设计合理的移动应用
- LINQ快速开发设计最佳实践(三) LINQ数据访问与业务逻辑层对象模板
- App 后台架构设计方案 设计思想与最佳实践
- Android 游戏与应用开发最佳学习路线图
- 游戏开发手记:战斗模块设计
- Android应用开发以及设计思想深度剖析(1)
- 【安卓开发】最佳实践之一:安卓开发篇
- 探索跨平台应用开发的最佳实践
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- html5游戏开发的五个最佳实践
- 一种寄生型设计模式在 Swing 应用开发中的实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- 基础入门_Python-模块和包.运维开发中__import__动态导入最佳实践?