【转】3D之神JohnCarmack
John Carmack,
如果你問比爾.蓋茨,“你最欣賞的程式師有哪些?”,在他的回答中,肯定會出現JohnCarmack(卡馬克)的名字。(PS:論壇爭論很兇的DX和OPENGL的前者---DX API的很多修改都是根據JC的建議)沒錯,John Carmack 在程式師中的崇拜程度,甚至到了無以為加的地步,他設計出了游戲史上最強大的3D引擎,30 歲時就步入了美國互動藝術設計名人堂。微軟在很多問題都非常尊重他的意見,甚至展示Windows 95 多媒體應用的3D演示程式就是使用他設計的引擎。
另外他還是個超級游戲設計師和王牌玩家,沖動而富有激情和感染力,正是因為對游戲的熱愛,才進化成為程式員,并不斷改進自己所從事的產業。作為年輕一代,John Carmack是典型的美國夢樣版,他用自己的熱情點燃了一種新的藝術形式、一種文化現象,并在商業上獲得巨大成功。他的經歷使自己成為叛逆的偶像,他既是電腦駭客,同時也名列《財富》雜志(Fortune)評選的500佳企業管理者;他被譽為游戲界的列儂(Lennon),其實他自己更樂於被看作金屬樂隊(Metallica)的成員.ID Software的Co-founder, technical director 和 Lead Programmer,3D FPS游戲鼻主。
90年代初,John Carmack推出了石破天驚的Castle Wolfstein, 然後再接再勵,doom, doomII, Quake...每次都把3-D技術推到極限。 標準的編程狂人,結婚前每天14小時以上的時間都在碼。ID的圖形引擎幾乎成為顯卡廠商的重要標準,遠的不說,04公布的DOOM3 引擎直到現在還是牛X的一塌糊涂,一直作為顯卡評測工具也說明了一些問題。但JC最令人敬仰的不是他的技術,而是他那顆駭客的心。所有游戲公開源代碼,所有領先的圖形引擎I都毫無保留的開源,可以說沒有JC 現在游戲的圖形技術肯定要滯後很多,只有真正的神才是不怕被別人抄襲他的技術。
1992年:《狼穴 3D》(Wolf 3D)
1995年:《毀滅戰士》(DOOM)
1996年:《雷神之錘》(Quake)
1997年:《雷神之錘 II》(Quake II)
1999年:《雷神之錘 III—競技場》(Quake III Arena)
2004年:《毀滅戰士 III》(DOOM III)
2005年:《雷神之錘 IV》(Quake IV)
PS:JC的業馀愛好是制作私人火箭
再付JC 為 Michael Abrash的《圖形程式開發人員指南》寫的序,絕對的震撼
??
我在學校讀書的時候開始在AppleⅡ電腦上編程,幾乎所有早期的工二作都基於Apple平臺。畢業之後,我很快發現80年代後期Apple II工作舉步艱難,於是我不得不迅速轉入Intel的PC環境。過去我在Apple上花—了好些年得到的知識,在PC機上不需要幾個月就可以,學到。作為一名程式師取得收入,最大的好處就是能夠購買所有想要的書和雜志。我買了許多。我處在一個一無所知的領域,於是我閱讀在我身邊所能找到的所有東西,時事報導、社論甚至廣告都有我可以吸取的資訊。
早些時候,John Romero給了我—些Michael Abrash的文章,這些都是好文章:圖形硬體、代碼優化、雄心勃勃的開發者的知識和聰明才智,它們讀起來更是輕松愉快。有很長一段時間,我到各個書店去尋找Michael的第一本書《Zen of Assembly Language》,但—直沒有找到,只好將就利用我所能發掘到的他的文章。從那些文章里,我學到了EGA視頻控制不為人知的秘密,并且開發成幾個精致的技巧,有幾個成為Commander Keen系列游戲的基礎。正是它們導致了id軟體公司的產生。
—兩年後,就是Wolfenstein—3D開發出來以後,我第—次“碰到”Michael,當時我正在M&T的BBS上線上漫游,這個BBS是Dr.Dobb出版商在Internet火爆起來之前構建的,這時我看見了他發出的郵件。我們交換了email。有好幾個月,我們在圖形學論壇扮演著領袖二人組的角色,直到Doom游戲占據我的生活。
當Doom引起轟動以後,Michael一個新得到工作的朋友讓我們又彼此取得了聯系,并且我終於有機會見到Michael。那天我說得嗓子都啞了,我與Michael和他的合作者中感興趣的人講述著Doom的所有細節。從那以後,每隔幾天我就能收到—封發自Michael的email,或是徵求我某個觀點的細節,或是討論將來圖形學的發展方向。
最後,我徵求他的意見—給他—份在id軟體公司的:工作:“只要思考;不要向任何人匯報;有機會整天從一張白紙開始編程。—個編程員做他該作的事情的機會”。但他未答應。但是我一直堅持,一年以後,我終於說服他屈駕來id看一看。當時我正在研制Quake。從Doom到Quake是我們邁出的極大的—步。我知道我該在哪里結束,但我—點也不知道如何到達那里。我試過很多很多的方法,即使是失敗了也讓我學到了許多東西。—定是我的熱情感染了他,因為他接受了這項工作。
於是開始史詩般的編程。數十萬行的代碼編出來,重編,再重編……。
此刻回想,我感到Quake的許多方面都有遺憾之處, 但那只是—個杰出的人不愿輕易地承認它技術上的成功而已。的確, 一年以後, 我可能會發現Quake中的某些地方有待改進。但現在對我來說,它看起來依然非常好。我們使它引人入勝。我很高興Michae1在他正在發行的文章中描述了許多Quake的技術,我希望我們能夠教給別人一些。當—個非編程人員聽說我允許發行Michael的文章和源代碼時,我總見到一幅目瞪口呆的面孔——“你那樣做想十什麼?”。他們不會明白的。
編程不是一個零和一的游戲,教給你的同行一些東西并不會丟失它們。我與人分享我能做到的一切時覺得很高興,因為我深深地熱愛編程。一輛法拉利小車不過是一種物質享受,但做人最重要的是真誠。
這本書包含了許多最初的文章,正是它們幫助我開始我的編程生涯。對於後面這些文章內容的出版,我希望我所做的努力能為其他人起到同樣的鋪路石的作用。
總結
以上是生活随笔為你收集整理的【转】3D之神JohnCarmack的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于IOCP完成端口的文章
- 下一篇: 史上最‘牛’杀毒软件之麦咖啡