» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

究竟什么叫游戏的引擎?2D游戏也存在引擎么?

勇者斗恶龙1里主人公连转身都不会,可见引擎之差,当然也可以说算法差

[ 本帖最后由 md2 于 2007-2-20 01:43 编辑 ]


TOP

一个游戏的点子是卡马克提出来的。他正在尝试一项编程上的突破:让游戏的世界不再局限于屏幕的边界——所谓的“卷轴效果”。街机是这项技术的样板,早期街机游戏的移动也是局限在一个静态的屏幕内,譬如《乒乓》,用于把球击来击去的球拍只能在屏幕的底部和顶部之间移动,再譬如《吃豆子》里的迷宫,也是局限于屏幕那么大,还有《太空入侵者》,玩家控制的飞船只能在屏幕下方左右移动,外星飞船们则是从屏幕顶部涌现。所有这些游戏都把玩家局限在那一小方天地里,缺乏一种宽广的可延伸的感觉,这种状况一直持续到1980年,在那一年,威廉斯公司推出了一款名叫《防御者》(Defender)的街机游戏,这是第一个流行的卷轴游戏,在这个科幻射击游戏里,玩家不再受屏幕大小的限制,他操纵飞船在行星的表面水平移动,一路上击落敌机营救人质,屏幕上的一幅小地图显示着玩家在整个世界里的当前位置。如果把地图扩展为正常尺寸,这个世界大概有三个半屏幕那么大。与其他街机比起来,《防御者》显得宏大得多,玩家就像进入了一个更为广阔的虚拟空间。它很快变得和《太空入侵者》一样流行,还胜过《吃豆子》成为了业界的年度游戏。无数的卷轴游戏随之出现,到1989年的时候,卷轴技术已经是新游戏的一项必不可少的标准,这其中最成功的莫过于任天堂红白机上的《超级马里奥兄弟3》(Super Mario Brothers 3)。

但在那时,1990年9月,还没有人研究出如何在PC上实现卷轴效果,大家都用一些蹩脚的技巧来让玩家觉得游戏的世界比屏幕要大,譬如当玩家移动到屏幕最右边的时候,游戏会停顿一会,然后右边的场景出现在屏幕上。部分原因是PC的性能还很差,无论是街机还是苹果机,或是任天堂那样的家用机都比PC强不少。而卡马克下定决心要找出一种办法来在PC上实现像《防御者》或《超级马里奥》那样的平滑卷轴效果。

经过几个夜晚的尝试,卡马克终于在PC上也实现了这种效果。很多人会一上来就试图走捷径,卡马克觉得这不是解决问题的方法。他一开始先试了最直接的途径,在整个屏幕上重新绘制图像,但行不通,因为那时的PC实在太慢了。然后他尝试着优化——可以通过多使用一些内存来换取性能的提高吗?他试了几次,发现这也是死路一条。

如果,卡马克想道,不是每次重绘整个屏幕,而是只重绘那些真正改变了的部分,会怎么样呢?那样的话,卷轴效果执行起来会快很多。他盯着屏幕,假想着一个由蓝天白云组成的背景,玩家跑向屏幕右边,如果它跑得足够远,那些云朵将会被它逐渐抛在身后,直到从屏幕上消失,尽管改变的只是一片白云,大部分蓝色的区域没有变化,但计算机不知道这些细节,它不知道其实有更快捷的办法,它只会笨拙地重绘每一个组成蓝天的像素,从屏幕的左上方开始,一个像素一个像素地往右,再一行行往下,直到完成整个屏幕。接下来卡马克就干了一件漂亮的事情,使得效率得到极大的提高。他写了一段代码,用来哄骗计算机,让它觉得譬如左数第七块图素其实是屏幕上的第一块,这样的话,卡马克就可以让计算机在他指定的地方开始绘制图像,计算机就可以直接绘制白云,而不需要再一个像素一个像素地填充蓝色的天空。为了确保玩家移动时感觉到平滑的效果,卡马克还想出了一个小技巧:让计算机在屏幕右边以外的地方画一块额外的天空,这其实是画在计算机的显存里,但当它们真正进入屏幕的时候,它就不再需要重新绘制,而是直接从显存里反映到屏幕上。卡马克把这个过程叫做“图素自动刷新”。

罗梅洛早上十点钟到了公司,看到了这张磁盘,还有一张便条,上面是汤姆的笔迹:“敲DAVE2”。罗梅洛把磁盘插入软驱,输入命令,屏幕上出现了熟悉的《超级马里奥》场景:蓝色的天空,白色的云朵,绿油油的灌木丛,一个问号在一块砖头上转来转去。奇怪的是,站在里面的主角不是马里奥,而是他那危险的戴夫。罗梅洛按下方向键,戴夫开始沿着地面走动,就在背景开始平滑卷动的一刹,他整个人呆住了。



TOP

引用:
原帖由 Jonsoncao 于 2007-2-20 02:01 发表


这根本不是引擎,你这文科伪非

doom启示录艺术化的成分太重
你说的不如叫商业引擎算了
那起点是DOOM引擎


只含有绘图和动画功能算一个图像引擎也是合理的

[ 本帖最后由 md2 于 2007-2-20 02:28 编辑 ]


TOP

引用:
原帖由 潋滟之光 于 2007-2-20 03:38 发表


DOOM就算是引擎也决不是起点,再次抽你这伪 ...
“商业引擎”

TOP

发新话题
     
官方公众号及微博