一、游戏开发制作的概念
1、游戏开发是一个过程,为了激发玩家玩游戏热情,通过遵循设计制作规则,来设计人物、场景等游戏要素。
2、主要流程包括原画创作、建模、材质、灯光及渲染、骨骼设定、动画、特效等部分。涉及范畴包括:游戏规则及玩法、视觉艺术、编程、产品化、声效、编剧、游戏角色、道具、场景、界面等等元素。
3、游戏程序开发归根到底就是软件工程,是游戏制造环节中不行短少的重要部分。游戏程序开发是技术含量最高的,游戏程序员的薪资也相对其他职业高许多,目前游戏职业中游戏程度人才的缺口非常大,供不应求。
二、游戏开发需要具备的知识
1、游戏本质分析,游戏产业概论、游戏开发流程及职业划分、玩家需求分析、构思创意及文档编写要求、游戏故事设计、游戏元素、规则、任务、系统、关卡设计、游戏平衡设定、界面与操作功能。
2、透视基础、构图基础、结构素描、明暗素描、艺用人体解剖基础、人物速写、Adobe PhotoshopCS3软件应用、PhotoshopCS3造型基础、游戏美术风格技法、色彩基础、游戏色彩练习、肖像绘制、质感表现。
3、3DMAX软件基础、游戏材质基础、游戏道具制作、作品渲染。
三、游戏场景制作技巧、场景材质制作、卡通角色制作、写实角色制作、怪物制作。简单分类的话就是:
1、扎实的算法知识。主要有:树或图的搜索算法、A*算法、碰撞检测算法、BSP树、人工智能。
2、相关图形处理知识。比如:Direct X编程、OpenGL编程、图形学的相关知识(三维图形的形体、纹理、贴图、照明,还有三维对象的消隐算法比如油画算法,Z缓存)和动画处理知识。如果想深入还要学会几种三维引擎比如OGRE。
3、扎实的程序语言功底,主要代表为VC、DELPHI和JAVA。其中VC使用最广,现在比较大的游戏也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到了DELPHI;JAVA用于开发手机游戏。
看你搞哪端了,服务器端确实图形方面知识不用那么多,数据库和网络接口,还有信息安全需要考虑
客户端的话,建议LZ去学个游戏引擎吧,这个编程语言一样,都是相通的,学会了一个,再用另一个的时候上手也会很快,毕竟现在早就不是完全用代码去“敲出”一个游戏的时代了,游戏引擎就是帮你把必要的逻辑算法整合到一起,如果你想自定义自己的游戏方式,结合编程语言的知识去学习那个游戏对应的脚本就好了,但更多的还是美工的活。
就拿UDK来说吧,整个引擎就好像一个3D MAX,你用引擎自带素材做一个和AI对战的射击游戏,完全可以用鼠标操作,把素材、场景导入UDK,然后如果你想设置触发事件,打开UDK的kismet(一个可视化编程工具),建立事件和触发事件对应的条件以及物品,用鼠标连连箭头(整体感觉就和UML图一样)。但是你想用自己的素材去做一个,你会发现,可能一把枪的建模,你就会头疼一个礼拜。
对于大型游戏,尤其是3D游戏来说,游戏引擎是必不可缺的,别看现在报道的引擎并不多,好像仅仅有虚幻引擎、孤岛危机的CE3引擎和战地3的寒霜2引擎一样(这些都是要买的,几百万一个,但是类似于UDK这样就是用来让别人接触利用游戏引擎开发游戏的免费版),其实还有很多开源引擎。
我只说大型游戏哈,开发游戏和开发游戏引擎是不一样的,开发游戏引擎需要很底层的知识,比如DX,因为你要去了解如何生成一个物品,并使它渲染出最好的效果,这是游戏引擎开发者需要干的事情。而游戏开发者就好像餐馆中拼盘的师傅一样,我们需要用别人整合到一起的资源,来进行加工和自定义。
当然,也不是说编程不重要,每个游戏引擎不可能就让你用它仅有的功能,如果你觉得他的事件设定不符合你的标准,或者引擎里并没有你要的事件,那么脚本就派上用场了。还是UDK来说,他的是虚幻脚本,类似于java的一种专属脚本,但是你学会C++或java后上手会很快。假如我想将自定义角色导入UDK,那么脚本就有大用了,你需要用脚本替换你的角色,为你的角色的各种动作定义。
目前来看,开发网页游戏基本的技术至少包括:
①photoshop操作以及HTML+CSS+Javascript的基础知识是最最基础的。
②flash+actionScript在IE中必不可少的。
③未来的浏览器世界必将被HTML5统治一段时间,so,HTML5规范中涉及的SVG-canvas、离线存储、WebSocket、webWork等常用技术也是很基本的。关键你说的是“游戏”,而且还是网页的,这个跟服务器语言怎么会有关系呢?服务器做的是数据存取;但是游戏的重点在交互操作,一定是在客户端的操作,至于服务器这边随便什么语言都可以的啊,关键是确保服务器系统软件的数据存取效率&硬件的稳定性。网页游戏要求服务端的相应高并发而且快速相应(可以适当放弃服务端的计算能力)。若是你想了解服务端语言知识,学习java、.NET、php等等都是合适的(java和c#/ASP的计算能力还是很强的,都支持集群服务器),其实核心就是了解它们跟数据库的交互&向客户端的输出的特点,甚至可以自己搭建服务器依托于文件系统作为持久化媒介使用。最近在玩node.js所以自己尝试弄了个服务器,很靠谱的,而且node.js是单线程服务端语言,对于请求的并发和快速相应能力超强,只是集群应用还不是很成熟,目前淘宝在花力气做研究改造。
上一篇:网络游戏开发需要哪些专业知识
下一篇:网络游戏类知识竞赛题库