『壹』 游戲開發中程序員的工作量大嗎單機游戲。我還在猶豫是往游戲開發發展還是軟體開發發展,而我自然喜歡游
游戲程序員工作量很大,大於軟體開發。
你想想,你做一款游戲敵人AI要吧?
敵人AI還得分幾個行動模式吧?
玩家控制要吧?玩家總不能只會移動、攻擊,還得要些技能吧?
系統你得要吧?各種各樣的裝備系統還得做吧?
另外更具場景不同你還得做一些額外的內容。
總之做程序員工作量很大。
另外,程序員可有IT板磚工的稱號。
『貳』 如何成為一名優秀的游戲程序員
首先讓我們來談談什麼是程序員,以及程序員需要做哪些事情?
選擇做程序員,是源於真正意義上的興趣和喜歡,在做程序員的這幾年,我的生活也在一步步的提升,但同樣,不可否認在我個人眼裡,程序員的工作就像選擇其他種類的工作一樣,只是一份職業,一種在社會上存身立足的手段。
在校時,以及工作後都曾這么的想過:做一個IT從業人員,做一個程序員,做上個一二年,然後向提升下,做一個項目經理什麼的。或許,可以開一家自己的小軟體公司,或許做一名軟體顧問,再或許開一個網站,開發一個自己的小軟體。或者,真的不行的,利用做程序員這幾年的積蓄做一些小買賣 轉行另謀生計。總之,感覺做程序開發將是人生的一個過渡,可若真的按這種思路過渡,就將是用我人生的青春年華大好時光的五六年,或者更多時間。
下面一些事情是做程序員必須思考的:
(一) 你適合當程序員嗎,你知道編程序是怎麼回事嗎?
1、 程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)
2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)
3、你有對新技術追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當程序員嗎?)
4、當程序員決不是什麼好差事,時刻需要學習,需要思考。(直到你成為那個可以引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在於創造;如果你能改變軟體業的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,我會說你沒有追求。
6、當程序員還是很有樂趣的。(當你學到新知識時,當你有新的思想見解時,當你有新的產品問世時,和知己探討你的成果時…我問你,覺得這些是樂趣嗎?)
7、當程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎?)
8、你捨得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電腦書籍真他媽的貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要捨得買書,買好書,不好的的書不如不讀,其害大於其益,關於買什麼書,你可以問高手或看候捷的書評;准備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。)
9、我告訴你,程序就是:任何有目的的、預想好的動作序列,它是一種軟體。
10、編程序就是編寫程序。
11、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續往下讀;否則,你可以繼續尋找別的出路了。)
(二) 作為一個合格程序員每天該做的事是什麼
1、總結自己一天任務的完成情況
最好的方式是寫工作日誌,把自己今天完成了什麼事情,遇見了什麼問題都記錄下來,日後翻看好處多多;
2、考慮自己明天應該做的主要工作
把明天要做的事情列出來,並按照優先順序排列,第二天應該把自己效率最高的時間分配給最重要的工作;
3、考慮自己一天工作中失誤的地方,並想出避免下一次再犯的方法
出錯不要緊,最重要的是不要重復犯相同的錯誤,那是愚蠢;
4、考慮自己一天工作完成的質量和效率能否還能提高
一天只提高1%,365天你的效率就能提高多少倍你知道嗎?(1+0.01)*365 = 37 倍;
5、看一個有用的新聞網站或讀一張有用的報紙,了解業界動態
閉門造車是不行的,了解一下別人都在做什麼,對自己能帶來很多啟示;
6、記住一位同事的名字及其特點
你認識公司的所有同事嗎?你了解他們嗎?
7、清理自己的代碼
今天完成的代碼,把中間的調試信息,測試代碼清理掉,按照編碼風格整理好,注釋都寫好了嗎?
8、清理自己的桌面
當日事當日畢,保持清潔干凈的桌面才能讓你工作時不分心,程序員特別要把電腦的桌面清理干凈;
『叄』 做一名游戲程序員要什麼樣的知識
以我所知,要具備
基礎知識(數據結構,操作系統,計算機組成原理,編譯原理,計算機網路,(資料庫原理可能不用,但學了更好),高數,線代,概率,離散(起碼要懂這四門數學))
然後就是語言方面
這是人家給我的建議
(游戲開發的正路是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還沒怎麼去理解過。
語言方面我列出了一個我個人建議的學習順序,當然只能作參考,按每個人情況而定。
至於基礎知識的課程,如果你數學比較好,建議先把離散給學好了,再去學,而把計算機組成原理放在最後,因為這個比較難。
做美工,當然會看你是否相關專業出身,但如果你功力夠的話,他們也不會介意你是否美術專業出身的。
以上。
希望對你能有些幫助。
『肆』 游戲程序員主要是干什麼的當一個游戲程序員需要學習哪幾方面的知識另外需要學習會用哪些程序。
游戲程序員主要是為游戲產品的實現服務的,包含了前端UI、後端開發等方面的內容。
主要學的內容如下:
1.游戲程序設計:C++程序設計入門;基本數據類型和輸入輸出;流程式控制制語句;數組、指針和引用、函數;程序結構和書寫規;范結構體和聯合體、類;繼承與多態;異常處理與程序調試。
2.演算法與數據結構:演算法分析;數據結構;基本演算法;STL的概念與使用;靜態庫與動態庫;XML庫的使用。
3.Win32程序設計:Windows程序入門;Windows消息;GDI繪圖游戲工具與MFC;網路編程基礎。
4.游戲數學和智能應用:游戲中的坐標系;矢量、矩陣;幾何碰撞;物理模擬;人工智慧與尋路演算法。
5.2D游戲技術與應用:2D游戲技術概論;游戲地圖系統;GUI系統;戰斗系統設計;任務系統;優秀的聲音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
『伍』 想成為游戲程序員
樓主你好,如果你想從事游戲編程方面的工作,通常需要經過以下幾個學習階段:
1、基礎語言階段:常用的編程語言有,C,C++,JAVA,其中最廣泛被使用的就是C++,C++語言是一切游戲程序的基礎,換而言之,一個優秀的游戲程序員,必須非常熟練掌握並應用C++.
2、數據結構:在掌握C++之後,需要進行數據結構的學習,形象的講,就是那麼一大堆數據,如何去有序的排列其結構。通過對數據結構的學習,便能夠開始閱讀他人編寫的代碼,嘗試 開發簡單的程序,可以實現一些編程者自己的構想,是每個程序員必須掌握的技巧。
3、「庫」的學習及應用:最常用的有MFC(微軟公司類庫),GUI(圖形界面庫),當然「庫」的知識及功能非常龐大,通常來說,熟練掌握一部分經常涉及的知識即可。
通過以上三點的學習,c++基礎語言,數據結構,庫的使用。你基本已經可以自己獨立製作一個小游戲了,比如貪吃蛇,俄羅斯方塊等等。
然後,將進入的高階階段,也將是直接涉及到游戲程序相關知識。
4、游戲程序對於硬體的操縱。比如,內存,CPU,顯卡,這將會涉及到一些數學知識,比如立體幾何,線性代數等,但是也不用驚慌,並不是非常困難。通過對硬體的熟練操縱,才能將游戲的畫面,流暢度等等充分給予表達。
5、對於相關知識的學習。包括物理,腳本,美術等等。不需要深入了解,但相關知識的豐富對於你將來做游戲程序會有直接幫助。
6、對於游戲引擎的熟悉及使用。游戲引擎一般包括渲染器,內存管理器,組織管理幾部分。對游戲的畫面做出渲染,高效使用內存以及如何控制動畫播放等功能。熟悉引擎的使用,也將對於游戲程序員有直觀的幫助。
如果你打算自學的話,可以根據自身的情況,有針對性的選擇書籍,希望我的回答對你有幫助
『陸』 為什麼很多程序員,晚上都喜歡玩游戲
在現在這個浮躁的社會,可能很多人住在面對面一年也不會講幾句話,很多時候大家都是加班完回家,洗完澡就自己躺在床上,坐著自己喜歡的事,當然也會有很多無聊但是又睡不著的這樣一群人,就會打開手機或者是電腦,玩一下游戲,一到周末甚至會通宵去玩,可能在很多時候都會覺得在工作,生活中找不到屬於自己的樂趣,那麼就只能在游戲裡面去找尋成就感了。最典型的就是以學生群體為主,然後就是程序員咯,可能在編程界是很少有不玩游戲的。如果有的話絕對是程序員界的一股清流啦!
『柒』 一個游戲開發程序員有什麼要求嗎
17xuee認為想要勝任游戲程序員必須做到以下4點:
1.熱愛游戲;
2.扎實的基礎;
3.創新能力;
4.團隊合作交流。
做到了這四點,你會是一個非常優秀的游戲開發程序員。
『捌』 游戲程序員的基本要求
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++書籍就可以滿足。比如《C++ PAORGRAMMING LANGUAGE》《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年的失敗等等。在公司項目不成功時轉換單位,重新開始,或者繼續做為核心團隊留在公司繼續從新的機會做起,都是好的辦法。但關鍵是吸取經驗教訓,盡量多學多練。並且結合自身長處發展。當然,游戲製作人員,最好還是依靠一個核心團隊。成為核心團隊的一員。
能夠達到第三檔的程序,已經是公司不可缺少的人才了。但往往程序員自身對自己的認識,和公司對其的認識,有時候會有差異。我碰到過一些人,腦子好用,寫東西很快。各種技術都有涉獵。但總是不放心讓他獨立開發設計某個系統。哪怕是相對獨立的工具。也會被搞得一塌糊塗。要後面人不停擦屁股。可自己還覺著自己水平很高。這種人浮躁,眼高手低,不願意細致周全的做好一件完整的事。所以就可以看到他不停的跳來跳去,可在新公司的職位也沒有見多麼提高。公司非常重視交給一個程序員一件事,他是否能完整,考慮周全的把事情做完。哪怕時間長一點,也不能不做完。這會給工程帶來致命的後果。
『玖』 程序員具有什麼普遍愛好
emmmmm 說到程序員(俗稱程序猿),大夥兒最先想到的是什麼?
咱家程序猿比較多,隨便問了幾個,回答有「宅」、「開黑打游戲」、「科幻」、「健身」、「天文」、「女裝」(美其名「二流碼農寫功能 一流碼農寫演算法 頂級碼農穿女裝」,不知道是不是認真的,有可能自己在家真有cosplay。。。。)
據觀察,這幫大神擁有無與倫比的耐力(坐如鍾。。。),工作勤勞(加班最晚。。。)