當前位置: 華文問答 > 遊戲

遊戲程式設計師的核心競爭力是什麽?

2019-05-17遊戲

你跟我當時很像,我不是什麽大神,希望自己的一些見解能幫到你。

仰望大神可以,但是不要一開始就要去模仿大神,因為大神們能夠成就今天的自己,他們經歷了太多太多你無法觸及的專案,遇到太多太多你無法想象的困境並且成功走出來。一開始就把大神作為目標的話,這個目標太遙遠以至於你走著走著就發現不行了,走丟了。你現在要做的是,先明確你的方向,明確你內心真正需要什麽。

第一從方向上來說:

我個人理解的遊戲程式設計師的方向有很多:

1 渲染狗(Render)

2 邏輯狗(Gameplay)

3 工具狗(Toolchain)

4 SDK"接線員"(手遊居多,專門維護渠道)

5 白盒測試(邏輯狗變種,萬年修bug,外包公司存在這一職業)

根據你的情況,我感覺你應該更傾向於渲染和邏輯。我大學期間自學過渲染和邏輯(菜的摳腳那種),但是我負責任的告訴你,要想精通其中之一,沒有幾年甚至十幾年的積澱是肯定不行的。

渲染,這個東西很高大上,但是要精通真的很難很難,數學好肯定是必須的,英語也是硬性標準因為你要看國外的Paper,好的渲染書都是英文,而且巨貴.這裏不是勸退你,而是你要擺好自己的觀念,如果要學渲染先從基礎的開始學起吧,自己嘗試結合一些設計模式寫一個基礎點的渲染「框架」,初始化圖形庫,封裝紋理功能類,Obj類,然後shader跑起來掛載到指定的obj上,至少把基礎的渲染概念透過自己親自動手的方式去實作,去理解其內涵,如果可以的話閑著蛋疼你也可以自己去實作一些數學庫,例如矩陣,向量,四元數什麽的。了解這些數學知識在遊戲中表達是怎樣的,它們在遊戲中的意義是什麽,這些都要透過動手去實作才能真正明白。而且很多東西都是融會貫通的過程,做著做著,久而久之你就會突然頓悟,哦。原來之前這個問題是這個意思啊。學習就是這麽來的。

邏輯:我見過很多搞渲染的看不起搞邏輯的,因為他們往往喜歡拿渲染的難度去嘲諷邏輯,覺得邏輯那麽簡單隨便搞搞就會,其實更復雜點的邏輯做起來還是比較難的(取決於策劃,笑)。這裏不談論鄙視鏈。做邏輯最大的意義就在於它是真正能夠讓遊戲「動」起來的東西,談到邏輯我先談談遊戲引擎,我不推薦大學生一開始就上手各種引擎(unity Cocos ue4之類).為什麽?因為引擎很多東西都幫你搞定了,基礎渲染,物理,資源使用等等都幫你搞定了。很多東西你就接觸不到了。你應該嘗試擺脫引擎自己去做。自己親自去實作一下簡單的物理碰撞(基礎的如,矩形碰撞,圓形等等),深入點包括高效物理碰撞,做復雜點到邏輯,學會如何管理場景的載入,場景切換關系?如何在場景建立角色?如何移動角色(向量知識)?角色的血條要如何跟角色掛鉤在一起?角色的武器呢?武器如何發出不同的子彈並且每種子彈傷害和彈道均不同?你要真正去學的東西,搞邏輯就是個萬花筒,只要你敢想你就能做出很多神奇的功能。上面說的這些盡量脫離引擎來做,用引擎就沒有意思了,拖拽拖拽,呼叫內建API寫點邏輯就搞定了,但是對於你我還是建議去學習其內部的東西。找個圖形庫,先從2D做起,圖形庫初始化成功,紋理能夠正確載入,並且顯示到程式上,剩下的就是專註寫邏輯的事情了。

第二從程式語言角度來說:

我是C系程式設計師,在學校是C/C++/C#一條龍的,當時分方向時JAVA很火,但是還是選擇了C++,別問為什麽,那是愛情!

很多入門的圖形庫基本都是支持C/C++,所以我當然給你安利C/C++了。

你說你C++不好,這應該不能成為不會的借口,你把陣列,指標搞定,檔操作,明白記憶體如何分配與釋放,基本上就可以開始搞入門的了,用C的話遊戲數據可以用結構體代替,難一點C++直接上 class學習物件導向三大素質連擊。前期不用去考慮語言特性什麽的。先寫出來再說吧。

第三關於圖形庫:

初學2D上easyx圖形庫,難點可以選SDL,或者GDI,GDI+

作死可以選擇OPENGL或者 DX。2D3D遊戲都可以,了解正交和透視的含義巴拉巴拉

哦對了,你還得先學會建立一個win32表單,百度一大堆

第四關於書籍:

呃,年代久遠書名忘了。你買書主要是借鑒別人的邏輯是怎麽實作的,搞懂思路自己去嘗試寫。圖形庫的話GDI、GDI+、GL、DX書籍都有。自己淘寶京東一大堆

入門還是先選擇中文書把,如果你英語好又有錢非得看英文書,那隨意。

說了那麽多,遊戲程式設計師的核心競爭力,我個人覺得你得看情況,例如從公司崗位角度來講,SDK接線員也是很重要的,日常維護各種渠道,接各種奇葩SDK,你說沒有他行不行?我接的比別人快又好,問題又少,對於這個遊戲崗位而言這就是核心競爭力。

但是如果你從技術裝逼角度來講,確實還是邏輯和渲染更好,因為這兩個更貼近於遊戲到範疇。

所以我覺得關鍵在於你真正想做什麽,決定了方向了就開始去做,然後把他做好,時間富裕的話再去學習其他的方面的知識,最終形成自己的綜合優勢,最後變成全棧也不是不可能,如果是全棧的話在很多崗位你也就有了屬於自己的核心競爭力了。

希望能幫到你。