游戏设计需要哪些知识

作者&投稿:辛义 (若有异议请与网页底部的电邮联系)
做一名游戏设计师需要哪些方面的专业知识?~

我好像刚答完一个类似的问题……
简单说来,游戏设计分很多种。比较明显的是3类:1,游戏策划,即文字类。2,概念设计。3,包含3D设计和关卡设计在内的综合GAME
DESIGN。咱不算GUI啥的,我不觉得你想要做的是那种。
1的收入比较低。2当然需要NB的美术基础,还要懂得用PS啊PAINTER啊啥的。3是最复杂的一类,需要的技能是:软件应用。
你没看错,确实是软件应用,但是这个软件不是普通的软件。除了MAYA、3DSMAX(2选1)这种3D制作的软件以外,还需要精通各种关卡设计的软件。当然我所谓的软件应用并不是懂得哪个功能有什么效果就好,还包括使用软件设计出作品来。简单来说就是:你需要掌握3D制作的方法以及游戏制作软件的应用技巧。
编程?你指C++什么的?三个字:不需要。那些大学4年学软件设计和编程的理工生是吃什么的?轮得到一个游戏设计师来代打?

王氏教育全国13个校区线下预约试听: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-609619927

1、3D游戏道具与场景

从了解游戏发展历史到3Ds MAX软件制作3D网游道具、3D场景、2转3场景及多边形建模,UVW编辑器讲解,合理利用UV及UV重叠处理贴,贴图技巧,等色彩运用;模型布线及面数控制,灯光与贴图烘焙技术,在贴图处理方面要把握好素材的选择与处理,如何处理好木纹、墙体、瓦片等常规贴图技法。

2、次世代游戏道具与场景制作

围绕次世代道具、载具、场景为例学习ZBrush、MudBox软件操作及高模的制作流程,Body Paint3D操作,掌握各种笔刷、遮罩、图层的效果应用,掌握xNormal、法线贴图的生成方法以及ZBrush、MudBox、Body Paint3D在次世代游戏美术生产流程中的应用,游戏引擎的了解。

学习游戏设计到王氏教育,王氏教育集团国内一、二线城市都开设校区,王氏教育集团配备业内一流的教育名师,学员除了课上可以接受到最专业的培训以外,课后利用王氏教育集团特有的教学管理系统以及绘学霸APP等等均能获得得大量的学习资源,在有限的时间内最大限度地接触到专业的知识。

主要工作
主要负责如下工作:
· 以创建者和维护者的身份参与到游戏的世界,将您的想法和设计传递给程序和美术;
· 设计游戏世界中的角色,并赋予他们性格和灵魂;
· 在游戏世界中添加各种有趣的故事和事件,丰富整个游戏世界的内容;
· 调节游戏中的变量和数值,使游戏世界平衡稳定;
· 制作丰富多彩的游戏技能和战斗系统;
· 设计前人没有想过的游戏玩法和系统,带给玩家前所未有的快乐。

