1. 程式人生 > >應聘客戶端主程需做哪些準備

應聘客戶端主程需做哪些準備

上一篇部落格給讀者介紹了關於應聘引擎程式或者資深引擎需要做的準備工作,本篇部落格給哪些想應聘客戶端主程的開發者提供一些建議。客戶端主程市場需求也是非常大的,我本人以前也應聘過客戶端主程,也招聘過客戶端主程,下面將一些心得分享給讀者,以供參考。

  • 專案要求
    客戶端主程就是要對整個專案負責,對主程的要求就比較多,比較雜了,因為他關乎整個專案的成功與失敗,所以必須要謹慎對待。專案也分很多種類,比如MMORPG,FPS,Strategy Game,Casual Game,Sport Game,Racing Game, Web Game等等,不同種類的遊戲,對於主程的要求也是不同的。遊戲公司都是根據專案招聘主程的,至少有相關遊戲型別的經驗的開發者,這樣加分項會高一些,因為不同型別的遊戲對於技術細節要求是不同的,遇到的問題也是不同的,而作為把控整個專案的主程,專案經驗就顯得尤為重要了,至少他以前的經驗可以幫助他避免一些坑,或者說少走一些彎路。在專案管理工具方面,實現某個專案首先是程式碼版本管理工具的選擇,比如Git,Svn等,專案計劃管理工具比如,Jira,禪道等等,使用這些工具是為了提升開發效率。簡歷的編寫也要突出對應專案經驗,還有突出自己在管理人員方面的經驗,比如帶過人,這樣既突出了技術,也突出了管理能力。

  • 技術面試
    對技術的面試,這個一般會有公司的技術經理或者技術總監參與面試,一方面,會針對你簡歷中所列的內容進行問答,另一方面,他們也會根據自己正在研發的專案中存在的問題進行問答。下面就聊聊面試官會問哪些問題?這個也是讀者比較關心的。
    問題一:專案中使用的架構設計?
    問題二:專案中的大量貼圖如何優化?
    問題三:專案中的場景裁剪優化?
    問題四:對於大規模NPC頭頂的血條如何優化?
    問題五:UI圖集如何優化以及UI的共享圖集的製作載入和解除安裝方案?
    問題六:熱更新是如何實現的?熱更新架構選型?
    問題七:專案的優化方案有哪些?針對記憶體,CPU,GPU舉例說明。
    問題八:模型的角色面數,貼圖大小,骨骼數量有哪些規定?
    問題九:包體大小是如何控制的?包體執行佔有的記憶體是多少?資源在記憶體中是如何分配的?
    問題十:Lightmap是如何產生的,lightmap的貼圖大小如何去做優化?
    問題十一:遊戲開發中使用了C#的哪些特性?
    問題十二:AssetBundle的載入以及解除安裝
    問題十三:幀同步與狀態同步區別?
    問題十四:粒子特效的優化?
    問題十五:Shader的優化以及編寫

    未完,繼續補充。。。。。。。。

  • 學習技能
    關於學習這塊,我建議大家多讀一些管理方面的書籍或者一些關於與人交流相處的書籍,因為對於程式設計師來說,溝通方面相對來說比較欠缺,大部分程式設計師只會悶頭做自己的事情,遊戲開發是一個團隊專案,每個人之間要學會溝通,溝通是有技巧的,同樣一句話,有人說的聽起來舒服,有人說的聽起來難受,作為主程不僅要與自己團隊的成員溝通好,還要跟策劃,美術去溝通,多學學溝通技巧對自己是有幫助的。技術方面,我建議讀者多參與一些技術論壇的問答或者多看看別人分享的技術部落格,以及閱讀一些國外編寫的技術書籍,所學習的知識要與現在的工作內容匹配,這樣學習效率更高。在這裡我簡單列了一個客戶端技術大綱供參考:
    在這裡插入圖片描述


    作為客戶端主程,以上所列的技術點都應該掌握,當然對於新技術也需要跟蹤研究,填補自己的知識庫。作為主程必須要精通架構技術,這個關乎遊戲專案能否順利開展,其他的技術點或多或少要了解。

  • 管理技能
    很多人對此並不是很重視,感覺這個沒有什麼科技含量,這個認識大錯特錯,一個好的管理者可以把整個專案團隊凝聚在一起,這樣的團隊效率非常高的。而如果對於團隊屬於管理,整個團隊成員流失率很高的,專案會出現拖沓,後期會出現各種問題。我在招聘或者以前面試時,很多公司對此並不是特別關注,他們只想招一個技術比較牛的人把專案做出來,其實這種想法表明公司的管理者目光比較短淺。因為有的人不適合做管理,只適合單打獨鬥,你讓他做主程,忙的只是他一個人,這樣專案也會出問題的,畢竟現在靠一個人打天下的年代已經過去了。而作為主程即使公司不注重管理,但是作為我們要帶兵打仗的人,必須要對管理重視起來,換句話說,在公司你要有一定的話語權,否則隊伍不好帶的,人生在世,無非關乎名利二字,你要讓團隊凝聚起來,必須要給他們名或者利,還要做好團隊人員流失的工作,防止專案由於某個人離開了,後面的人接不上來,也就是我們說的風險控制,這些都需要主程未雨綢繆。除了以上提到的,還要幫助團隊成員提升自己的技能,定期給他們培訓,我個人感覺一些大公司在這方面做的比較好,他們會請行業內比較牛的人不定期的給研發團隊做一些技術講座。

  • 總結
    作為主程,技術必須要好,因為搞技術的人只佩服技術牛的人,這樣帶團隊比較容易,需要你在公司有一定的話語權,這個要跟領導事先溝通好,至少要有對團隊成員的招聘,開除這樣最基本的權利。另外,掌握一些常用的架構設計比如MVC,FSM等等,設計模式要精通常用的比如單例模式,工廠模式,狀態模式,觀察者模式等等。