想進一家遊戲公司做程序員,如何在大學提高自己技術?

本人現在普通一本大學的大二學生,想在以後找家合適的遊戲公司。現在基本將c++基礎打好也補了補數據結構和演算法,想以後用c++去專研些遊戲引擎底層的東西(但不會太深入),然後用用unity做些各個類型的demo最後學學一些lua腳本語言然後去應聘。但不知c++怎麼去學,只知道看完c++primer 然後 effective c++之後就不知道了,想請各位前輩們指點指點,順便問下我這樣以後會有工作嗎?謝謝!


基礎學太多做不出東西還是白搭,按照下面的幾步學著做,等畢業進遊戲公司問題不大:
第一步:做一款單機五子棋,ai演算法可以網上找,但一定要明白原理。(美術資源網上扒,做完給別人看,最少讓別人認為是一款遊戲而不是demo,下同。)
第二步:做一款聯機五子棋,能雙人對戰並判斷輸贏、超時、重連等。(選做:增加存儲數據功能,用mysql或keyvalue資料庫)
第三步:做一個簡單的類似傳奇、暗黑的arpg單人版,根據扒的資源考慮2D或3D,加上怪物、建築、尋路演算法和碰撞(選做:大招、boss、升級、鑲嵌、掉落)
做到第三步為止,如果你對遊戲編程沒法產生興趣,說明你不適合。
第四步,將第三步的遊戲做成聯網,並增進存儲功能。
第五步,選做,山寨一款現有卡牌遊戲的主要功能。
如果能堅持到這裡,足夠了,你踩過的坑,足以讓你學會很多演算法和底層原理了。現在讓你來編寫目前盛行的遊戲,比如《貪食蛇大作戰》,如果主要功能一周內完成,那麼,恭喜你,你的技術已經出師了,甚至超過很多人。
最重要的一步:把你的作品寫在簡歷里。

哈哈哈,我估計這個答案又將得罪好大一群人……


渲染引擎開發可以分成三類。最基本的是基於Low-Level API介面開發,如OpenGL、D3D和最新的Vulkan;第二是基於現有的高階渲染引擎框架開發,比如OGRE、OSG等開放框架;第三類就是大家聽的比較多的基於成熟引擎開發,比如Unity、UE等。

中小型的遊戲公司並沒有自己的渲染引擎,都是基於商業引擎開發的,比如2D遊戲用Cocos2D,3D遊戲用Unity,這類公司裡面,遊戲程序員的要求並不是太高,應屆畢業生的話應聘的話,掌握一門以上的編程語言,熟悉常用數據結構和數據演算法,熟悉開發平台,對OpenGL或者D3D有一些了解也就夠了。

會用Unity做遊戲,其實只能算是會用渲染引擎,真正想要參與開發引擎,那要求就高了。一個是有私有渲染引擎的公司不會太多,求職空間不大,二個是引擎開發人員的穩定性很高,沒有公司會希望自己的核心競爭力----渲染引擎開發人員流失。本科學歷是不夠的,一般都是研究生起步。應屆生招聘的也少,一般都需要兩到三年以上三維開發經驗,但是也不是沒有應屆生成功入職的,你也許可以嘗試一下?

語言,演算法,數據結構不用說,這些是基礎,必須要牢(ACM拿個省級或國家級一等獎就行了)。真正掌握OpenGL或D3D,了解渲染狀態,了解渲染管線,會寫Shader。對現有引擎架構有一定了解,比如說搞懂OSG / OGRE是怎麼渲染的,什麼是場景樹、狀態樹等。對一些渲染模塊,比如骨骼動畫、粒子特效、水、AO的實現有一定的了解,沒自己做過起碼也要看過理論吧。

...
2 B Continue.


去學一下unity 遊戲引擎
對新手友好

順便說一句 引擎也好語言也好
架構和開發思想很重要
有的人寫了一輩子代碼還是碼農
有的人幾年就能做個架構師
這一行是靠經驗吃飯的
創意很重要但是建立在你的知識體系上
不建議去培訓班 上班之後要靠很多自學的
極端的自己的例子本來是開發unity vr的 結果被叫去做ardino開發電路板 然後去焊電路 靠著初中一點勞技課的基礎硬是沒虛焊 過了


本來想寫一堆
還是推薦我覺得最重要的吧:學好英語
要不然人家忽悠你都不知道被忽悠了
基本上比較新的文檔都沒中文的,遊戲開發這種高新科技,時效性非常重要,別人家都用上最新的商業引擎了你還在造輪子
順便推薦一個視頻

Unity3d引擎製作大型RPg


自己寫個軟體渲染器,或者gou加速的軟體渲染器足以


校招學好基礎就可以了,會圖形圖像學的東西是加分項,客戶端而言
網遊的話,伺服器多熟悉Linux吧,還有網路,多線程,資料庫這些的,比較有幫助
不過真的想好進遊戲行業了?


謝邀~給你幾個關鍵字。自己去下功夫吧。
Unity部分:
AI、Editor、Shader、優化、網路、熱更新、UI框架、戰鬥系統、遊戲架構、遊戲安全、常用技巧
C++部分:
C++、STL、Boost、Nginx
加分項:
Android、iOS、Lua、MySQL、Python
圖形學部分:
DirectX、OpenGL
其他部分:
數據結構與演算法、設計模式、筆試題、面試題
不要掛科太多,小心畢不了業哦。


無他,供其所需,投其所好


有前途,大二就規劃這麼好了…我要有你一半現在也不會整天寫代碼了


