『壹』 做一名游戲程序員要什麼樣的知識
以我所知,要具備
基礎知識(數據結構,操作系統,計算機組成原理,編譯原理,計算機網路,(資料庫原理可能不用,但學了更好),高數,線代,概率,離散(起碼要懂這四門數學))
然後就是語言方面
這是人家給我的建議
(游戲開發的正路是C -> C++ ( -> STL ->) -> Win32 API -> DirectX / OpenGL / GDI等圖形庫
C -> C++ -> 數據結構 -> 演算法 -> STL -> (Boost) ->(MFC) )
而我把它細化了就是
(C-匯編-C++-數據結構-《Windows程序設計》(C語言描述那本名著Charles Petzold寫的)->《Windows核心編程》(Jeffrey Richter寫的那本)-MFC(學這個建議從簡單開始(推薦Visual C++實用教程,然後再看孫鑫的VC++深入詳解,最後才看,MFC深入淺出))- Directx)
STL或者可以安排在數據結構後學,STL還沒怎麼去理解過。
語言方面我列出了一個我個人建議的學習順序,當然只能作參考,按每個人情況而定。
至於基礎知識的課程,如果你數學比較好,建議先把離散給學好了,再去學,而把計算機組成原理放在最後,因為這個比較難。
做美工,當然會看你是否相關專業出身,但如果你功力夠的話,他們也不會介意你是否美術專業出身的。
以上。
希望對你能有些幫助。
『貳』 游戲程序員的基本要求
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年的失敗等等。在公司項目不成功時轉換單位,重新開始,或者繼續做為核心團隊留在公司繼續從新的機會做起,都是好的辦法。但關鍵是吸取經驗教訓,盡量多學多練。並且結合自身長處發展。當然,游戲製作人員,最好還是依靠一個核心團隊。成為核心團隊的一員。
能夠達到第三檔的程序,已經是公司不可缺少的人才了。但往往程序員自身對自己的認識,和公司對其的認識,有時候會有差異。我碰到過一些人,腦子好用,寫東西很快。各種技術都有涉獵。但總是不放心讓他獨立開發設計某個系統。哪怕是相對獨立的工具。也會被搞得一塌糊塗。要後面人不停擦屁股。可自己還覺著自己水平很高。這種人浮躁,眼高手低,不願意細致周全的做好一件完整的事。所以就可以看到他不停的跳來跳去,可在新公司的職位也沒有見多麼提高。公司非常重視交給一個程序員一件事,他是否能完整,考慮周全的把事情做完。哪怕時間長一點,也不能不做完。這會給工程帶來致命的後果。
『叄』 程序員的基本要求是啥
程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類.
崗位職責
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
職業要求
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
模塊化思維能力作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
『肆』 想成為一名游戲開發程序員應該具備哪些條件
首先陝西優就業的老師給你講一下:
游戲開發中的程序開發主要由圖形引擎、聲音引擎、物理引擎、游戲引擎、人工智慧或游戲邏輯、游戲GUI界面(菜單)、游戲開發工具、支持區域網對戰的網路引擎開發、支持互聯網對戰的網路引擎開發九部分組成。
其次一名開發人員所具備的要求是熟練掌握計算機本科專業所學的知識,主要包括C或C++語言、數據結構、編譯原理、演算法等,另外線性代數、微積分、牛頓力學在圖形和物理引擎開發方面用途也很廣泛,如果要提高的話還有必要了解硬體相關的知識如計算機體系結構、匯編語言,這些對學習一個新的硬體平台、編寫最優化代碼、提高自己游戲的競爭力都是非常有益的。如果你可以保持有恆心、不怕苦的心態和對游戲的熱情也是很重要的。
『伍』 游戲製作的程序員要具備什麼
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-326380356176737885
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-326380356176737885
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
『陸』 我想成為游戲開發程序員,要學些什麼
你可以先去【繪學霸】網站找「vr設計,元宇宙開發」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=305&zdhhr-11y04r-600712790
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.cgwang.com/course/vryxcoursemobilecheck/?zdhhr-11y04r-600712790
在「元宇宙開發,虛擬現實設計」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
『柒』 網路游戲程序員要具備什麼基礎
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y04r-578794407
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y04r-578794407
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
『捌』 想成為一名游戲程序員該怎麼做
本人沒有從事開發行業,但是不少同學都去做開發了,所以對編程略有一些見解。建議是多看代碼多練習,有機會多參與項目,總之一定要多練。大學四年的代碼量決定了畢業時的薪水。