zoukankan      html  css  js  c++  java
  • [置顶]游戏引擎开发与应用最佳 实践 【引擎开发篇】 之三 :模块功能描述与设计抽象思想(设计)

    另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com

       进入正文之前先鄙视一个博客园,【发布到博客园首页(6小时内只能在网站首页发布1篇随笔)】  ,我不能一次写完了连续发啊。不知道你们是什么 逻辑?  

    首先上一个架构的总体图。这个图描述的是整个游戏模块间相互关系,功能与作用,整个框架的设计可以算是把oop的设计思想发挥到了很高的一个境界,什么抽象,解偶,数据驱动,这些思想在本框架中都有比较深入的使用案例。华丽而不偏离实际使用。(图有点大,请来耐心等待...)

    另提供网络远程语音视屏的技术培训,包括: .net 、cocos2d、xna 、sqlsever、C++编程与技巧 、IOS游戏开发、ANDROID游戏开发相关的技术培训 300 元一个月,周一至周五 每天晚上8:30~9:30 详情请联系QQ:371741579 email:czjone@126.com

    特殊说明:

    整个引擎使用的是数据驱动模式,基本上不会在逻辑中出现任何与数据有关的编码。

      最左边的那部分是游戏框架的核心部分, 包括:引擎需要的环境初始化与环境管理,时间管理器,资源管理器,声音管理器,渲染器(这个在最开始的时候考虑到与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

  • 相关阅读:
    用Python完成一个汇率转换器
    鸿蒙如何用JS开发智能手表App
    鸿蒙如何用JS开发智能手表App
    SAP Spartacus SplitViewComponent Migration 的一个具体例子
    SAP Spartacus B2B 页面 Popover Component 的条件显示逻辑
    SAP Spartacus 升级时关于 schematics 的更新
    SAP Spartacus B2B 页面 Disable 按钮的显示原理
    SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
    通过 Feature Level 动态控制 SAP Spartacus 的页面显示
    SAP Commerce Cloud Build Manifest Components
  • 原文地址:https://www.cnblogs.com/czjone/p/2d-2.html
Copyright © 2011-2022 走看看