如何开发一款游戏:游戏开发流程及所需工具

向作者提问
硕士期间,在导师的带领下参加了973和863国家重大专项课题的研发,物联网协同创新中心国家重点实验室成员,曾在校担任助教。毕业至今一直在某互联网公司从事后端研发工作,技术发烧友,常活跃在各个论坛。
查看本场Chat

游戏作为娱乐生活的一个方面,参与其中的人越来越多,而大部分参与其中的人都是以玩家的身份。他们热爱一款游戏,或是被游戏的故事情节、炫丽的场景、动听的音乐所艳羡,亦或是被游戏中角色扮演、炫酷的技能、有趣的任务所吸引,然而他们中的大多数可能并不了解如此一款好玩的游戏是如何打造出来的呢。对于想来这个行业尝试的新人们,先对游戏开发制作有个整体的了解也是非常必要的。那么接下来我将从几个方面来分别进行阐述。

基础知识

游戏,说白了就是一个程序,这个程序或在PC上或在移动设备上运行,玩家通过与这个程序交互来达到娱乐性的目的。我们先了解一下游戏中用到的各种引擎以及游戏相关术语。

游戏引擎

游戏引擎是游戏研发的主程序接口,它为开发者提供了各种开发游戏的的工具,即可编辑游戏系统和实时图像系统的核心组件,其目的就在于让开发者可以快速的做出游戏而不必从零开始。游戏引擎包含渲染引擎、物理引擎、碰撞检测系统、网络引擎、音效引擎、脚本引擎、动画及场景管理等。

  • 渲染引擎:是对游戏中的对象和场景起到渲染的效果,游戏中的角色都是通过渲染引擎将它的模型、动画、光影、特效等所有效果实时计算出来并展示到屏幕。

  • 物理引擎:让对象运动遵循特定的规律,比如当角色跳起的时候,系统内定的重力值将决定它弹跳的高度及下落的速率。

  • 碰撞检测系统:可以探测各物体的边缘,当两个3D物体在一起的时候,系统可以防止它们相互穿过。

  • 网络引擎:是负责玩家与设备间的通信,处理来自键盘、鼠标及其它外设信号。若游戏联网,它也用来管理客户端与服务器间的通信。

  • Lua引擎:是Lua的服务器引擎,lua是一种轻量级的嵌入式脚本语言,在网游开发中应用广泛。

总的来说,一个游戏是引擎和资源组成的,资源包括图象、声音、动画等,游戏引擎就像一个发动机,控制着游戏的运行,它按游戏设计规则依次调用游戏资源。

游戏名词

  • CD-key:游戏的序列号或防盗密码;
  • BugFree:测试管理平台,是一款基于Web的开源错误追踪工具;
  • Ping:从客户端发送数据到服务器到接收到服务器反馈数据的时间,以ms计,若Ping值高会感觉延迟;
  • Proxy Server:代理服务器,代理网络用户去取得网络信息;
  • PU:付费用户;
  • RU:注册用户;
  • AU:活跃用户;
  • DAU:平均每日活跃用户;
  • CCU:同时在线人数;
  • PCU:最高同时在线人数;
  • ACU:平均同时在线人数;
  • ARPPU:付费玩家平均收入;
  • 封测:限定用户数量的游戏测试,用来对技术和游戏产品进行初步的验证,用户规模较小;
  • 内测:面向一定数量用户进行的内部游戏测试,多用于检测游戏压力和功能有无漏洞;
  • 公测:对所有用户公开的开放性的网络游戏测试。

游戏的种类

游戏的分类方法很多,可以按终端、内容、摄像类型、玩家格斗对象、玩家人数等来分,其中按内容来分最直观,它可以根据游戏的元素迅速锚定游戏范围。

路人
个人感觉,有点划水… 没有任何深度
goto先生: 这篇是针对游戏初学者的入门介绍的,针对技术的深度讲解比较少,请见谅。
微信扫描登录