青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

在面試一個游戲編程職位前,你需要知道的東西(轉)

很長時間以來,游戲產業不允許新的血液加入,因為每個職位都要求申請人有2年以上的經驗.   但是現在是加入游戲產業的最好的時機.   因為研發隊伍的急劇增長,   有經驗的人很難找了,   所以越來越多的公司從大學里招人.   不管你上的是什么大學,你都有機會在游戲產業里找到一份工作.   你需要熟悉以下領域. 
        數學   -   對于視頻游戲開發,這個非常重要.   不,你不需要去記如何求一個繞x軸旋轉的曲面的表面積.   你需要有很好的線性代數技能.   如果你不知道點乘的公式(a   dot   b   =   a.x   *   b.x   +   a.y   *   b.y   +   a.z   *b.z   )和它的幾何意義( ¦a ¦   * ¦b ¦   *   a和b夾角的余弦),   你是不可能獲得工作的.   你需要知道如何把一個向量投影到另一個向量上(a到   b的投影   =   (a   dotb)/ ¦b ¦^2*   b)   以及一個平面上.   你需要知道向量積(叉乘)是什么(a   x   b   =   [a.y   *b.z   –   a.z   *   b.y,   a.z   *   b.x   –   a.x   *   b.z,   a.x   *   b.y   –   a.y   *   b.x]),以及它的幾何意義(一個和兩個向量都垂直的向量,長度等于原來兩向量的長度乘以兩向量的夾角的正弦).   我記憶向量積公式的方法是把i,j,k   放在矩陣的第一行,然后是第一個向量,最后一行是第二個向量,   然后計算這個行列式.   如果你不知道什么是行列式或者如何計算一個行列式,   這可不是個好的信號!   你應該知道一個矩陣的逆以及如何計算,你應該知道如何轉置一個矩陣.   你應該知道什么是正交矩陣以及求它的逆的簡單方法(求它的轉置就行了).   熟悉各種坐標空間之間的轉換是很重要的.   碰撞檢測函數背后的數學原理也很需要學習.   你如何找到一條光線和另一條光線的碰撞點?一個平面呢?一個球面呢?   什么是四元數(quaternions)?   你如何對它們做一些常見的操作?   如果你的數學已經不那么熟了或者不知道如何開始,   我推薦   "3D   Math   Primer   for   Graphicsand   Game   Development".我讀過以后發現它很好地覆蓋了所有的基礎知識.   我沒有讀過別的書來做比較,   但是這本書肯定會給你打下很好地基礎,同時它也是很多游戲開發中常見數學運算的參考資料. 
        物理   -   你需要對各種拋物體的公式非常熟悉.如果你不能記住或推導出d   =   v0   *   t   +   0.5   *   a   *   t^2,   你肯定會在面試或編程測試中遇上麻煩.   你應該能輕松解決任何涉及到拋物體和重力的問題.不論未知量是重力加速度,   發射角,   y方向速度,   xz方向速度,   時間,距離,   或其他任何可解的組合,你應該能沒有任何困難的求出解來.你應該熟悉彈性和非彈性碰撞下的動量和動能變化.   滑動和摩擦力也是你應該理解的概念. 
        C++   -   雖然一些地方還在用c多過c++,但是C++已經是游戲編程中向被廣泛接受的幾乎標準的語言.   C++的知識是非常重要的.因為如果用的不好,   你會寫出非常糟糕的代碼.首先,你應該知道什么是虛函數,以及如何使用它.   理解虛函數表是如何工作的也同樣重要,這樣你就能夠理解當你調用虛函數時需要的額外步驟,這些步驟會降低性能(每個對象都有一個隱藏的虛函數表指針[具體在哪取決于編譯,并且對指針做類型轉換時,this會有變化],這樣調用一個虛函數,你需要根據這個指針找到那個函數表,然后跳到它所包含的函數指針所指的函數里,這會降低cache的效果).   知道如何有效地使用模板和操作符重載也很重要.   關于C++,好的OO設計是最重要的.   最常用的一些類層次很深而且很費解,你最后需要做可怕的虛擬繼承或者為一些不需要的變量浪費內存. 
        人工智能   -   我在大學里學習了標準的人工智能課程,但是這些東西沒有一點在游戲AI中是可接受的.   教的很多算法很難實現或者對游戲而言不現實.   你知道什么是有窮狀態機就夠了.   絕大部分游戲使用有窮狀態機,   而那些不用這個的游戲,使用的是簡單的基于規則的系統.   "白與黑"(包括它的續集)是我能想到的唯一的使用了其他東西(神經網絡)的例外,   而且很多玩家對它的結果并不滿意.   如果你想找本書,   我推薦"AI   Game   Programming   Wisdom   3".   里面有兩篇特別優秀的文章,一個是關于有趣的游戲AI設計,另一個是關于行為合成.   嚴肅的說,雖然書會很有幫助,但是學習游戲AI的最好的方法是實際做一個. 
        圖形學   -   這是一個重要的領域.   如果圖形是你的主要感興趣的方向,那么你應該知道的比這里說的多.但是,不論你想要在這個產業里做什么職位,   你應該知道一些基礎.   你需要知道什么是渲染狀態以及通常都有哪些渲染狀態?(cull,   z   write,   ztest之類的).什么是標準的光照方程?(I   =ka*Ia   +   Ii*(kd*(L   dot   N)   +   ks*(R   dot   V)^n)   ).   材質映射是如何工作的?材質的wrapping和clamping有什么區別?   如何高效的渲染程序中一組幾何體?(按照渲染狀態組織你的幾何體,按照你的硬件最快的primitive分批,飯后發給圖形卡).你需要知道   skinning   是如何工作的.   如果你對書感興趣,   我推薦   "3D   Computer   Graphics".   這個不是專為游戲寫的,多以它包括了一些在游戲中不現實的技術.但是,我想一個總體的了解是有幫助的,而且,隨著游戲硬件的發展,   那些現在看來不現實的技術會變的普通的. 
        工具開發   -   C#   看來在游戲業界獲得了不少地位.所以你也應該讓你熟悉一下C#.C#在加快工具的開發上表現出不少優勢.很多人說工具可以制造下一代的游戲,   我同意這一點.   擁有的工具越多,團隊花在可以被輕易自動化的工作上的時間就越少.   可能你的團隊有10個美工,   花程序員的一個人年來開發一個可以給美工每天省15分鐘的工具并不值得,但是如果你有50個美工,那這就肯定值得了.C#可以快速的創建GUI,而且和其他一些能簡化創建GUI的方法不同,   這些GUI很好理解和使用,因為他們是標準的windows組件,允許你方便的設定快捷鍵,就像其他Windows程序一樣.   Visual   Studio   里的Form   Designer   真的很好用,而且C#的metadata和event驅動的設計使得工具的開發輕而易舉.你最好也對mfc有基本的了解,因為可能面試你的開發人員會有點落后與時代.如果你有興趣學習很多關于這些技術是如何工作的(這會讓你寫出更好的C#代碼),我強烈推薦"Applied   Microsoft   .NET   Framework   Programming",我在空閑的時候讀這本書,然后我就不能放下了.我一章一章不停的讀,因為我是那么激動的像學習下一章的話題了.記住,   這本書不會教你各種framework里的類和這些類是干嘛的.它講的是這個語言的核心機制,它是如何工作的.   這本書也不是專門為C#寫的.   它告訴了你如何用VB.net做一些在C#里不能做的是,它還提供了用MSIL(MicrosoftIntermediate   Language,   所有.net語言的編譯器都會編譯出這種字節碼)寫的例子,實現一些不被任何一種.net語言支持的功能. 
      操作系統   -   雖然這個看起來和這個和游戲開發相對而言不是太相關,   但是我很高興我在大學學習了操作系統的課程,因為我經常會用到從這門課學到的知識.   關于操作系統的知識非常重要,因為它在幕后為程序處理著很多重要的工作.特別是由于下一代的游戲終端和雙核PC上的多核特性,多此案成的知識是至關重要的.對虛擬內存的了解當然是很有用的.關于文件系統,內核態和用戶態切換,分頁的知識對PC游戲開發更為有用,   不過隨著一代代的發展,終端也在變的越來越像PC.所以,知道這些東西沒有壞處. 
    編譯器   -   雖然知道如何寫一個分析器可能并不重要,   但重要的是知道你的代碼是如何編程匯編代碼的.這樣你就能明白如何寫出更優化的代碼.你顯然必須熟悉把你寫的程序變為可執行文件的4個步驟:預處理、編譯、匯編和鏈接.   編譯器如何處理常量的?   很好的理解宏和知道如何用它來簡化一些常用的操作是很重要的.   知道你正在用的編譯器的調用約定,因為參數超過一定數目的時候,會導致它們被放在棧上而不是在預留的寄存器里.   調用約定的知識在你用匯編寫函數的時候也是有用的. 
    這些只是一個作為一個游戲程序員,你應該具備的各種知識和技能的入門介紹.   對每個領域,根據你的工作類型,總會有更多的你需要學習的東西.   知道一些實際使用的知識之外的東西總是沒有壞處的.

