游戏开发中的程序开发主要由如下几个方面组成:
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.声音引擎主要包含音效(Sound Effect简称SE),语音(VOICE),背景音乐(Background music简称BGM)的播放。SE是指那些在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,数字影院系统(DTS5.1),数字杜比环绕等。
3.物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟, 以及发生碰撞后的物体骨骼运动的力学模拟(比较著名的物理引擎有havok公司的game dynamics sdk,还有open source 的ODE—Open Dynamics Engine)。
4.游戏引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,道具摆放,NPC设置,另外还有角色编辑器,主要用于编辑角色的属性和检查动作数据的正确性。一般日本游戏公司的做法,他们会把关卡编辑器和角色编辑器直接做到游戏中,所有的参数调整都在游戏中通过调试菜单来进行编辑,所以一般他们把这部分调试菜单的功能做的很强大,同时在屏幕上实时的显示一些重要的信息,这样做的好处是关卡编辑器调整的效果直接就是游戏的效果,但是对于程序的重用性来说可能不是很好,比如说要用到另外一个游戏项目中就比较难,除非两个游戏类型相同,只要把场景和角色数据换一下,还有做下一代产品也没有问题,只要根据式样增加调试菜单的功能就可以了。
5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设计的程序员岗位。而日本游戏公司脚本语言一般和游戏的耦合性比较高,一般通过一些语言的宏功能和一些编译器的特定功能来完成一个简单的脚本系统,所以一般这些脚本程序只能在游戏程序中进行调试,而不能在一个单独的脚本编辑,编译环境中进行开发。
6.游戏GUI界面(菜单),主要是指那些游戏中用户界面设计,有做的复杂,有简单的,做的简单就是2D GUI界面,做的复杂有3D GUI界面。
7.游戏开发工具主要包含关卡编辑器,角色编辑器,资源打包管理,DCC软件的插件工具等开发。
8.支持局域网对战的网络引擎开发,主要解决局域网网络发包和延迟处理,通讯同步的问题,有同步通讯和异步通讯两种做法,异步通讯用于那些对运行帧速要求比较高的游戏,同步通讯相对异步通讯来说效率相对低,但是同步通讯的编程模型相对异步通讯来得简单一些。
9.支持互联网对战的网络引擎开发,目前大部分网游都是C/S结构的,服务器端软件配置管理,服务器程序的最优化,还有游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外还有一些网络系统是C/S和P2P两种结构混合的,如XBOX Live等.
分享到:
相关推荐
在本资源包中,我们深入探讨了大型3D游戏的设计与制作过程,涵盖了从概念到成品的每一个关键环节。这份资料包含多个重要组成部分,旨在帮助开发者、学生和爱好者全面了解3D游戏开发的各个方面。 首先,"大型3D游戏...
本资源包"大型3D游戏设计制作详析及源代码,游戏脚本,设计报告,技术报告,用户手册.rar"为我们揭示了这一复杂过程的冰山一角。下面,我们将深入探讨其中涉及的关键知识点。 1. **3D图形学基础**:3D游戏的核心是3D...
根据提供的文件信息,我们可以深入探讨一下“大型ARPG网络游戏教程”这一主题,特别是关于网络游戏制作的相关知识点。 ### 一、大型ARPG网络游戏简介 #### 1.1 ARPG定义 ARPG(Action Role-Playing Game),即动作...
Unity3D开发的MMORPG游戏服务器和客户端 Unity3D开发的MMORPG游戏服务器和客户端源码,服务端是用PhotonServer开发,全部解压后900多mb。 所以请不要商用,仅限学习使用
6. **资源管理**:高效的资源加载和管理对于大型3D游戏至关重要。框架可能提供了一套资源管理系统,优化了资源的加载、卸载和复用,减少了内存占用。 7. **网络同步**:如果游戏需要多人在线对战,那么网络同步功能...
Unity3D是一款强大的跨平台游戏开发工具,支持2D和3D游戏制作,广泛应用于移动设备、桌面平台以及网络和游戏机等多平台发布。其基于C#编程语言,提供了直观的可视化编辑器,使得游戏开发过程更为高效。 在这个项目...
Unity3D是一款强大的跨平台游戏开发引擎,被广泛应用于2D和3D游戏的制作,包括各种类型的游戏,从简单的休闲游戏到复杂的大型在线游戏。本项目“坦克大战”是利用Unity3D进行开发的一款双人对战小游戏,它展示了...
在游戏开发领域,Unity...从独立游戏开发者到大型工作室,Unity3D都在为游戏开发提供强有力的支持。随着技术的不断发展,游戏开发的模式和流程可能会持续演变,但Unity3D作为游戏开发的重要工具,将继续扮演关键角色。
Unity 3D是一款强大的跨平台游戏开发引擎,广泛...通过深入学习和实践Unity 3D的Ultimate MMO RPG Kit,开发者可以掌握开发大型在线角色扮演游戏所需的关键技能和最佳实践,从而创造出吸引人的、充满活力的虚拟世界。
本文将深入探讨Geart3D游戏引擎在网络游戏开发中的应用和重要性。 Geart3D是一款开源的3D游戏引擎,专为快速开发高质量的实时3D应用程序而设计。它支持Windows、Linux、Mac OS X以及Android和iOS等移动平台,具有...
Unity3D,作为一款强大的跨平台游戏开发引擎,被广泛应用于各种类型的游戏制作,包括大型多人在线角色扮演游戏(MMORPG)。这款引擎以其直观的可视化编辑器、高效的游戏性能以及丰富的资源库,让开发者能够快速构建...
梁健雄的游戏制作方案主要涵盖了从基础的射击游戏到复杂的3D在线游戏的开发过程,通过逐步学习和实践,展示了游戏编程的多个层次。以下是基于提供的文档内容详细解析的几个关键知识点: 1. **游戏库函数准备**: -...
1. **Unity3D引擎**:Unity3D是一款广泛使用的跨平台游戏开发工具,支持2D和3D游戏制作。它拥有强大的图形渲染能力、物理引擎、资源管理以及一套基于C#的脚本系统,使得开发者能够高效地构建游戏场景、编写游戏逻辑...
《VC++ 3D游戏开发探索:源码分析与学习指南》 在计算机科学与技术领域,游戏开发是一项集...通过解压文件,逐行阅读代码,结合理论知识,我们可以逐步揭开3D游戏制作的神秘面纱,甚至创造出属于自己的3D游戏世界。
Unity3D是一款强大的跨平台游戏开发工具,广泛应用于2D和3D游戏、虚拟现实(VR)和增强现实(AR)项目的制作。本教程旨在帮助初学者快速掌握Unity3D的基础知识,通过学习,你可以了解到游戏开发的核心概念和技术。 1. *...
微软MSDN推出的“3D游戏开发步步高系列课程(1)”正是为了满足这样的需求,旨在帮助学员逐步掌握3D游戏制作的核心技术。在这个课程中,你将接触到一系列关于游戏开发的专业知识,涵盖基础到进阶的各个层面。 首先,...
【3D游戏引擎开发概述】 3D游戏引擎是游戏开发的...总的来说,深入研究这个“基于VC++的3D游戏引擎演示代码”将为你打开一扇通往游戏开发世界的大门,让你更全面地了解3D游戏制作的各个环节,从而提升你的专业技能。