多媒体
使用多媒体声音
多媒体功能在游戏中是必不少的一部分,优美的音乐,漂亮的界面往往是一个成功游戏必需具备的条件。
在开始之前我们先了解一下主要的小型声音文件类型:
AU - (扩展名为AU或SND)适用于短的声音文件,为Solaris和下一代机器的通用文件格式,也是JAVA平台的标准的音频格式。AU类型文件使用的三种典型音频格式为: 8位μ-law类型(通常采样频率为8kHz), 8位线性类型,以及16位线性类型。
WAV - (扩展名为WAV)由 Microsoft和 IBM共同开发,对WAV的支持已经被加进Windows 95并且被延伸到Windows 98. WAV文件能存储各种格式包括μ-law,a-law和 PCM (线性)数据。他们几乎能被所有支持声音的Windows应用程序播放。
AIFF - (扩展名为AIF或IEF)音频互换文件格式是为Macintosh计算机和Silicon Graphics (SGI)计算机所共用的标准音频文件格式。AIFF和 AIFF-C几乎是相同的,除了后者支持例如μ-law和 IMA ADPCM类型的压缩。
MIDI - (扩展名为MID)乐器数字接口MIDI是为音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。
在JDK1.0上,java只支持*.au格式的声音文件,但是java2的API以及声音包提供了很强大的对声音技术的支持。而此部分为了让大家快速掌握游戏编程的基本知识,我们仅使用了AudioClip接口类来实现播放"*.wav"。如果大家有兴趣可参考sun java网站的声音sapmle,上面提供了完备的实例和教程说明。
使用AudioClip接口比较简单,我们只要实例对象,加载声音文件后,再在任何地方播放即可。恢复和播放声音最简单的方法是通过Applet类的play()方法。
AudioClip接口
1.播放 play
2.循环 loop
3.停止 stop
启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,getAudioClip方法要用一个或两个参数,当作播放的指示。第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。
下列代码行举例说明加载声音文件进入剪贴对象: 下面的"gun.wav"是指当前目录下的声音文件。我们也可用*.au格式的文件代替。
AudioClip co = getAudioClip(getCodeBase(), "gun.wav");
getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:
AudioClip co = newAudioClip(“gun.wav”)
我们现在可在任何地方使用方法play()播放我们的声音了。play()一旦被调用立刻开始恢复和播放声音。但这有一点要注意:如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。
图片处理技术
图片的处理和声音的处理在一样简单。设置图片变量,得到图形,最后绘制图形。我们就直接从代码来分析。在此我们绘制一幅applet的背景图。开始绘制前,我们先要声明图形变量,用来存放图形文件。
Image backImage;
// 加载图片文件
backImgage = getImage (getCodeBase (), "black.gif");

