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