• <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>

            life02

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              197 隨筆 :: 3 文章 :: 37 評論 :: 0 Trackbacks

            如何成為一個游戲人工智能開發者
            原文地址:http://www.ai-blog.net/archives/000150.html
            作者:Paul Tozour June 11, 2008
            譯者:賴勇浩(http://blog.csdn.net/lanphaday) July 10, 2008                        
            業界一直需要杰出的 AI 開發者,我想我可以在這里分享一些關于學習業界所需技術的看法,以幫助大家更好地進入游戲 AI 開發者的角色。
            其實幾個月前我就已經寫了這一篇文章,但直到 Dave Mark 在 aigamedev.com 發表了這篇文章(http://aigamedev.com/discussion/industry-knowledge),我才決心發表出來。
            首要的是,著眼于開發技能,在嘗試專精之前先博覽游戲開發領域所有的技能。
            先博而后專
            游戲工作室通常并不會把初級程序員任命為AI工程師。我們需要對游戲源碼的方方面面都非常了解的工程師,這意味著他有多年游戲開發經驗,而且能夠隨時插入到任一特定領域 “救火”。新進員工常常被要求幫助一個接近交貨日期的項目,通常是填補空缺,做一些簡單可控的或者團隊中沒有人能抽出時間(興趣)來做的事。
            你可以對你的面試官說明你對游戲 AI 工程非常有興趣,而且打算以它為長期目標;但你要做好進入業界的前幾年都與特定領域無緣的打算。
            記住成為一個通才很重要,一個 AI 開發者需要堅實的游戲開發基礎技能。對現代游戲引擎的各個組件都相當了解,因為從一個實際項目中獲得的經驗無可替代。
            所以最為首要的就是學習你成為一個杰出工程師所需要的技能,對于大多數開發者來說,它包括:
            u       精通 C++ 與 STL。
            u       能夠編寫健壯的、可讀的代碼。
            u       精通算法與數據結構。
            u       精通面向對象理論。
            u       務實的態度,愿意采用“自底向上”的方式解決問題。
            u       了解代碼測試和防御式編程(例如:利用C++語言特征去最小化出現缺陷的可能性和強制編譯器與連接器在出現問題的時候“大叫一聲“)。
            u       愿意使用剖分器驅動的性能優化:在嘗試動手優化之前先找出真正需要優化的地方,在使用奇技淫巧和手寫匯編之前先使用算法優化。
            u       精通如何高效使用內存資源
            u       廣泛理解現代游戲引擎架構
            u       有堅實的3D 數學基礎(對游戲中需要用到的部分而言)
            u       良好的團隊交流和合作精神
            EDIT:這里強烈推薦一系列我書架上的通用工程技術書籍,包括《Effective C++》、《More Effective C++》、《C++ Coding Standards》、《Code Complete》、《The C++ Programming Language》、《3D Math Primer for Graphics and Game Development》等。(譯注:這些書都有中文版。)
            編寫一個示例程序
            想給公司留下一個深刻的印象?一個簡單有效的方法是用 C++ 編寫一個示例程序(是的,你可能使用 Java 或者 C#,但業界趨向于在游戲里排它地使用 C++,Java 和 C# 只在做工具的時候用到)。你的程序不必在圖形上看起來很炫,但需要能夠表現出你是如何做的和如何想的。不要使用你在學校的團隊項目,你單獨完成他,才能獲得所有好評。
            尤為重要的是你最好能夠提供源代碼,這樣你可以給面試官一個 demo 和創建它的示例代碼。努力讓你的代碼穩定、可讀,盡可能地沒有 bug,并且做好回答關于“當你編寫代碼的時候為什么作出這樣的選擇”的問題的準備。
            堅持
            當你打好了作為開發人員的基礎,完成了一個很好的示例程序后,盡可能地與更多地公司接洽。然后努力地做獨立編程測試,無論你在業界已經多久,這都能夠增進你的技能。
            當遇到很難的面試題時,盡量打起精神來嘗試解決問題,但也不要不敢向面試官尋求幫助,面試也是在測試你如何處理壓力,以及解決問題的決心,以及當你的思維原地打轉或者毫無頭緒時是否善于溝通。
            務實
            最后,如果你與面試官談起 AI,切記要務實。你要意識到學術環境中的“人工智能”與我們口中的“游戲 AI”的不同,也要意識到業界宣揚的游戲 AI 并沒有達到他們所承諾的那種高度。
            當你和面試官談起神經網絡或者其它機器學習技術的時候,他們可能會有點排斥感,因此你應當能夠準確地描述它們與游戲 AI 的關系(苛刻點說,可以認為仍然有一些開發者認為任何 AI 都是多余的)。
            面試官非常善于認清一個人是不是鼻眼朝天的自大者,因此你必須盡力地展現你務實的一面。
            弄清關于游戲 AI 的挑戰很重要,也要清楚地認識到它適用于哪些方面。可以參考一下我不久前的一篇文章(http://www.ai-blog.net/archives/000145.html),里面列出了一系列 AI 開發者常常會遇到的問題。
            從事 AI 開發是非常值得嘗試的,如果你能夠找到合適的公司和合適的項目的話。
            祝您好運!


            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lanphaday/archive/2008/07/10/2635783.aspx

            posted on 2009-08-31 16:27 life02 閱讀(232) 評論(0)  編輯 收藏 引用
            亚洲国产成人久久笫一页| 国产V亚洲V天堂无码久久久| 久久国产精品无码网站| 久久久精品久久久久特色影视| 伊人久久大香线蕉综合热线| 色婷婷综合久久久久中文| 99热精品久久只有精品| 欧美日韩精品久久久免费观看| 2020久久精品国产免费| 亚洲国产精品无码久久青草| 久久偷看各类wc女厕嘘嘘| 久久影院午夜理论片无码| 亚洲αv久久久噜噜噜噜噜| 国产精品欧美久久久久无广告| 久久国产免费直播| 久久AⅤ人妻少妇嫩草影院| 国产精品对白刺激久久久| 偷窥少妇久久久久久久久| 999久久久国产精品| 亚洲AV无码久久精品成人| 久久噜噜久久久精品66| 精品国产一区二区三区久久| 亚洲精品无码成人片久久| 中文字幕无码久久人妻| 99久久精品久久久久久清纯| 99久久精品国内| 国产婷婷成人久久Av免费高清| 久久久精品人妻一区二区三区蜜桃 | 99久久国语露脸精品国产| 久久精品中文无码资源站| 亚洲人成网站999久久久综合| 国产精品久久久久久久久久免费| 精品久久久久香蕉网| 久久夜色精品国产噜噜麻豆| 亚洲综合伊人久久大杳蕉| 久久精品国产精品亚洲精品 | 久久99毛片免费观看不卡| 99久久人妻无码精品系列| 99国产欧美精品久久久蜜芽| 久久se精品一区二区| 99久久精品国产一区二区三区|