Home > IT > From Hardware-orientation to Software-orientation

From Hardware-orientation to Software-orientation

分享家:Addthis中国

作为一个游戏爱好者,游戏的消息一直是我关心的话题之一。
最近很多游戏都陆续开始发布或者说已经发布了,例如:极品飞车12(NFS UD)、街头霸王4(SFIV4)、星际争霸2 测试版(SC2b)以及一直发布时间扑朔迷离的暗黑破坏神3(Diablo3)等等
这些游戏都非常的吸引我,但是同时我也很无奈。从看着网上发布的图片开始,我就知道我那年迈的笔记本已经承受不起这些很炫的游戏图像渲染了。

前些日子,我曾抱着好玩的态度,运行了一下科乐美(Konami)官方出的SFIV的测试工具Street Fighter IV Benchmark,测试结果当然是很在我意料之中的Rank E。

IT世界已经由以硬件为中心,变成了以软件为中心-_-!
作为我们这种捉襟见肘的穷学生而言,实在是太无奈了。
高性能显卡的售价已经远远高于游戏软件的售价了,诶!

说到游戏,当然自然少不了被称为“第一人称射击游戏之父”的约翰卡马克
约翰卡马克就和很多天才一样,在高中的时候就已经是个“怪才”。进入大学过后,编程方面,同样是无师自通。那个时候他在游戏编程方面已经崭露头角,他的很多小游戏都已经被很多公司购买了。

约翰的辉煌是在他大二的时候开始缔造的。当时他被一个叫“Softdisk”公司邀请开发游戏。他需要解决的一个最大的问题,就是如果将游戏机的程序移植到个人电脑上。这款游戏机软件,就是当时以至于现在都赫赫有名的“超级马里奥兄弟3”(Super Mario 3),而那个移植的PC就是一台IBM PC。
在那个年代,PC的性能是远远低于游戏机的性能的,因此将游戏机程序移植到个人电脑,可不是很容易的事情。
当时游戏机领域他已经有了一个很好的成就:平滑的卷轴效果。这个技术首次是在“超级马里奥”展示的,即:能够在玩家走到屏幕边缘的时候通过背景卷动让玩家体验到一个连续的世界。
虽然卷轴效果在PC上的实现对于约翰来说简直是轻而易举的事情,但是要达到平滑的要求却是登天之难,因为那时的PC实在太慢了。而且PC高端硬件在当时也是奢侈品之一了。程序员的工作也不得不已硬件为中心进行开发。

约翰并不是一个轻言放弃的人。他一开始尝试的在整个屏幕上重新绘制图像的方法行不通后,他很快找到了一个新的突破口,而这个突破口在“超级马里奥3”里面被充分地体现了出来。让我们想象一下童年玩“超级马里奥3”的游戏画面,一片蓝色的背景,点缀着几朵白云。当马里奥在画面中走动的时候,云朵慢慢地向屏幕左侧移出了屏幕。而“超级马里奥3”最终能成功移植到PC上的精粹就在这里:在“超级马里奥3”的世界里面,不再需要人物一动就需要重绘整个屏幕(蓝色背景和陆地),而是只重绘那些真正改变的部分(白云和陆地上面的怪物及绿色水管等等)。卷轴效果也因此变得平滑了。
其实为了确保更完美的平滑感,约翰还想出了一个小技巧:让计算机在屏幕右边以外的地方画一块额外的天空,这其实是画在计算机的显存里,但当它们真正进入屏幕的时候,它就不再需要重新绘制,而是直接从显存里反映到屏幕上。这个过程被约翰成为“图素自动刷新”。

虽然以上的技术对于现在而言根本不算什么了,但是约翰作为一个游戏图像编程的开拓者,确实是非常不容易!
随着时间的推移,约翰手中出现的经典游戏一个接一个,以及全世界第一款3D游戏“德军总部3D”(Wolfenstein 3D)也是他和另外一位天才约翰·罗梅洛(John Romero)开发的。关于约翰的光辉事迹,在这里我也不需要多说,网上很多很多,况且我这个迟钝的脑袋也就只能记着这些最吸引我的关于约翰的几个小故事了。

编程最早的性能限制(尤其是内存的限制),也随着虚拟内存的出现,不再是首先问题;程序的多线程也随着超线程(Hyper thread)和多核不再是最大问题了,等等问题都不再是问题了。GPU的越来越强悍和显存的增大,游戏开发商越来越不会为了迎合硬件而在算法性能上做太多的工作了。

直到当年“DOOM3”的发布,连我们的游戏编程天才约翰卡马克也不再关心这个了。
DOOM3在2004年6月14日发布的时候,约翰所在ID software竟然宣称目前已经上市的显卡,没有一款能够很顺畅运行起DOOM3,真是悲剧。

目前在我看来,游戏商里面暴雪公司(Blizzard)依然略微保留着以硬件为中心的策略,其实这样也能为他们抓住更多的玩家,无论是早期的魔兽争霸系列(Warcraft & Warcraft 2)、暗黑破坏神系列(Diablo & Diablo II)还是星际(Starcraft)的画面在当时都是属于很精细了,但也并非是显卡蚕食程序。甚至是我高中的魔兽争霸III和本科时代的魔兽世界(World of warcraft)虽然图像华丽,但也不是吃显卡的主。至少,在这些游戏发布时候主流的集成显卡,只要别太追求最高特效,这些游戏都能顺利运行。有时候魔兽世界会卡,制约的一大原因还是网络带宽的问题。不过看了该公司最新的SC 2b和Diablo 3的画面,我觉得游戏的软件为中心时代已经是必然了!

其实对于软件为中心还是以硬件为中心,都不是一个很好的现象,软件和硬件应该有种互相牵制的效果。硬件的限制可以推动软件开发者进行优化的动力,而软件对配置的高要求,也是对硬件商的一个压力。
IT业的良性循环还是需要大家的共同努力和维护!

PS:面对着配置不高的笔记本,同样面对着网上华丽的游戏贴图,说不出的滋味,只能写此日志,以作感慨,嚯嚯!

You don't feel like leaving comments? Please leave your palm-print.
懒得留言?那留下您的掌印吧。
  1. No comments yet.
  1. No trackbacks yet.

:D 8) :down: 8O :!: :halo: :evil: :heart: :kiss: :lol: :money: :mrgreen: :x :| :pirate: :?: :oops: :roll: :P :( :) :o :up: :vangry: :twisted: ;) :? :cry:

也许您会觉得ReCAPTCHA验证码很繁琐,会认为他和其他所有的验证码一样让你厌烦。那请点击这里,您会了解到ReCAPTCHA为人类文化的传承做出了多大的贡献。请您也为人类知识的保存和传递也出一份力吧,谢谢!
 
    Posts Nav.