• <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 閱讀(230) 評論(0)  編輯 收藏 引用
            亚洲精品无码成人片久久| 久久性生大片免费观看性| 五月丁香综合激情六月久久| 精品国产乱码久久久久久1区2区 | 久久中文字幕一区二区| 天天综合久久一二三区| 亚洲国产精品无码久久久蜜芽| 亚洲国产精品久久久久婷婷老年 | 久久婷婷综合中文字幕| 久久人人爽人爽人人爽av| 亚洲中文字幕无码久久2017| 伊人久久综在合线亚洲2019| 久久人妻少妇嫩草AV蜜桃| www.久久热.com| 亚洲精品乱码久久久久久按摩 | 亚洲国产精品一区二区三区久久 | 欧洲精品久久久av无码电影| 日韩中文久久| 88久久精品无码一区二区毛片| 精品久久久噜噜噜久久久| 久久久午夜精品| 久久久久一级精品亚洲国产成人综合AV区| 久久精品国产只有精品2020| 久久亚洲欧美国产精品| 精品久久久无码21p发布| 四虎国产精品成人免费久久| 大美女久久久久久j久久| 国内精品久久久久国产盗摄| 国产成人精品久久免费动漫| 中文字幕人妻色偷偷久久| 无码人妻久久一区二区三区蜜桃 | 久久精品国产黑森林| 久久精品成人欧美大片| 国产精品99久久久久久董美香| 国产精品亚洲综合专区片高清久久久| 久久精品不卡| 久久久黄片| 久久婷婷五月综合色奶水99啪| 无码精品久久久久久人妻中字| 99久久国产综合精品麻豆| 国产精品无码久久久久久|