下面在我们的paint()方法中利用函数drawImage绘制我们图形。
g.drawImage (backImage, 0, 0, this);
DrawImage参数中的blackImage即我们得到的图形,而后面的0,0分别代表图形的x坐标和y坐标.this:为图形代表的类,这里指的即picture类。在这里建议大家使用*.gif格式的图片文件。因为如果是internet网上,文件的大小也决定了你的applet加载时的快慢,没有人很愿意等很长时间来玩你的游戏,即使你的游戏比较出色。源代码及演示程序下载.
大家在玩游戏时是不是见过人物图像行走?动物来回跑动的动画?这些都是基于图形技术来实现的。我们只要把上面的代码稍微修改,用数组变量来存储我们得到的图形文件组,再利用drawImage()方法播放出来就可实现动画图片的播放.
Image[] backImage;
// 加载图片文件
for (int i=4,i<backImage.length,i++)
{
backImgage[i] = getImage (getCodeBase (), "t1"+i+".gif");
}
大家可参考JDK包中的Animation例子,它就是一个很好的播放一组图片文件的例子。
五、事件处理
鼠标监听技术
玩游戏时,不管是小型的扑克牌和大型的RPG游戏,都要参与者溶入到游戏的角色当中。不错,交互,游戏有了交互的功能才可以说是一个完整的游戏。即使是编程游戏如机器人足球,Robocode都要程序员参与编写代码,观察比赛。有两种主流方法可实现游戏的交互:鼠标和键盘。当然还包括手操杆等,但现在大部分Pc机上使用的还是鼠标和键盘。我们就以这两项为基础来说明游戏中事件的响应过程。
要判断相应的鼠标所进行的动作:是点击,还是移动。我们必须对我们鼠标进行监听。要监听鼠标事件就必须调用这些接口之一,或扩展一个鼠标适配器(mouse adapters) 类. AWT 提供了两种监听接口(listener interface): java.awt.event.MouseListener 和 java.awt.event.MouseMotionListener.
现在我设计一个鼠标事件,当点击applet屏幕时,下降的球向反方向运动。以实现了对游戏的简单控制。
MouseListener一共有5个方法,主要用来实现鼠标的点击事件。这里要注意一点:由于MouseListener是接口我们要在实现的类中重载它的所有方法.
Mouse点击事件
• mousePressed() 当用户按下鼠标按钮时发生.
• mouseReleased() 当用户松开鼠标按钮时发生.
• mouseClicked() 当用户按下并松开鼠标按钮时发生. 用户在选择或双击图标的时候通常会点击鼠标按钮. 用户如果在松开鼠标之前移动鼠标,点击不会导致鼠标相应事件出现.
• 因为点击鼠标是按下鼠标和松开鼠标的结合, 在事件分配给 mouseClicked() 方法之前, mousePressed() 和 mouseReleased() 方法已同时被调用.
鼠标状态处理:
mouseEntered() 当鼠标离开当前组件并进入你所监听的组件时激活事件.
mouseExited() 当鼠标离开你所监听的组件时发生.
Mouse 移动事件
鼠标移动主要通过接口MouseMotionListener来实现:
mouseDragged() 当用户按下鼠标按钮并在松开之前进行移动时发生.在mouseDragged() 后松开鼠标不会导致mouseClicked().
mouseMoved() 当鼠标在组件上移动而 不时拖动时发生.
依据我们的游戏设计,我们在这要使用到MouseListener接口。实现接口后。我们要在init()函数加入监听器addMouseLisener(),来监听对applet的响应事件。
知道了鼠标事件的处理,我们再来回顾一下上面提到的球反弹设计,现在我们要如何处理了球的控制呢?让我们想一想,不错,可能你已经发现了,我们照样可通过改变speed方向来实现回弹控制操作。在mousePressed(){}事件中加入下面的代码,我们的回弹控制就设计完成。
speed = -4
记得在释放applet资源时,我们要释放mouseListener资源。在destory()中加入
removeMouseListener(this);
可能有些朋友会使用mouseDown()方法,mouseDown()在此我建议大家不要再使用这个方法了,它已经是被淘汰的产品。是为了兼容JDK1.0而带到JDK1.4中来的。
六、键盘监听技术
知道了鼠标的操作处理,键盘的操作处理就很简单了。我们只要实现keyListener接口,并在相应的事件中加入我们要实现的代码。
KeyPressed: 当按键时发生
KeyReleased:当翻译键时发生
KeyTyped:当打击键时发生
由于在后面我们设计的游戏中我们不会使用到键盘操作,键盘事件处理我们就交给大家自己去实现。
现在我们来回顾一下我们能做什么了?移动一个物体,加载声音和图片,用鼠标对游戏进行一定的控制。哦,我的天,我们已经可以做自己的很简单的游戏了。是的,你可以了,我认为在此,大家可以放下教程,把自己小时候一直想玩的游戏,把自己学程序时一直想做的游戏自己进行设计实现,这对你的帮助将是非常大的。对你的编程水平也是一个很大的提高。
当然如果你仍然认为自己认识还不是很深,下面让我们来设计一个完整的游戏。这将是一个很有意思的过程。
第一个游戏-"保卫者"
主线思路:
真正做自己的游戏是总是很兴奋。在开始任何事情之前,我们都要有个好的设计,游戏更不例外。下面我们就以上面的例子为本。设计一个”保卫者”的游戏。游戏思路本身很简单,从屏幕的顶端不断的有炸弹落下来,而我们这些”保卫者” 要在它们着地之前,用鼠标点击让它反弹回去,不让它落到地面上来,但是球在上升过程中我们也要注意不让它撞到顶上。如果撞到顶上或地画,你的生命点数都会减少。每点中一个炸弹你的分数就会增加。当你的生命点数为零。”Game Over”。
设计结构:
1.模块设计:
游戏的结构很简单,由三个模块组成。
Denfen类:Denfen类控制整个游戏主线程,初始化炸弹类,并绘制屏幕上的炸弹数量及处理炸弹的移动,并监听鼠标事件
Bomb类:主要是判断炸弹的速度,方向,是否撞到地面和点击事件
Denfense类:主要用来处理游戏者的记分和生命点数
2.方法实现:
Denfen:
init(): 初始化所有对象,包括声音文件的加载,Bomb类的生成
run(): 处理炸弹的下降运动
paint(...):绘制炸弹及相关的数据记录显示
update(...): 实现屏幕图像的双缓冲,消除闪烁
mouseProcess (...): 利用mouseEvent事件监听来处理鼠标按下事件,并根据鼠标当时的x坐标和y坐标判断是否点中炸弹。
addBomb():利用默认值来动态实现bomb的生成,这里我们利用了数组来记录的。默认值是3,大家可依据自己的爱好增加或减少记录。
Denfenser:
Score:积分
Life:生命点
AddScore():增加游戏者的积分
Death():减少游戏者的生命点数
getScore():获得当前的积分数
getLife():获得当前的生命点数
Bomb:
Bomb(...): 构造函数,初始化炸弹的位置,声音,颜色等相关变量的值.
down():处理bomb的下降
isRebound ():反向回弹炸弹的方向,并根据积分来加快炸弹的下降速度
userHit (int x, int y):游戏者是否点中炸弹。
wasHitEarth(): 判断炸弹是否撞击到地面或顶面,如果是生命点将减少。
DrawBomb(Graphics g): 绘制Bomb图象。
3.工作原理:
首先我们在init()方法中加载所有游戏必要的资源,包括声音,鼠标事件的监听、背景等相关设置。利用addBomb()方法增加bomb的数量、初始位置及初始化颜色。再利用start()启动线程。线程调用run()方法,处理炸弹下降运动down()。Repaint()会在每一个单位时间调用paint()方法不断的刷新屏幕,paint()调用Bomb.addBomb()绘制炸弹。当游戏者按下鼠标,mousePress()事件激活,判断是否点中了炸弹。如果点中addScore()自动加1分。如果没有点中炸弹,炸弹继续下降,当撞到屏幕wasHitEarth()方法激活,其内调用death()方法,减少Denfenser.life生命点,同时audio.play()处理声音的播放,用以提示游戏者。当你的生命点数小于0时”Game Over”。
这个游戏并不是很完善。下面提到一些改进方法,大家可以动手试试。做出适合自己的游戏风格来。具体的源代码及实现过程请大家从这里下载.
4.游戏的改进:
背景的替换,本例的背景用的是函数setBackground(),大家可用相应的图形来代替。
炸弹数量的增加,为了减少复杂度,例子用到的炸弹数量是固定值3,我们可根据积分的多少,在游戏中动态的增加炸弹的数量。
等级的设置,本游戏中没有等级的功能。如果大家在游戏中加入等级,依据不同的等级不断的变换游戏的模式,这将是很有意思的过程。
模式改变。我们可以在游戏中实现自己的模式。如消灭炸弹。点一个炸弹,就让炸弹从屏幕上消灭。
我们还可以增加一个游戏者,加大游戏的可玩性。增加键盘的处理功能。加大游戏的灵活性。
还有很多很多的处理和玩法,这都等着你去发掘。相信java 游戏编程将会是一个很有意思的学习过程。
七、附录:缓冲机制
. 缓冲区 缓冲区用来储存着色的像素(影像)在视频内存中的区域。缓冲区的大小由解析度和色深决定,例如800x600,16bit色的缓冲区就占用800x600x2(16bit=2bytes)的内存区域。
(1) 前置Buffer是当前显示在萤幕上的缓冲区,后置Buffer是尚未显示在萤幕上的缓冲区。
(2) Single Buffering使用一个前置缓冲区,在着色的同时影像立即显示在萤幕上。因此当萤幕更新影像时会出现闪烁的现象。Single Buffering在目前的程序中已很少使用。
(3) Double Buffering则使用两个缓冲区,一个前置Buffer,一个后置Buffer。所谓前置和后置是相对而言的。前置缓存的像素在屏幕上显示的同时,显卡正在紧张地着色后置缓存中的像素。
后置缓存的像素上色完毕后是以Vsync信号的形式等待。在前置缓存和后置缓存交换后,新一轮的着色工作又重新开始。这正如舞台话剧中前台和后台的演员一般。在前台演员表演时,后台的演员仍在进行最后的排练。前台的演员下场时正是后台演员登场的时间。唯一不同的是前置和后置缓存是循环轮番上阵,而演员表演完毕一般都不再出场。目前大多数游戏内定都使用Double Buffering。
(4) Triple Buffering使用一个前置缓存和两个后置缓存。在着色完第一个后置缓冲区的数据后,立即开始处理第二个后置缓冲区。今天,不少新游戏都采用的是Triple Buffering,Trible Buffering正逐渐成为发展的趋势,因为它没有Vsync(萤幕的垂直刷新频率)等待的时间,游戏也将更加流畅。Triple Buffering也是3Dmark2000测试的内定值设定。

