游戏项目架构及管理
一个项目开发的过程顺不顺利、多人协作效率是否高效、后期拓展及维护成本是否浪费等,都和前期的项目架构有着密不可分的关系。这次就仔细的聊一下项目架构的问题。这里提前声明一下:本篇文章不涉及到具体功能的实现和技术讲解。
做多了游戏的人,尤其是负责过中大型项目的人都知道,底层架构很重要。决定了后期功能修改和维护的成本,以及性能瓶颈等。要搭建一套可以支撑项目快速开发,易于维护,性能出色的底层。项目架构便于与其他人沟通,不同逻辑代码之间的交互,与美术,策划的沟通。框架可以让多人合作更加顺畅,包括策划和美术。同一件事情做到第三遍的时候,它就应该被封装和抽象到底层,或工具。
架构大纲
这里罗列一下需要考虑的关键点,如果不够全面大家可以补充。本身服务器不是太擅长,所以服务器部分内容可能不太全面或者存在片面的理解请多多指出。
客户端
- 引擎选择:根据项目需求、团队人员组成等因素来选择引擎。
- 网络通信:根据项目类型来选择合适的网络通信方式。
- 项目结构:项目的目录结构很重要,是项目与人沟通的基本框架。
- 命名规范:命名规范就是代码与人沟通的细节了。
- 适配原则:移动游戏都要考虑适配,不同游戏也需要不同的适配策略。
- 其它待补充
服务器
- 结构设计:服务器结构设计,节点之间的关系。不同的游戏类型,甚至同类型的不同玩法之间的游戏结构也会略有不同,适应游戏的玩法去做架构,能降低项目的研发风险及上线后的维护成本。
- 框架设计:服务器逻辑抽象层设计。业务逻辑及开发工具箱的高度抽象可以让开发更高效。
- 其它待补充
其他
- 通用配置数据:策划配置的静态数据,采用什么样的形式编辑、存储及读取。
- 前后端协议配置:网络协议的约定。出色的协议配置策略可以让服务器和客户端更高效的开发和沟通。
- 发布及打包方式:科学的版本管理及发布可以为项目剩下很多时间。
- 脚本工具选择:项目中总会需要写很多脚本来处理一些复杂同时还重复的工作,哪些内容适合脚本化呢?又要选择哪些脚本语言来开发呢?
- 项目协作工具:项目协作工具也很重要,优秀的项目管理工具可以提高沟通效率,降低研发成本。
- 其它待补充