文/姜雪伟 网名海洋,资深程序,CSDN社区专家,CSDN特邀编辑,畅销书作者,已出版书籍《手把手教你架构3D游戏引擎》、《Unity3D实战核心技术详解》等书籍。

  前面介绍过各种架构设计,也编写过使用架构设计开发游戏,但是没有细说用什么工具去做架构设计,在这里我谈谈自己是如何做架构设计的。

  在给在线学院讲架构设计的课程时,我经常使用Xmind工具把模块规划好,在CSDN做到各种知识库图谱也是基于XMind,比如我做视频课程时给读者讲述的游戏都包括哪些算法就是使用的Xmind,制作的效果如下所示:

1113429kggqrrg2kaho952.png
  通过这个设计读者很容易可以看到引擎中使用的各种算法,这个图谱在游戏开发中也经常使用,非常有利于帮助开发者理清模块。比如在策划提供了需求后,开发者要写逻辑需将各个模块罗列出来,基于Xmind是一个非常好的选择,比如我做的视频课程中所制作的游戏架构设计如下图所示:

111343fsomdc13nmk2fn0n.png
  该游戏架构设计把MMORPG主要的模块都列举出来了,但是通过它我们还是不知道如何编写代码,当然经验丰富的人除外,因为同类型的游戏,它们的模块设计基本上差不多,有过经验的人可以直接编写就可以了。但是如果我们作为新手就必须要理清模块之间的逻辑思路,这个就非UML莫属了。UML在模块逻辑开发中非常好用,它可以帮我们把类的关系标识清楚,这样我们写代码就非常简单了,下面给读者把UML的模块架构图给读者展示如下:

111344gqgbguva3xtggkgg.png
  上图是笔者给公司做培训时使用的策略模式做的UML类图,它把类之间的关系标注的非常清楚,这样程序员写逻辑就非常容易了。我非常不赞成开发者拿到需求就开始写代码,这样的代码后期会出现各种问题,代码的扩展性,模块之间的耦合性等,因为游戏开发中需求会经常变化的,我们编写的模块要能够应对这种需求变化。我的建议是拿到需求后,通过Xmind把需要编写的各个模块列出来,这样至少知道自己要做那些工作,下面再使用UML架构图把模块之间的关系设计好,最后才开始写代码,虽然前期用的时间多一些,但是它是值得的,避免我们项目后期出现返工问题。我带团队时,会跟项目组的人员讨论各个模块之间的关系,细到使用那种配置文件,都要在编写代码之前定下来,接下来通过UML把类之间的关系画出来,最后将其分配给下面项目组的成员进行逻辑代码的编写。

  我写这篇文章的主要目的是告诉读者,我们编写代码要养成一个好习惯,把游戏模块之间的关系理清楚,使用UML做类的设计时还需要掌握设计模式。设计模式在游戏中使用的非常多,比如单例模式,工厂模式,状态模式等。设计模式一共23种,作为开发者对游戏中常用的模式必须要掌握的。

相关阅读:使用 Unity 3D 开发游戏的架构设计难点
锐亚教育

锐亚教育,游戏开发论坛|游戏制作人|游戏策划|游戏开发|独立游戏|游戏产业|游戏研发|游戏运营| unity|unity3d|unity3d官网|unity3d 教程|金融帝国3|8k8k8k|mcafee8.5i|游戏蛮牛|蛮牛 unity|蛮牛