游戏设计主要是学什么的?
答:游戏场景设计需要学:CG艺术基础、游戏场景道具、中式场景制作、西式场景制作、环境营造和组合场景、Q版场景制作。游戏角色设计需要学:CG艺术基础、游戏道具、四足动物制作、游戏角色制作、Q版人物角色、怪兽角色制作。2游戏设计师的就业前景怎么样 游戏设计是一个高端小众的行业,游戏设计师是整款游戏的核心,...

游戏设计的概念是什么?
答:二、游戏开发需要具备的知识 1、游戏本质分析,游戏产业概论、游戏开发流程及职业划分、玩家需求分析、构思创意及文档编写要求、游戏故事设计、游戏元素、规则、任务、系统、关卡设计、游戏平衡设定、界面与操作功能。2、透视基础、构图基础、结构素描、明暗素描、艺用人体解剖基础、人物速写、Adobe PhotoshopCS3...

游戏ui设计需要学习什么内容?
答:怎么学游戏UI设计?既然是设计,自然最基础的设计软件要过关,一起来看下学游戏UI设计的基础软件有哪些?1、Photoshop Photoshop软件的界面构成与计算机图像设计的基本知识,各种图像处理工具的使用。2、Illustrator 矢量图形绘制软件的界面与工具;矢量图形绘制的技巧。3、Indesign 页码设计、文本和样式、图形...

