项目设计需要考虑到的内容

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jinsenianhua2012/article/details/78002552

当我们开始着手编写我们自己的项目的时候,我们应该明确我们的项目设计初衷,类型,方向,最终目标。这样我们才能为我们项目准备必要的技术储备,明确我们的制作流程和方向,这样可以让我们走的更顺畅和明确一些。

我们的项目是MMO类型的手游,主要以多人同屏战斗、社交为主。我这里主要从客户端来分析总结。虽然也些服务器逻辑,但是毕竟不是专业的,所以就在服务器端糊弄大家啦,哈哈。就在客户端方面瞎掰扯一番吧

我们选择引擎是Unity4.6, UI使用的NGUI,脚本使用的是Lua 语言。这第一篇博文就简单介绍一下我们项目的组织结构以及个人的浅陋见解,后续的博文会针对其中的点详细掰扯……

我就客户端需要的几个主要的部分来拆分一下:

一 引擎部分

1. 资源管理模块。

这块需要负责整个游戏中资源的加载、实例、回收、销毁等操作。最好是在前期就确定你的资源加载是采用同步还是异步加载实现,因为这关系到系统中使用的方法的书写。因为这块定了系统逻辑才能确定如何使用想要的资源。我们选择的是使用异步方式加载资源,考虑的是减少资源加载对主线程的阻塞效果,以此希望能够减轻资源加载带来的卡顿。并且这个也能试用于页游,当然对于手游,同步异步都可以。

2. 通信模块,消息定义处理模块

这块主要是负责与服务器通信,并定于消息的收发格式。这块需要与服务器端的开发协调。这部分要在前期就应该考虑好需要使用怎样的通信协议。与服务器约定好怎样的格式要求,只要前期确定好,后面的开发才能开始。

3. 划分资源目录结构

好的资源目录结构能够对方面做很多高效简洁操作,比如资源监察,批处理等操作。合理的资源目录划分都是对应具体的功能来的。比如Fbx模型,Prefab,Resources,图集,场景,特效等。

要做资源导入监察,比如模型资源导入的时候监察时候复合规范,以及是否需要进行Mesh压缩等;纹理贴图导入的时候根据其作用的地方选择不同的压缩格式等

4. 游戏中的资源效果体现

这个就太笼统,太庞大,太不知道该如何说起啦。比如我们游戏中

灯光的设定,

烘培参数的设定,

模型顶点数面数骨骼数的设定

其他美术大爷的要求,这方面任重切道远,我只是还在路上原地踏步,泪奔……

5. 脚本调用

我们使用的是Lua脚本,就必须要实现lua与cs的通信,这样才能使lua脚本可以运作我们创建的资源对象。只有高效的通信结构才能是游戏运行流畅,并且将我们的主逻辑全部写到脚本中,这是多么理想话的情况啊,哈哈。但是也不是不可行,当下的 ulua, xlua效率都是蛮高的,不过离lua与c++的交互速率还是差的远,所以如果是cs与lua交互的话,应该尽量降低两者之间的交互。

较好的设计是我们的借鉴com编程思想,使用cs来实现具体的单元功能,可以通过简短的命令便可以完成对应的功能,将功能组件化设计,

二、系统逻辑设计

系统的架构方面也是至关重要。

逻辑设计中一定要设计好自己的架构格式,要不到后面重构起来就蛋疼啦……

我比较喜欢PurMVC这种设计模型。单一个系统中

猜你喜欢

转载自blog.csdn.net/jinsenianhua2012/article/details/78002552
今日推荐