① 游戲開發程序員的工資水平怎麼樣好找工作嗎
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y04r-877811572151570812
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y04r-877811572151570812
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
② 我想成為游戲開發程序員
一、游戲程序開發的工作主要包括哪些方面
游戲開發中的程序開發主要由如下幾個方面組成:
1.圖形引擎
2.聲音引擎
3.物理引擎
4.游戲引擎
5.人工智慧或游戲邏輯
6.游戲GUI界面(菜單)
7.游戲開發工具
8.支持區域網對戰的網路引擎開發
9.支持互聯網對戰的網路引擎開發
下面逐一介紹每個部分:
1.圖形引擎主要包含游戲中的場景(室內或室外)管理與渲染,角色的動作管理繪制,特效管理與渲染(粒子系統,自然模擬(如水紋,植物等模擬)),光照和材質處理,LOD(Level Object Detail)管理等,另外還有圖形數據轉換工具開發,這些工具主要用於把美工用DCC軟體(如3DS Max,Maya,Soft XSI,Soft Image3D等)軟體製作的模型和動作數據以及用Photo shop或painter等工具製作的貼圖,轉化成游戲程序中用的資源文件。
2.聲音引擎主要包含音效(Sound Effect簡稱SE),語音(VOICE),背景音樂(Background music簡稱BGM)的播放。SE是指那些在游戲中頻繁播放,而且播放時間比較短,但要求能及時無延遲的播放,VOICE是指游戲中的語音或人聲,這部分對聲音品質要求比較高,基本上用比較高的采樣率錄制和回放聲音,但和SE一樣要求能及時無延遲的播放,SE在有的時候因為內存容量的問題,在不影響效果的前提下,可能會降低采樣率,但VOICE由於降低采樣率對效果影響比較大,所以一般VOICE不採用降低采樣率的做法。BGM是指游戲中一長段循環播放(也有不循環,只播放一次)的背景音樂,正是由於BGM的這種特性,一般游戲的背景音樂是讀盤(光碟或硬碟)來播放。另外一些高級聲音特效,如EAX,數字影院系統(DTS5.1),數字杜比環繞等。
3.物理引擎主要包含游戲世界中的物體之間、物體和場景之間發生碰撞後的力學模擬, 以及發生碰撞後的物體骨骼運動的力學模擬(比較著名的物理引擎有havok公司的game dynamics sdk,還有open source 的ODE—Open Dynamics Engine)。
4.游戲引擎主要是把圖形引擎、聲音引擎、物理引擎整合起來,主要針對某個游戲製作一個游戲系統,其包含游戲關卡編輯器,主要用途是可以可視化的對場景進行調整,光照效果和霧化等效果調整,事件設置,道具擺放,NPC設置,另外還有角色編輯器,主要用於編輯角色的屬性和檢查動作數據的正確性。一般日本游戲公司的做法,他們會把關卡編輯器和角色編輯器直接做到游戲中,所有的參數調整都在游戲中通過調試菜單來進行編輯,所以一般他們把這部分調試菜單的功能做的很強大,同時在屏幕上實時的顯示一些重要的信息,這樣做的好處是關卡編輯器調整的效果直接就是游戲的效果,但是對於程序的重用性來說可能不是很好,比如說要用到另外一個游戲項目中就比較難,除非兩個游戲類型相同,只要把場景和角色數據換一下,還有做下一代產品也沒有問題,只要根據式樣增加調試菜單的功能就可以了。
5.人工智慧和游戲邏輯開發,這部分日本和歐美的游戲開發模式也有很大不同,在歐美游戲公司中運用腳本語言開發很普遍,所以這部分程序開發主要是用腳本語言編寫,而且腳本程序和游戲程序的耦合性很低,有單獨的編輯、編譯和調試環境,這樣比較利於游戲程序和關卡設計開發分開,同時並行開發,所以一般他們都會有專門做關卡設計的程序員崗位。而日本游戲公司腳本語言一般和游戲的耦合性比較高,一般通過一些語言的宏功能和一些編譯器的特定功能來完成一個簡單的腳本系統,所以一般這些腳本程序只能在游戲程序中進行調試,而不能在一個單獨的腳本編輯,編譯環境中進行開發。
6.游戲GUI界面(菜單),主要是指那些游戲中用戶界面設計,有做的復雜,有簡單的,做的簡單就是2D GUI界面,做的復雜有3D GUI界面。
7.游戲開發工具主要包含關卡編輯器,角色編輯器,資源打包管理,DCC軟體的插件工具等開發。
8.支持區域網對戰的網路引擎開發,主要解決區域網網路發包和延遲處理,通訊同步的問題,有同步通訊和非同步通訊兩種做法,非同步通訊用於那些對運行幀速要求比較高的游戲,同步通訊相對非同步通訊來說效率相對低,但是同步通訊的編程模型相對非同步通訊來得簡單一些。
9.支持互聯網對戰的網路引擎開發,目前大部分網游都是C/S結構的,伺服器端軟體配置管理,伺服器程序的最優化,還有游戲大廳、組隊、游戲邏輯處理、道具管理、收費系統等。另外還有一些網路系統是C/S和P2P兩種結構混合的,如XBOX Live等。
二、游戲公司中有哪些和程序員相關的崗位
程序員在游戲公司中的崗位在日本游戲公司和歐美的游戲公司有些不同,日本游戲公司中程序員的崗位主要有技術監督(Director),主程序員(Main Programmer),程序員(Programmer),在日本游戲公司里負責游戲項目開發的程序員,一般不會專門根據工作內容劃分程序員,除了獨立的系統研究室和聲音系統製作部門(這兩個部門是比較獨立的,往往同時給好幾個項目服務),負責每個游戲項目開發的程序員,隨時都可能一人多職,比如說主程序員除了負責整個游戲系統以外,可能還要負責圖形或聲音引擎開發等,程序員除了人工智慧以外還有菜單製作等。這種情況在歐美的游戲公司比較少見,他們分工的比較細,一般有圖形程序員,聲音程序員,人工智慧或游戲關卡程序員,物理程序員,每個組中可能還會有一個Leader。
三、游戲公司一般是如何招聘程序員的
這一點,日本公司和歐美公司也有些不同。日本公司一般喜歡從一些高校中招聘一些應屆優秀畢業生,一方面比招聘有經驗的人要來的成本低,另方面新人是一張白紙,容易培養,像SEGA、KONAMI等都是按這種原則招聘員工的,所以想進入日本游戲公司,你要學好你的軟體課程。而歐美公司希望招聘進來,能馬上進入項目的開發中去,所以他們一般希望招聘有工作經驗的人,即使不是行業中,在相關行業中工作2、3年的也可以,所以想進入歐美游戲公司你的工作經歷很重要。
四、想成為一名游戲開發程序員應該具備哪些條件
我覺的一個游戲軟體程序員,最起碼的要求是熟練掌握計算機本科專業所學的知識,主要包括C語言或C++語言,數據結構,編譯原理,演算法等,另外線性代數、微積分、牛頓力學在圖形和物理引擎開發方面用途也很廣泛,如果要提高的話還有必要了解硬體相關的知識如計算機體系結構、匯編語言,這些對我們學習一個新的硬體平台、編寫最優化代碼、提高自己游戲的競爭力都是非常有益的。另外,保持有恆心、不怕苦(比如說通宵加班)的心態,對游戲的熱情也是非常重要的。對於那些想進入游戲行業,但缺乏軟體開發知識的人,可以通過參加游戲開發培訓來
五、學習游戲編程有哪些好方法
現在有很多人,計算機本科畢業,學了很多軟體開發的知識,但是一旦要用到實際的項目開發時,感覺無從下手,這主要是在學校里運用知識的機會太少了。所以學習游戲編程最好的方法是能實際參與到一個好的游戲項目中和有豐富開發經驗的人一起開發游戲,可能學到很多你從書本上學不到知識和技能。但有時候你一時還沒有機會參與到一個好項目中,沒有機會進入一家好的游戲公司,但是你對游戲開發有一腔熱情,很希望學習游戲開發的技能,那你就應該去參加專門的游戲開發培訓,因為游戲開發培訓班中的老師都是一些有豐富開發經驗的老師,一般都有五年豐富的項目開發經驗,聽他們的課,實際上就是在和他一起分享這么多年的開發經驗,另外游戲開發培訓課程中會專門設計一些項目和課題,它們本身就是可以直接運用游戲開發中,這樣你可以不進入著名的游戲公司,但可以學到這些公司中一些常用的開發技能。另外還有一種方法經濟實惠的方法,參加一些網上志願者的開源項目,這些項目從品質來說有好有壞,選擇一個好的項目非常重要,另外他們中間本身有許多是業內人士,本來你要進入他們公司,才能學習到他們的經驗,但是通過開源項目,你就有向他們學習的機會了,說不定哪一天,你就進入一家知名的游戲公司了,不過目前開源的完整游戲項目好的不多,到是在圖形引擎和物理引擎方面有一些很不錯的開源項目,但要加入進去的話,你的基礎一定要好啊,有些開源的團隊也不是隨便什麼人就能加入的。
③ 游戲行業程序員現狀
不好。游戲行業程序員激衫慎就業幾率比2021年下降了49%。代表市場需明敬求量越大,就業情況就越不好,游戲行業程序員必須完全學習和掌握這些游戲中常用的技術,需要花費大量的時間。同時,隨著時代的發展,技術塌好也在不斷地革新、發展。游戲行業程序員現狀已跟不上時代腳步。
④ 游戲開發工程師的主要工作是什麼你會選擇這個行業嗎
游戲開發工程師不僅在薪金待遇上比在傳統高科技產業上具有優勢,同時擇業面廣泛也是吸引眾多求職者參加職業培訓的因素之一。如學習游戲程序開發,將來可在游戲企業、通訊企業、IT 企業擔任網路游戲 、網站開發 、 FLASH/C++ 程序師, 3D Animation 設計師、客戶端軟體工程師、伺服器端軟體工程師等等;可以說,游戲開發工程師的職業前景、就業前途非常看好!
⑤ 游戲程序員的基本要求
1 ,C游戲程序員現狀
中國C程序員100%都是自學的。因為中國幾乎沒有象樣的C培訓機構。大家都知道社會培訓是賺錢為主要目的。能在那裡成才是個大運氣。也不象JAVA有SUN公司一手推行。中國大學教育里也根本沒有C教學。關於C/C基礎課的知識,只是讓學生入門。但對於實際的C軟體工程應用,大學課本知識實踐意義不大。最重要的是,大學里沒有合格的C老師。編程是門技術,叫手藝也行。而大學是搞科研的,多的是科學家,靠出PAPER教科憑職稱為生。並不是技術員。沒有10萬行以上代碼經驗和成功軟體項目經驗的人,很難教出中高級C程序員。
游戲製作業對C程序員的要求是比較高的。比一般行業軟體高很多。因為任何一個MMO都是個中大型軟體項目。日使用人次達到幾十萬上百萬,同時使用人數幾十萬在線的大型網路多人交互軟體,集成了超過十幾項專業領域編程技術的軟體,想不大都不行。
另外,中高級C程序員能力一般都很強。因為都是自學成才,這需要較高智商,很強的自學能力,解決問題能力,和克服困難的毅力。但是這種人才在游戲行業里人數並不多。拋開鳳毛麟角具備整體大型軟體架構能力的高級人才不談。能夠承擔獨立模塊開發,具備獨立解決問題的能力,寫出在空間,性能,可維護性等幾個方面達到要求的C程序員,也是很難找到的。而具備這些能力,同時又具備一些專業領域技術的人(圖形引擎,網路引擎,等),更加稀少。
所以,即便是大游戲公司,對於C游戲程序員的需求,也是永遠不能夠得到滿足。而已經在公司工作的C程序員,不經過短則3個月,長達1年的鍛煉,也無法真正勝任獨當一面的C游戲程序開發工作。
2 ,MMO游戲開發對C游戲程序員要求
前面提到,所有MMO游戲都是中大型軟體。軟體佔用空間,穩定性,性能,可維護性等各項衡量軟體質量的指標,對MMO游戲軟體的要求都非常嚴格。遠大於普通行業軟體。這種規模和銀行系統類似。而客戶端和軟體邏輯比一般的商業軟體又要復雜很多倍。這就要求軟體編寫人員具備較高的程序編寫素質。
游戲軟體中,解決好軟體工程部分,只是項目的1/3。另外兩部分是策劃和美術/音頻。從經驗來看,需求變更對於MMO游戲軟體,不是偶然事件,而是一種MMO游戲軟體開發的基本屬性。游戲軟體投入大,周期長,風險高。MMO市場變化也大,交互電子游戲發展迅速。游戲軟體必須面對外界變動。又因為開發周期長,所以軟體需求變動成為了軟體開發的一種基本屬性。猶如復雜性是軟體工程的一項基本屬性一樣。
這導致游戲軟體的開發充滿了不確定性。交互娛樂不同於商業應用。娛樂是屬於理性和感性之間的領域。而C開發面對就是0和1的二元世界邏輯。這兩個領域存在著不可調和的矛盾。這種情況,對C游戲程序員提出了更高的要求。
首先,基本C知識,C/C運用技能,必須極其扎實。並不是游戲軟體開發用到什麼平時書本上很難得到的知識點或者技能點。游戲C開發的知識體系和技能體系,利用現有C書籍就可以滿足。比如《CLANGUAGE》《C PRIMER》《EFFECT C》《MORE EFFECT C》等。但是在開始游戲編程之前,把這些書本吃透並且實踐熟練的人,非常難遇到。當然能夠真做到這點的人,已經是個中高級C程序員了。我曾經遇到過一個,畢業工作不久就去了GOOGLE
其次鄭臘,對於面向對象的深入理解。是非常重要的。熟練掌握C/C語法,編程技巧,只是滿足了C游戲程序員一部分要求。而面向對象觀念的深刻理解,會為大型C項目開發帶來翻天覆地的喊裂滑變化。有時候,在一個10人以上並行開發的C游戲項目中,面向對象方法會成為救命稻草。《設計模式》以及《設計模式解析》相關的書籍,也是必修課。
最後,好技術人員的本質是自大的。這屬於正常。但是如果這種習性影響了自身繼續提高和團隊合作。以及影響了其成為技術管理者和項目技術核心時,那麼這種技術人員的自身價值會大打折扣。如果早日越過自命不凡這一關,擴大眼界,繼續在綜合素質上提高。在技術管理能力,源寬架構能力上提高,其自身價值才會繼續增長。落到實處,就是待遇和身家增長。
由於游戲開發的本質是團隊開發。任何時候,只有對一個團隊有價值的技術人員,其本身的價值才有可能得以體現。
3 ,成長和技術發展路線
一般技術人員發展有幾個階段
1 ,具備獨立開發局部功能的能力
比如為某個UI編寫邏輯介面函數。為某個LOGIN對話框編寫自繪制控制項等。
2 ,具備獨立開發和攻關某個功能模塊的能力
比如為游戲增加一個小型邏輯功能模塊。
3 ,具備獨立設計並開發某個系統的能力
比如設計和開發AUTOPATCH 系統
4 ,具備解決技術難題,設計架構的能力
比如開發網路同步模擬系統,開發一個中大型游戲製作工具
5 ,具備整體架構,管理,協調其他人共同開發一個大系統的能力
客戶端主程,伺服器主程,引擎主程等
6 ,技術director
制定技術發展方向,技術團隊建立,技術管理等
在邁向每個階段的過程中,伴隨的都是巨大的工作量和工程壓力。有時候是跨越1年的失敗等等。在公司項目不成功時轉換單位,重新開始,或者繼續做為核心團隊留在公司繼續從新的機會做起,都是好的辦法。但關鍵是吸取經驗教訓,盡量多學多練。並且結合自身長處發展。當然,游戲製作人員,最好還是依靠一個核心團隊。成為核心團隊的一員。
能夠達到第三檔的程序,已經是公司不可缺少的人才了。但往往程序員自身對自己的認識,和公司對其的認識,有時候會有差異。我碰到過一些人,腦子好用,寫東西很快。各種技術都有涉獵。但總是不放心讓他獨立開發設計某個系統。哪怕是相對獨立的工具。也會被搞得一塌糊塗。要後面人不停擦屁股。可自己還覺著自己水平很高。這種人浮躁,眼高手低,不願意細致周全的做好一件完整的事。所以就可以看到他不停的跳來跳去,可在新公司的職位也沒有見多麼提高。公司非常重視交給一個程序員一件事,他是否能完整,考慮周全的把事情做完。哪怕時間長一點,也不能不做完。這會給工程帶來致命的後果。