游戏开发中的程序开发主要包括以下几个方面
1. 图形引擎
2. 声音引擎
3.物理引擎
4.游戏引擎
5.人工智能或游戏逻辑
6.游戏GUI界面(菜单)
7.游戏开发工具
8.开发支持局域网对战的网络引擎
9.开发支持网络战斗的网络引擎
让我们逐一看一下每个部分:
1、图形引擎主要包括游戏场景(室内或室外)的管理与渲染、角色动作的管理与渲染、特效的管理与渲染(粒子系统、自然模拟(如水波纹、植物等))、灯光与材质的处理、LOD(Level Object Detail)的管理等。此外还有图形数据转换工具的开发。这些工具主要用于将艺术家使用DCC软件(如3DS Max、Maya、Soft XSI、Soft Image3D等)制作的模型、动作数据以及使用Photo shop或painter等工具制作的贴图转换成游戏程序使用的资源文件。
2、声音引擎主要包括音效(SE)、语音(VOICE)、背景音乐(BGM)的播放。SE指的是游戏中播放频率较高,播放时间比较短,但要求播放及时不延迟的那些。VOICE指的是游戏中的语音或者人声,这部分对音质的要求比较高,基本上都是采用比较高的采样率来录制和播放声音,但和SE一样,要求播放及时不延迟。SE有时候因为显存容量问题,可能会降低采样率,不影响效果,但是VOICE一般不采用降低采样率的做法,因为降低采样率影响比较大。BGM指的是游戏中循环播放(有时不循环,只播放一次)的一段长段背景音乐,正是因为BGM的这个特性,一般游戏的背景音乐都是通过读盘(光盘或者硬盘)播放的。此外还有一些先进的音效,如EAX,数字影院系统(DTS5.1),数字杜比环绕声等。
3、物理引擎主要包括游戏世界中物体与物体之间、物体与场景之间碰撞后的力学模拟以及物体碰撞后骨骼运动的力学模拟(比较著名的物理引擎有Havok公司的Game Dynamics SDK和开源的ODE—Open Dynamics Engine)。
4、游戏引擎主要集成了图形引擎、声音引擎、物理引擎,主要为某款游戏制作游戏系统。它包括游戏关卡编辑器,主要用于场景的视觉调整,灯光效果和雾效的调整,事件的设置,道具的摆放,NPC的设定等。另外还有角色编辑器,主要用于编辑角色的属性,检查动作数据的正确性等。一般日本游戏公司会直接把关卡编辑器和角色编辑器集成到游戏中,所有的参数调整都是通过游戏中的调试菜单进行编辑。所以他们一般把调试菜单这一部分的功能做得非常强大,并且实时的把一些重要的信息显示在屏幕上。这样做的好处是关卡编辑器调整后的效果直接就是游戏的效果,但是对于程序的复用性可能不是很好。比如说在另一个游戏项目中使用就很难,除非两款游戏是同一类型,只要改一下场景和角色数据网络游戏开发,做成次世代产品是没有问题的,只要按照风格增加调试菜单功能就可以了。
5.人工智能与游戏逻辑开发。在这个领域,日本与欧美的游戏开发模式也有很大差异。在欧美的游戏公司中,使用脚本语言开发非常普遍,所以这部分的程序开发主要用脚本语言编写,脚本程序与游戏程序的耦合度很低。有单独的编辑、编译和调试环境,更有利于游戏程序与关卡设计开发分离,同时并行开发,所以一般他们会有专门做关卡设计的程序员。在日本的游戏公司中,脚本语言一般与游戏耦合度较高,简单的脚本体系一般是通过一些语言宏函数和一些编译器专用函数来完成的,所以一般这些脚本程序只能在游戏程序中调试,无法在单独的脚本编辑、编译环境中进行开发。
6、游戏GUI界面(菜单)主要是指游戏中的用户界面设计,可复杂可简单,简单的有2D GUI界面,复杂的有3D GUI界面。
7、游戏开发工具主要包括关卡编辑器、角色编辑器、资源打包管理、DCC软件插件工具等。
8、支持局域网对战的网络引擎开发,主要解决局域网发包及延时处理、通信同步等问题。通信方式有同步通信和异步通信两种,对帧率要求比较高的游戏采用异步通信。同步通信效率比异步通信低,但同步通信的编程模型比异步通信简单。
9、支持互联网游戏网络引擎开发。目前,大多数网络游戏都是C/S结构网络游戏开发,包括服务器端软件配置管理、服务器程序优化、游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外,有些网络系统是C/S和P2P混合结构,例如XBOX Live。
包装设计