1.做獨立遊戲
2.關注校招
3.參加各類遊戲編程編程比賽
4.找遊戲群之類的地方融入圈子混臉熟
5.找個像我這樣的獵頭鋪路(*^__^*)


自己做個小項目,比如紅白機上的各種遊戲,喜歡哪個做哪個,圖素網上到處都是
搞一份私下流傳的網遊源代碼,認真研究一遍,比如天龍八部的


基礎個粑粑,一群業內LOW瑟站著說話不腰疼。
現在是個公司招人都希望能成為直接戰鬥力。
說什麼有點基礎就行的,後期靠老人教和帶的,無非就是低價招進來的,給主程打雜的最低勞動力。
別說大公司了,就你想進一般小公司,最起碼的得有自己獨立完成過幾個小遊戲的經驗。
說自己基礎好,到崗之後狗屁不是的一抓一大把,一點競爭力都沒有。
一個程序員入行之前要是連幾個小遊戲級別的項目都不能獨立做出來,這種垃圾招進來只配給我口X啊我擦。


高票回答挺贊的.我這裡貼一本五子棋的書吧.鏈接:http://pan.baidu.com/s/1hsDJrBA 密碼:32q4
順便提一下,英語很重要....


什麼事都不能一蹴而就,編程技術更是如此,慢慢來。
大學只要你沒有一天 24
小時都在想下半身的問題,不是全天候泡在遊戲瘋狂副本,不是在直播里看主播騷首弄姿,出去找工作
,一般是沒問題的。
我並不是講你要如何如何努力,是讓你記得自己是個學生,要有必要的學習,不一定要多麼刻苦,多麼努力,但是你得時刻惦記著自己的學業。
出社會之後,還是要靠實踐來彌補經驗空缺的,但是理論成熟,實踐起來就容易,學校里的理論都沒搞清楚,出來工作還是要還的。


假如題主的學校是985,那隻要努力讀好書,把成績搞上去,然後多留意遊戲公司的校招,最好能讀個985學校的碩士學位,這樣校招成功的機會更大,而且起薪點更高


把C++學一學,最起碼寫代碼不能連語法都不會吧
數據結構啥的就不說了,起碼的還是要會一點的吧,複雜的遇到再學也行
做圖形的話DX11基本的得會吧
shader還是要會寫的吧
做遊戲lua還是需要的,所以也學一下吧
然後再做個小遊戲啊,或者自己寫個圖形引擎
找工作的時候也可以有點底氣,起碼自己還是能寫代碼的
有興趣的話,可以學學u3d之類的遊戲引擎
就算公司是自研引擎,會u3d之類的也是加分項嘛
也可以自己實現一些比如水,海,雲,陰影,大氣之類的圖形程序啦
再把延遲渲染,基於物理的渲染啊,這些自己寫一寫
再學學怎麼使用性能分析工具,比如NSight,VTune啊這些
Git之類的版本控制軟體工作肯定也用的上,也可以學一學
然後工作肯定可以找得到,工資啥的就看你的嘴了
至於找到什麼樣的,就看你做成什麼樣了
只針對做PC客戶端的,其它我也不懂,好吧PC客戶端也不懂


應屆生是不需要什麼遊戲開發相關經驗要求的,在學校還是多學點編程知識,數據結構,團隊合作,要培養成一個通才而不是專才。
至於遊戲開發經驗,畢業後再培養不遲。如果覺得這樣太遲了,可以考慮去遊戲公司做做兼職或實習,閉門造車是沒用的。
好好珍惜大學的學習時光吧!


看了那個讓你做遊戲的回答,真的不建議,現在遊戲引擎很完善,讓遊戲運行起來並不難,大學時間短而珍貴,不如用心學基礎,從根本出發,數學好,演算法就理解的快,語法理解的透徹,寫程序bug就少,至於什麼結構上架構啥的,上班過程中自然會進步,並且作為校招,面試官也不會那麼關注項目經驗,最好學一下圖形學,這也算數學吧,基礎紮實了,才智足夠了,秒殺騰訊,網易,完美什麼之類的問題不大。


提幾個個人觀點
1.按照你們專業出去實習的時間提前半年開始學習那個時間熱門的遊戲引擎並寫幾個小遊戲。
2.數據結構,常見的幾種設計模式,常見的幾種演算法,網路編程,多線程這些基礎一定要有。
3.可以的話,盡量把你設計的demo放到github上。
4.不建議花時間在圖形引擎上,對目前的你意義不大,如果是個人興趣就另說。
5.語言一定要有一門非常熟悉的,另外,最好熟悉下Linux。


實名反對目前最高答案,作為一名程序員,並且面試過部分遊戲公司,並且我很多同學都去了遊戲公司的程序員,告訴題主,遊戲公司面試更注重基礎,如對演算法的研究,數據結構的理解,你在ACM的獎遠比你做過多少小遊戲管用,當然你如果也了解很多引擎的使用肯定會加分,但是一定要記住,遊戲公司更注重基礎,特別是演算法,手機打字,吃飯順便看到忍不住一提,共勉


推薦閱讀:

《爐石傳說》是不是在走下坡路?
爐石傳說最經典的語句?
為什麼口袋妖怪世界錦標賽沒有單打?
如何評價歷代口袋妖怪遊戲?
口袋妖怪做成moba類遊戲會不會很好玩?

TAG:互聯網 | 遊戲 | 程序員 | 遊戲開發 | 校園招聘 |