================================================

這幾條中估計只有物理是程序員的弱點,根據我觀察,程序員中物理強的人很少。我很幸運,啊哈哈~~

C\C++\C#我都會,呵呵。起碼在計算機語言上困難不大。不過我很看好C\C++,C#.NET運行太慢了。

我懷疑這個文章該不會是MS的人在宣傳他們的C#.NET吧   !!! ⊙_⊙ !!!

posted on 2009-01-04 14:02 RedLight 閱讀(2554) 評論(2)  編輯 收藏 引用 所屬分類: 3D渲染技術C++功夫篇

評論

# re: 在面試一個游戲編程職位前,你需要知道的東西 2009-10-04 03:00 程少偉

呵呵, 分析的很不錯, 特別的對我這個自學3D編程的人, 謝謝樓主的分享。  回復  更多評論   

# re: 在面試一個游戲編程職位前,你需要知道的東西(轉) 2010-07-30 07:29 好看網

學習了 想走游戲  回復  更多評論   

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

公告


Name: Galen
QQ: 88104725

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

相冊

My Friend

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美另类变人与禽xxxxx| 亚洲网站在线| 亚洲日本va午夜在线电影| 合欧美一区二区三区| 国模精品一区二区三区| 激情久久一区| 亚洲精品美女91| 亚洲夜间福利| 午夜激情久久久| 久久人人爽人人爽| 91久久精品日日躁夜夜躁国产| 亚洲国产mv| 亚洲午夜高清视频| 久久精品人人做人人爽| 欧美精品一区二区三区蜜臀| 国产精品青草综合久久久久99| 国内精品久久久久久久果冻传媒| 亚洲国产精品电影| 亚洲欧美在线网| 国产精品日韩欧美一区| 影音先锋中文字幕一区二区| 一本色道久久99精品综合| 欧美一级视频一区二区| 亚洲国产成人久久综合一区| 亚洲欧美日韩综合aⅴ视频| 欧美不卡在线| 国产欧美一区二区视频| 99精品免费视频| 噜噜噜91成人网| 国产精品99久久99久久久二8| 久久综合九色综合网站| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久 | 亚洲国产精品123| 亚洲一区欧美激情| 欧美福利在线| 欧美一区激情视频在线观看| 欧美理论电影在线播放| 黄色日韩在线| 久久精品五月| 亚洲欧美成人精品| 欧美激情一区二区三区在线| 永久91嫩草亚洲精品人人| 欧美一区成人| 亚洲午夜黄色| 国产精品xxx在线观看www| 亚洲精品日韩在线| 欧美大片免费观看| 久久免费99精品久久久久久| 国产亚洲成年网址在线观看| 亚洲一区二区三区免费观看| 亚洲精品一区二区三区不| 欧美国产日韩一区二区| 亚洲国产日韩欧美综合久久| 久久一区亚洲| 久久一二三四| 亚洲高清视频在线观看| 欧美aⅴ一区二区三区视频| 久久久99爱| 亚洲高清成人| 亚洲黄色视屏| 欧美日本国产在线| 一本色道久久综合亚洲精品婷婷| 亚洲第一在线| 欧美裸体一区二区三区| 日韩视频中午一区| 99精品国产高清一区二区| 欧美日韩亚洲综合| 亚洲在线观看视频网站| 亚洲私拍自拍| 国产色综合久久| 免费观看一级特黄欧美大片| 久久夜色撩人精品| 一本不卡影院| 亚洲欧美日韩综合aⅴ视频| 韩国v欧美v日本v亚洲v| 欧美成人午夜免费视在线看片| 久久综合电影一区| 欧美激情精品久久久六区热门| 亚洲激情国产精品| 日韩亚洲欧美在线观看| 国产精品久久久久aaaa樱花| 欧美在线免费视屏| 欧美 日韩 国产精品免费观看| 一本不卡影院| 久久精品男女| 亚洲午夜一区二区| 欧美在线黄色| 夜夜精品视频| 久久精品国产一区二区三区免费看 | 久久se精品一区精品二区| 久久亚洲精品一区二区| 亚洲私人影院| 久久久噜噜噜久久狠狠50岁| 日韩视频中文| 欧美在线观看视频一区二区三区 | 亚洲女性裸体视频| 久久精品国语| 亚洲欧美日韩在线播放| 你懂的国产精品永久在线| 亚洲欧美日韩精品久久奇米色影视 | 在线观看视频免费一区二区三区| 日韩天天综合| 经典三级久久| 亚洲一区在线免费| 日韩天天综合| 久久人91精品久久久久久不卡| 亚洲无限av看| 欧美成人午夜77777| 久久国产精品99国产| 欧美日韩久久| 欧美国产在线视频| 国产综合av| 亚洲欧美日韩综合aⅴ视频| 亚洲精品视频一区| 久久亚洲欧洲| 久久久久久亚洲精品杨幂换脸| 欧美日韩在线亚洲一区蜜芽| 欧美激情一区二区三区蜜桃视频 | 国产精品99久久99久久久二8 | 国产欧美三级| 一区二区三区欧美视频| 亚洲娇小video精品| 久久国产乱子精品免费女| 国产一区二区三区高清在线观看| 亚洲日本中文字幕区| 尤物yw午夜国产精品视频| 午夜精品久久久久久久99黑人| 一区二区三区四区五区精品| 免费永久网站黄欧美| 欧美成人官网二区| 永久免费毛片在线播放不卡| 欧美一区深夜视频| 久久国产精品久久久久久电车| 国产精品高清在线观看| 亚洲社区在线观看| 性欧美大战久久久久久久免费观看| 欧美日韩国产经典色站一区二区三区| 欧美韩日视频| 999在线观看精品免费不卡网站| 你懂的成人av| 亚洲精品欧美日韩| 日韩午夜在线观看视频| 欧美日韩免费| 亚洲午夜精品久久久久久app| 午夜精品福利一区二区蜜股av| 国产精品乱人伦中文| 亚洲欧美一级二级三级| 久久久久久一区二区三区| 精品成人在线视频| 美玉足脚交一区二区三区图片| 亚洲电影免费| 亚洲视频一区| 国产亚洲精品一区二区| 免费观看在线综合| 日韩小视频在线观看| 欧美一区二区在线免费观看| 黄色影院成人| 欧美精品久久久久久久久久| 一本色道久久综合亚洲精品不卡 | 国产一区二区中文字幕免费看| 久久夜色精品国产欧美乱| 亚洲欧洲免费视频| 午夜精品影院在线观看| 国产一区二区三区四区五区美女| 久久青青草综合| 亚洲视频福利| 麻豆乱码国产一区二区三区| 日韩西西人体444www| 国产精品视区| 欧美精品国产精品日韩精品| 亚洲图片欧美一区| 亚洲国产日韩欧美在线动漫| 午夜精品区一区二区三| 亚洲国产美国国产综合一区二区| 欧美性生交xxxxx久久久| 久久久久国产成人精品亚洲午夜| 亚洲精品日韩欧美| 久久午夜激情| 午夜精品久久久久久久99热浪潮 | 最新国产の精品合集bt伙计| 国产精品实拍| 欧美成人一区在线| 欧美在线播放视频| 宅男精品导航| 亚洲欧洲在线看| 老司机精品福利视频| 午夜精品福利视频| 在线视频亚洲一区| 亚洲日本欧美| 在线观看一区欧美| 国产午夜久久久久| 国产精品一区二区三区久久久 | 亚洲一级高清| 91久久精品一区二区别| 狠狠色狠色综合曰曰| 国产精品第2页| 欧美日韩亚洲一区二区三区在线| 老司机精品视频网站| 久久久www| 久久gogo国模啪啪人体图|