游戲開發巨頭第六十五章 杰斯特卷軸算法_宙斯小說網
當前位置:宙斯小說網 >>都市>> 游戲開發巨頭 >>游戲開發巨頭最新章節列表 >> 第六十五章 杰斯特卷軸算法

第六十五章 杰斯特卷軸算法


更新時間:2014年11月19日  作者:煙雨料峭  分類: 都市 | 商戰風云 | 煙雨料峭 | 游戲開發巨頭 
章節目錄

兩人的聊天結束之后,實在是太困的馬克·塞尼便打著哈欠去了休息室睡覺了。

杰斯特倒是坐在之前馬克·塞尼坐的那張椅子上,看著電腦沉思了起來。

在個人電腦上完成卷軸效果他確實可以做到,他在重生前就看過卡馬克卷軸的算法,這是一種非常巧妙的方法,能夠在當時并不適合做游戲的pc上,完成像是街機一樣的卷軸動畫效果,不過……

杰斯特想到了一件事,這讓他有些猶豫。

眾所周知,pc游戲誕生的很早,但pc游戲真正的開始被人接受,能夠在質量上跟那些精致的家用機或者是街機游戲放在一起做對比,卻是從卡馬克卷軸算法誕生之后開始的。

卡馬克卷軸算法這也是個人電腦歷史上的兩座里程碑之一,后世無數的游戲,無論是個人電腦,街機亦或者是家用機,都無數次的使用過這個卷軸算法。

而且,這兩座里程碑都跟卡馬克有關,一次就是他的這個卷軸算法,而另一次就是他完成的世界上第一款真正意義的3d引擎。

他的這個創舉,讓游戲者制作者們可以在pc上完成他們之前夢寐以求,但卻無可奈何的種種設想,pc上第一款在任何一個方面都不遜色家用機的游戲正是因為卡馬克卷軸的誕生而誕生的,這款游戲也是動作冒險類游戲的始祖,《波斯王子》。

后世讀卡馬克的傳記的時候杰斯特最佩服卡馬克的一點,就是他是一位真正的程序員。

這里說的程序員可不僅僅是能碼代碼的碼農,而是具有無窮的創造力,想象力,并且能夠將這些完成為一個個不可思議的程序,但卻絲毫不將這些程序視為自己的禁-臠的程序設計師。

是的,卡馬克是一個堅定的程序開源者,他所制作的每一個程序都是不申請專利,并且開源出來允許任意人使用的,最著名都是莫過于閥門的《半條命》就是用的卡馬克為《雷神之錘》編寫的引擎,而且并不需要繳納授權費用。

這是因為當時信心滿滿的g胖在看了《雷神之錘》的演示之后發現,他們這些人無論如何也做不出能完成這種效果的3d引擎,也正好g胖的一個朋友在id給卡馬克當小弟,所以順利的從id拿到了雷神的引擎。

這樣,才有了fps在《雷神之錘》之后最具有里程碑意義的作品的問世。

甚至關于卡馬克卷軸還有一個關于他對程序開源態度方面的故事。

當時卡馬克在一家游戲雜志工作,他完成了卷軸效果,并且在一名畫師同事的幫助下將《超級馬里奧》的第一關給完美復制到了一臺電腦當中。

然后,他的老板看到了卡馬克演示的游戲效果,只是隨口說了這么一句話。

“喔!你應該去申請個專利。”

沒想到的是,卡馬克怒立即從座位上站起來,用手指指著他老板的鼻子,然后不可歇的吼道:“去他-媽的什么專利!如果你再敢跟我提什么專利,我立馬走人!”

沒過多長時間,卡馬克在約翰·羅梅羅的慫恿下,真的辭職了。

所以,對卡馬克這種天才杰斯特是既想用,但又不想用的,他的確能夠完成很多其他程序員連想都不敢想的事情,問題是他那特別的對于程序開源的信仰是任何一個游戲公司的老板都不能忍受的。

