动手做游戏不是梦
软件世界
一个艺术的新贵,它的一只脚已经踏入第九艺术殿堂的大门;一个新兴的产业,但可以骄傲地向世人宣称它的利润已经超过好莱坞的电影。它是谁,它就是电脑游戏。
当无数人在那虚幻的世界中徜徉时,你是否想过自己去做一款游戏,你是否曾经尝试将自己设为游戏的主人翁?你可能看到复杂的迷宫布局、美丽的山水风景、精彩的人物动作,你望而生畏了,游戏开发不是一般人能够享受的乐趣。
这个夏天,这个暑假,你只需要有一点时间,你就有了实现自己制作RPG游戏梦的机会。因为,最近“软件世界”特派小编——阿志深入游戏开发高手内部,学到不少绝招。从这期开始,阿志就会带领大家来做一个自己为游戏主人翁的RPG冒险游戏……
我的刀 游戏开发基础
游戏开发牵涉了众多的编程技术,是技术含量比较高的一类软件开发项目。阿志不想虚张声势,但要成长为一个优秀的游戏程序设计师确实需要掌握广博的知识,如果没有在此行业里数年的资历和多个项目的经验是难以立足的。
具体说来,游戏开发相对较高的门槛主要由以下三部分构成:
1.语言及相关领域基础
游戏开发要求程序员熟练掌握C、C++等语言,有时也会用到Pascal、JAVA等等。但鉴于通常会频繁地与硬件底层打交道,所以C++是最主流的应用。相应地也就要掌握如VC、Delphi、BCB等编程工具和一些脚本语言的编写。
现在的游戏必然是声色两全,所以图形图像和音频处理也是基本的课题。图形方面,需要掌握计算机图形学原理、常见图片格式和视频的解压缩、二维和三维图像的快速写屏等。音频方面,常见声音格式的回放、解压缩是对程序设计师的基本要求。
另外,必须熟悉Windows系统的原理、消息机制;了解计算机硬件系统、对显卡、CPU等重要硬件的优化;掌握常见的游戏SDK编程(主要是OpenGL、DirectX)和网络编程。
2.数学要求
千军万马厮杀、特种部队灵巧地穿越丛林和敌人PK。要在游戏中实现这些都需要动用大量的数学知识来用于编程中。一般来说高等数学、线性代数、数值分析等都是要掌握的。
3.相关计算机理论要求
除了基本的数据结构、算法理论外,像人工智能、建模、软件工程等理论方法也都开始运用在一些复杂的游戏开发项目中。有时就是像网上流行的坦克对射的小游戏都可能包含了神经网络知识的运用。
所以,总的来说游戏开发的门槛还是相当高的。但阿志的游戏梦是不是就很难实现了呢?其实不然。如果勤动手、多看书,尝试着从基本的游戏做起的话,我们很快就可以一睹游戏的芳容了。
我的魂 技术、创意、规则——胜者为王
阿志想做游戏开发,空口说白话可不行,不靠强大的技术支撑,如何在游戏世界里存活呢。而提到技术,就不得不提到微软的DirectX SDK,这是一套专为游戏开发者做的开发包。有了它,我们就可以比较轻松地开发出Windows平台下的高质量游戏程序。而其中重要的组成部分——DirectDraw,则提供了2D游戏画面绘制功能,很适合初学者制作基本的游戏。
随着硬件的一次次升级、随着微软DirectX版本的不断提升,真实世界仿佛就快要出现在电脑屏幕中了,但我们的游戏乐趣也随着技术的应用在成正比地提升吗?看看技术落后的暗黑2当初带给玩家们巨大的喜悦,再看看技术领先的雷神3在销量上惨败给BUG成堆的虚幻,自然就知道答案了。
所以,在阿志的概念中,游戏开发中的技术、创意乃至我们设定的游戏规则,没有绝对的强者,有的只是胜者为王。
我的路 发展趋势展望
最近,阿志密切关注着游戏开发,可指导开发的游戏发展之路通向何方呢。从微观上讲,它的走向必然将和技术紧密联系在一起。只有技术的进步,才能将不可能的创意实现,才能将已有的做得更好。从宏观上来讲则有两大趋势:第一个发展方向自然是网络游戏。在现有人工智能和神经网络技术没有重大突破的前提下,网游必将继续快步发展下去。第二个发展方向是游戏文化内涵的提升。游戏发展到今日已经逐渐集聚了一大批资深玩家。他们已不满足于在电脑上简单地打打杀杀,游戏开发者为了满足这群玩家的需求,必然加深对电脑游戏文化内涵方面的挖掘。这将为游戏早日进入艺术殿堂做出重要的贡献,这也应该是游戏发展的必由之路。 (阿志)
从这期开始,每期的E14“编程魔方“版面里,阿志小编都会等着和大家一起去完成以自己为主人翁的RPG游戏,有多少精彩、有多少奥妙、有多少收获,大家看了、做了再说!
下面这图就是这次我们要做的游戏中的一个画面。
