我見過一些朋友,他們想學習遊戲程式設計,太過急於求成,總是一位的追求最新的技術,最高深的技術。例如乙個剛剛大學畢業的朋友,我看他對於c語言指標的概念理解的很混亂,就勸他應該加強語言基礎學習,過了一段時間又遇到他,他卻想和我討論多執行緒的程式設計。基礎知識不牢固,等遇到問題的時候往往摸不到頭腦。就像《joel說軟體》中說的那樣:抽象層往往是有漏洞的,所以在乙個專案中必須至少有一位了解所有細節的「程式設計高手」!下面是我認為乙個職業遊戲程式設計師需要具備的知識,或者是學習路線。匆匆寫來,也許有疏漏,但是花時間去學下面這些東西肯定是值得的!
1、基礎知識
首先是程式語言。現在遊戲開發的主流語言是c++。c++是一門複雜的語言,學了這麼多年,我都不敢說自己精通c++。要想用好它必須付諸長時間的努力。需要特別注意的是stl是c++中非常重要的部分,不要忽視對它的學習和使用。
然後是作業系統及其api相關的知識。要想開發出在某個作業系統上高效執行的程式,對作業系統有深入的了解是必要的。我主要在win32下開發,對其他平台接觸較少,舉例來說filemap,iocp都是作業系統特有的功能,用好這些功能可以使程式發揮出作業系統更多的功能。還有一些細節,如果不了解就很容易出問題,例如dll鏈結的問題。
軟體工程知識。不要只顧著低頭程式設計,要注意你所在的專案,要很好的和別人溝通。無論把自己定位成技術高手還是技術領導者,都需要學習軟體工程的知識。
熟練使用開發環境和版本控制軟體。常用的有ms visual studio .net 2003,ms visual source safe,gcc,cvs。
豐富的遊戲經驗也是很重要的。如果你極少玩遊戲,那麼你在乙個遊戲開發的團隊中是很難與別人交流的。例如,有人會說我希望鏡頭效果象《古墓麗影》那樣,如果你沒有玩過類似的遊戲是很理解的。你甚至連策劃案都看不懂,或者你認為你看懂了,結果做出來的東西完全不符合遊戲的常理。所以,你至少應該玩過主流的遊戲,特別是你正在製作的同型別的主流遊戲。對於乙個不是真正喜歡遊戲的,這一點是很難做到的。
4、其他
指令碼語言。前幾年大家還都在實現自己的指令碼語言,現在好像用python或者lua的成了主流。
遊戲程式設計師所需的知識體系
1 基礎知識 首先是程式語言。現在遊戲開發的主流語言是c c 是一門複雜的語言,學了這麼多年,我都不敢說自己精通c 要想用好它必須付諸長時間的努力。需要特別注意的是stl是c 中非常重要的部分,不要忽視對它的學習和使用。然後是作業系統及其api相關的知識。要想開發出在某個作業系統上高效執行的程式,對...
職業程式設計師的知識體系
今天看到一篇文章,說人的知識分成兩種,惰性知識和活性知識。那些對我們的工作,生活沒有幫助的知識,稱為惰性知識。惰性知識是用來裝門面的,吹牛的。他不能解決我們的問題,只是填補我們生活的空虛。比如金魚的記憶有幾秒,就屬於這種惰性知識。不過根據我最近的經驗,我發現每天早上,當魚兒們看見我拿起裝魚食的瓶子時...
Django的知識體系
django框架的基礎是mtv模式,他將開發任務分為三大部分 model template view。django的響應模式如下 響應順序如下 django中介軟體收到乙個使用者請求 django通過urlconf查詢對應的檢視後進行url路由分發 檢視接收到請求,查詢到對應的模型,呼叫模板生成ht...