你能忍受自己公司好不容易研發出的游戲引擎被開源后,無償被所有人使用?

如果杰斯特是一個游戲愛好者或者是獨立游戲制作人的話,他會視擁有這種精神的卡馬克是神,但他現在不是,盡管他曾經是過。

所以,杰斯特每次給卡馬克的任務只是一些創意獨特,但不需要什么高深編程水平的小游戲,而且每次的游戲設計方案他都會申請專利,并且保留著他跟卡馬克的通信,就是為了在將來證明,這些游戲的版權是屬于他的,而卡馬克只是他雇傭的一個幫他完成這些想法的碼農。

杰斯特就這么坐在電腦前,看著閃爍著熒光的電腦屏幕,他在擔心,如果自己真的在pc上做出了第一款卷軸游戲,那么對于現在的游戲產業會有何種沖擊。

在雅達利沖擊的影響下,受損最大的是家用游戲機市場,基本上被完全摧毀了,街機受到的影響稍微小一點,現在在杰斯特的努力下,已經開始逐漸的回溫,但受到影響最小的,或者說,基本上沒有收到什么影響,還是個人電腦游戲行業,跟日本的設計師不同,后世杰斯特腦海里知道的無數歐美設計師,都是在這個時代的個人電腦上制作游戲磨礪出來的。

如果自己真的提前幾年推出了卷軸游戲,那么到底會不會影響自己將來推出家用機的計劃呢?

想了一會,杰斯特的臉上突然露出了嘲諷似的笑容,似乎是在嘲笑著自己。

“我真是有點杞人憂天。”杰斯特嘟囔了一句,他確實有些杞人憂天了,在他后世的時候,在電腦游戲在可以跟主機游戲比質量,甚至pc的機能還要比主機強的時候,同一款全平臺游戲的pc版都很難賣到主機版的十分之一,甚至幾十分之一,更何況是現在了。

要知道將來pc的占有率可幾十倍于游戲機呢。

想通了這一點,杰斯特的決定也就做了出來,畢竟ati也是他的產業,能夠讓ati提前統治市場,對他只有好處而沒有壞處。

不過杰斯特可不是卡馬克那種具有烏托邦思想的程序員,他是一家游戲公司的擁有者,自然的,他的卷軸效果,自然不可能開源之后被人無償使用,申請專利自然是必然而然的事情。

想通了這些,開了一天車的杰斯特也有些累了,他自己的那間休息室被馬克·塞尼占據,于是他只好在馬克·塞尼辦公室里的沙發上和衣而臥,勉強的睡上一覺。

第二天。

杰斯特將馬克·塞尼跟兩位他的研發小組里前兩天跟他一起參與如何在個人電腦上完成卷軸效果的程序員一起喊道了辦公室中。

“你們是怎么來完成卷軸效果的?”在正式的講解卡馬克卷軸算法之前,杰斯特如此的向幾人詢問。

馬克·塞尼簡單的說道:“一開始我們想要直接在個人電腦上復制我們已經在街機上的方法,無論是在畫面上直接繪制圖像還是多獲取一些內存來得到性能的提升,但都不現實,原因是個人電腦實在是太慢了,雖然它用的是16位的cpu,但個人電腦跟街機的基板不同,它的cpu不可能只負責我們的這一款程序的計算,它要處理的東西非常多。”

“后來我們發現想要在個人電腦上完成像是街機上一樣的效果,在目前的情況下根本是不可能的,除非我們現在是在用三十二位的cpu,以及其他的一些與其配套的內存,顯存什么的,所以我跟拉里斯都放棄了,除了總監之外。”這次開口的是一位叫做布萊恩的程序員,他跟他身邊的那位有著一圈胡子的叫做拉里斯的程序員就是馬克·塞尼小組里的主程序,《復仇者》的卷軸效果就是他們攻克的。

這個時候馬克·塞尼出聲強調了一句,他攤了攤手,語氣有些沮喪:“不得不說,我這兩天也沒取得什么效果,所以昨晚上在你回來后,我也打算放棄這個計劃了。”