成为一名游戏设计师要具备什么?
答:当然,成功的游戏设计师需要的不仅仅是知识,更是要拥有丰富的游戏知识。关于成为一名游戏设计师要具备什么,环球青藤小编就和您分享到这里了。如果您对游戏建模有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于游戏建模的素材及学习方法等内容,可以点击本站的其他文章进行学习。

2d游戏美术需要学习什么?
答:游戏制作流程:了解游戏开发的整体流程,包括策划、编程、测试等,以便更好地与团队合作。沟通与合作:培养良好的沟通和团队协作能力,能够理解项目需求,与团队成员共同完成项目。持续学习与实践:游戏行业不断发展,作为一名2D游戏美术师,需要不断学习新技能和知识,跟上行业趋势。

游戏设计师需要学什么
答:游戏设计师要学好程序语言,简单的模型制作,有一定的想象力,能创作,要掌握基础的文字功底,游戏的设计涉及方方面面,基础的内容都要涉猎,最后根据自己的能力以及兴趣,再朝着自己最想要的方向拓展。游戏设计师是负责游戏项目的设计以及管理等的工作者,如果没有一点点基础的话想要入门有一点点难度。

游戏设计师需要掌握什么技能
答:对于游戏美术设计师来说,需要有基本的美术绘画技能、相应的电脑软件操作技能、游戏相关的专业理论知识。如果靠自学是很难全面学习的,所以更建议大家去专业的培训机构系统接受培训,这样对于就业、未来职业发展都是很有帮助的。游戏设计,主要是指游戏美术设计环节中所需要的原画设计、三维建模设计、动作设计、...

游戏设计师要学什么 要会哪些软件
答:目前游戏市场越来越火热,成为一名游戏设计师成为很多人的梦想,那么,游戏设计师要学会什么呢?本人总结出以下几点,供参考:首先,要会一些最基本的软件操作,比如PS、AI、CAD、3DMAX等。2D和3D设计 游戏需要一个漂亮的外观。主流的当下新游戏都是需要一个强大的设计、音效、程序、游戏艺术团队。这表示,...

学游戏设计需要什么基础
答:美工,程序,音效等。在工作里每一个人都是做其中一部分,比如美工的就做美工的事,不做程序和音效的。不过业余很多人都是自己一个软件全搞的,因为业余自己可以挑选别人做好的音效来改或者图片来改。美工最基本手绘要过关,程序员最基本自己能写出每个类型的游戏,基本功能的代码。在程序里数学。一般都...

做游戏开发需要学哪些技术
答:11、对游戏的理解:虽然不玩游戏也一样能参与游戏开发,但玩过游戏的人还是有优势的。最明显的是玩过游戏的人会对游戏有更多的想法与意见,也习惯去主动学习其他的游戏的技术与优点。12、开发经验:这个就比较宽泛了,难以只言片语说清。游戏开放工程师需要做什么 1、了解并致力于游戏总体设计。2、...