克那种具有乌托邦思想的程序员,他是一家游戏公司的拥有者,自然的,他的卷轴效果,自然不可能开源之后被人无偿使用,申请专利自然是必然而然的事情。
想通了这些,开了一天车的杰斯特也有些累了,他自己的那间休息室被马克·塞尼占据,于是他只好在马克·塞尼办公室里的沙发上和衣而卧,勉强的睡上一觉。
第二天。
杰斯特将马克·塞尼跟两位他的研发小组里前两天跟他一起参与如何在个人电脑上完成卷轴效果的程序员一起喊道了办公室中。
“你们是怎么来完成卷轴效果的?”在正式的讲解卡马克卷轴算法之前,杰斯特如此的向几人询问。
马克·塞尼简单的说道:“一开始我们想要直接在个人电脑上复制我们已经在街机上的方法,无论是在画面上直接绘制图像还是多获取一些内存来得到性能的提升,但都不现实,原因是个人电脑实在是太慢了,虽然它用的是16位的cpu,但个人电脑跟街机的基板不同,它的cpu不可能只负责我们的这一款程序的计算,它要处理的东西非常多。”
“后来我们发现想要在个人电脑上完成像是街机上一样的效果,在目前的情况下根本是不可能的,除非我们现在是在用三十二位的cpu,以及其他的一些与其配套的内存,显存什么的,所以我跟拉里斯都放弃了,除了总监之外。”这次开口的是一位叫做布莱恩的程序员,他跟他身边的那位有着一圈胡子的叫做拉里斯的程序员就是马克·塞尼小组里的主程序,《复仇者》的卷轴效果就是他们攻克的。
这个时候马克·塞尼出声强调了一句,他摊了摊手,语气有些沮丧:“不得不说,我这两天也没取得什么效果,所以昨晚上在你回来后,我也打算放弃这个计划了。”
“呵呵。”
杰斯特听了之后轻笑了一声。
他略微在心里准备了措辞,这才开口说道,“不要急着放弃,先让我们来说说,我们在街机是怎么完成卷轴效果的,我之前看过你们做的那个引擎包,也大体的了解你们的一点思路,似乎你们是这么做的,你们在玩家控制的角色移动的时候,如果这名角色移动的足够远,远到超出屏幕,为了让背景也随着玩家的移动而移动,你们用了最直接的方式,就是让cpu来进行重绘整个组成画面的像素。”
马克·塞尼三人点了点头,他们在《复仇者》里的确是这么做的。
杰斯特见他们都点头认可,于是继续说着。
“不过因为这样需要的计算量是很大的,为了让人物的动作也在这样不断重绘像素的计算里不至于显得不流畅,你们也为此想出了几个很巧妙的算法,但这不是我们这次讨论的重点,我就不说了,只说一下卷轴的重绘。”
说着,杰斯特的语气变得谦虚起来。
“你们的编程水平都在我之上,按道理说我实在是不能在你们面前班门弄斧,不过我昨晚上坐在电脑前面的时候无意中有了一点想法,你们先听一听。”
马克·塞尼三人听到杰斯特如此谦虚的话,也不由得笑出了声。
“当时我就在想,我们要的是什么?——我们要在玩家穿过游戏的时候图像能够平滑地移动。”杰斯特继续说着。
马克·塞尼三人并没有因为杰斯特说的都是一些烂大街的东西而不耐烦,他们都见过自己的这位老板在设计游戏时的那种奇思妙想,而有的时候,设计一款卓越的程序有时候也许只是缺少一个奇思妙想。
杰斯特说的很快,但吐字依旧清晰。
“当时我想起了之前我在电脑上设计一款rpg游戏时的一个处理方法,在那个游戏里,当玩家控制的角色走到屏幕上地牢边缘时,我会让背景做一次很大的调整,这种基于图素的卷动是很常见的技术,而我现在要做的不是基于图素的卷头,而是基于像素的卷动,哪怕玩家只移动了一点点,背景也要随之调整。但问题来了,我一开始跟你们想的一样,但我在看了马克·塞尼制作的这个卷轴动画的程序之后,我发现,这条路是行不通的。”
然后,杰斯特见到三人的脸色愈发的认真起来,他脸上的笑容也愈发的浓重,于是+继续说道:“所以,我就换了一个思维模式——为什么要让计算机重绘整个画面呢?玩家控制的角色每次移动的时候尽管背景在变动,但并不是整个背景在变动,而是只有很少的背景在变动啊。”
说到这里,杰斯特脸上的笑容消失,而是变得认真了起来,他马上就要说到卡马克卷轴的核心。
“那么如果不是每次重绘整个屏幕,而是只重绘那些真正改变了的部分,会怎么样呢?”
杰斯特的这句话一说完,马克·塞尼三人的眼前都亮了起来,他们已经知道杰斯特的想法了,而且他们三个也是非常有天赋的程序员,他们几乎在一瞬间就得出了杰斯特的这个问题的答案。
会怎么样呢?
当然是毫无疑问的,cpu的计算量会只有之前的几分之一,甚至十几分之一,而卷轴效果在执行起来也会快很多,准确的是说,是快非常多。
尽管还没有真正的用程序来验证,但他们三人也都凭借着自己对于代码的敏感,知道,杰斯特的这个方法,也许真的可以在个人电脑上办到之前只能在街机上才能做到的,卷轴动画效果。
这真是一个伟大的点子。
这就是马克·塞尼三人此时心里唯一的想法。
ps:求推荐票!!