“呵呵。”

杰斯特聽了之后輕笑了一聲。

他略微在心里準備了措辭,這才開口說道,“不要急著放棄,先讓我們來說說,我們在街機是怎么完成卷軸效果的,我之前看過你們做的那個引擎包,也大體的了解你們的一點思路,似乎你們是這么做的,你們在玩家控制的角色移動的時候,如果這名角色移動的足夠遠,遠到超出屏幕,為了讓背景也隨著玩家的移動而移動,你們用了最直接的方式,就是讓cpu來進行重繪整個組成畫面的像素。”

馬克·塞尼三人點了點頭,他們在《復仇者》里的確是這么做的。

杰斯特見他們都點頭認可,于是繼續說著。

“不過因為這樣需要的計算量是很大的,為了讓人物的動作也在這樣不斷重繪像素的計算里不至于顯得不流暢,你們也為此想出了幾個很巧妙的算法,但這不是我們這次討論的重點,我就不說了,只說一下卷軸的重繪。”

說著,杰斯特的語氣變得謙虛起來。

“你們的編程水平都在我之上,按道理說我實在是不能在你們面前班門弄斧,不過我昨晚上坐在電腦前面的時候無意中有了一點想法,你們先聽一聽。”

馬克·塞尼三人聽到杰斯特如此謙虛的話,也不由得笑出了聲。

“當時我就在想,我們要的是什么?——我們要在玩家穿過游戲的時候圖像能夠平滑地移動。”杰斯特繼續說著。

馬克·塞尼三人并沒有因為杰斯特說的都是一些爛大街的東西而不耐煩,他們都見過自己的這位老板在設計游戲時的那種奇思妙想,而有的時候,設計一款卓越的程序有時候也許只是缺少一個奇思妙想。

杰斯特說的很快,但吐字依舊清晰。

“當時我想起了之前我在電腦上設計一款rpg游戲時的一個處理方法,在那個游戲里,當玩家控制的角色走到屏幕上地牢邊緣時,我會讓背景做一次很大的調整,這種基于圖素的卷動是很常見的技術,而我現在要做的不是基于圖素的卷頭,而是基于像素的卷動,哪怕玩家只移動了一點點,背景也要隨之調整。但問題來了,我一開始跟你們想的一樣,但我在看了馬克·塞尼制作的這個卷軸動畫的程序之后,我發現,這條路是行不通的。”

然后,杰斯特見到三人的臉色愈發的認真起來,他臉上的笑容也愈發的濃重,于是繼續說道:“所以,我就換了一個思維模式——為什么要讓計算機重繪整個畫面呢?玩家控制的角色每次移動的時候盡管背景在變動,但并不是整個背景在變動,而是只有很少的背景在變動啊。”

說到這里,杰斯特臉上的笑容消失,而是變得認真了起來,他馬上就要說到卡馬克卷軸的核心。

“那么如果不是每次重繪整個屏幕,而是只重繪那些真正改變了的部分,會怎么樣呢?”

杰斯特的這句話一說完,馬克·塞尼三人的眼前都亮了起來,他們已經知道杰斯特的想法了,而且他們三個也是非常有天賦的程序員,他們幾乎在一瞬間就得出了杰斯特的這個問題的答案。

會怎么樣呢?

當然是毫無疑問的,cpu的計算量會只有之前的幾分之一,甚至十幾分之一,而卷軸效果在執行起來也會快很多,準確的是說,是快非常多。

盡管還沒有真正的用程序來驗證,但他們三人也都憑借著自己對于代碼的敏感,知道,杰斯特的這個方法,也許真的可以在個人電腦上辦到之前只能在街機上才能做到的,卷軸動畫效果。

這真是一個偉大的點子。

這就是馬克·塞尼三人此時心里唯一的想法。

ps:求推薦票!!


上一章  |  游戲開發巨頭目錄  |  下一章