Android開發還是cocos2dx遊戲開發呢?
背景介紹
我小本畢業兩年,大學專業和計算機沒關係,中途轉做Android開發。雖然接觸Android時間不長,個人也很喜歡Java語言,但現在有點不想做Android了,覺得技術含量不高,不適合長期發展。現在我想學C++,cocos2dx,lua,js等,轉去做遊戲。開發的遊戲是跨平台的,不受平台限制,並且自己感覺技術含量更高,更適合長期積累。學好C++後,就算以後不從事遊戲開發,也可以走其他的路。
本人不適合走管理,喜歡寫代碼,所以想找個技術含量高的領域持續積累下去。
我的疑惑
我想問的問題是Android開發和遊戲開發相比哪個更適合長期積累呢?哪個更有前途呢?我現在應該專註Android開發還是著手準備轉遊戲呢?
多謝各位大神!
首先聲明我目前還是馬上畢業的學生,但是Android開發/ccx和u3d都玩過,直白的說這三個傢伙都是屬於易學難精的(框架本身不難,但是要用好很難)。如果題主你願意好好鑽研下去,任一門都沒問題的(完了有雞湯傾向了……
具體來說下這三個的區別(個人理解,有不同意見歡迎討論~)
- ccx這套東西比較簡單,因為本身框架代碼量都不算大,主要是底層opengl封裝的比較方便~所以光"用"在ccx我覺得貌似格局略小了些,它更主要是一個渲染引擎加上常用遊戲需要的功能封裝
- u3d比ccx功能全面不少,已經是有工作流的概念了,但輪子哥說的跨平台這事我覺得坑比ccx還多一些:主要是ccx能看到代碼,很多能自己fix,u3d就只能查文檔搞,雖然商業產品的文檔是會好很多但時不時還是會坑你一臉...
- Android開發的話我覺得有些人會覺得拖拉控制項、用各種第三方庫以及搞搞邏輯很簡單,沒啥可以積累的東西……但是如果說往底層再深入呢?不知題主有沒有看過android代碼,玩過ndk~譬如klayge就是c++的代碼,也可以跑安卓上的。或者你自己寫一套UI控制項,又會發現各種坑……
從描述上來說,我感覺題主對遊戲開發的認識有一定的誤區。現在稍微大一點的項目都是分工很明確的,有人專門處理渲染、有人專門負責邏輯、有人專門負責網路(好吧如果你用小公司那種一人身兼多職的例子來打我臉也沒辦法...),而且每一塊背後都有值得深挖的地方~我覺得比較重要一點就是不要被引擎局限,覺得每天寫寫用別人封裝好的東西寫寫邏輯什麼的就夠了,要去想別人是怎麼實現的、自己的代碼有沒有更好的組織結構、有沒有跟巧妙的方法之類之類
最後我想說的是……現實一點的角度來說貌似遊戲市場的盤子更大,但是這個如果你有信心在某一行做到top 5%就完全無壓力啦!所以還是lz你覺得哪個更好玩就投入其中吧!知乎上那麼多大神和資源帖,lz加油
我覺得不衝突啊
一邊上班做Android,C++可以開始練手了。
可以先從NDK做起。
而且我不覺得Android沒什麼發展啊,做一個非常優秀的Android需要注意的東西還是很多的。
為何要學C++?C++走不同的道路就要熟悉不同的庫,不同的環境,很麻煩的,還不如C# + .net走遍天下。
用Unity3D開發遊戲。再也不用管平台的問題了。
不太明白月薪已經過萬了還在問這種問題。
我是遊戲製作人,也認識有很多牛逼的obj-c,安卓程序牛。
不管做哪門,牛人就是牛人,關鍵是真能做好。
cocos2d和unity也不一定比別人賺得多,幹得少。
硬說區別的話,大概是遊戲開發熱錢多,看起來機會更多,對應的坑公司和做不起來的概率也更大。
等車的時候繼續說兩句。
1,題主認為遊戲開發技術更深,實際上恰恰相反。同樣工作年限,同級別崗位上,幾乎都是遊戲程序技術比較弱。
遊戲程序本質是一個實現別人想法的工具,面臨更多的溝通的要求。
其他行業的程序員,即使是有PM的大型團隊,也往往是一個PM與程序職能組溝通,更別說很多程序自己就是半個PM。程序往往只需要跟一個甚至是半個負責人溝通。
而遊戲開發,往往策劃與程序的比例1:1,甚至策劃比程序多的並不少見,程序往往會面對多個需求者,這還是不出管理問題的情況,溝通需求和成本會高數倍。
而遊戲設計上的複雜,難驗證,加上市場環境一日三變(還有老闆拍腦門等各種問題),設計需求上的頻繁改動對從其他軟體開發轉過來的程序來說,是難以理解的。幾乎所有遊戲開發都遇到過,從A改到B,B改到C,C改到D,D改成E,E最後又改回A的情況。
不光是挫敗感,這樣的工作意味著大量低級勞動,而真正的深度技術幾乎從中得不到鍛煉。
2,題主不想當管理,更希望做技術專家,這在遊戲開發團隊裡面,意味著上升空間更小。
遊戲開發是一個大規模軟體工程,要在遊戲團隊里當一個高級職位,更多需要在項目管理中做出貢獻,而不是單純技術攻堅。國內有些公司甚至把技術攻堅團隊從遊戲項目里單獨剃出去,成立專門技術組,而不是在遊戲項目中工作。而項目組的高級程序,更多必須承擔管理責任。現在的遊戲系統功能,幾乎不可能不由一個整體團隊集體完成。
之前一個程序好友寫過一篇文章,說高級遊戲程序在代碼上更重要的能力是寫出可靠,「低級」,好懂,可維護的代碼,便於溝通,換人維護,而不是寫出精妙牛逼的演算法,別人寫300行代碼我100行能實現。寧可用300行寫出別人1小時就能看懂的東西,也不要50行除了自己,別人根本維護不了的程序。深以為然,你體會一下。
遊戲入門容易深入難。
我是一個在校的大三學生
插進來就是對
題主的「安卓開發技術含量不高」的偏見(我認是為偏見)究竟是如何產生的非常好奇
這倆坑都比較屎,我建議你都不要搞。cocos2dx這種引擎,任何一個稍有水平的人都不會用第二次。以上。
推薦閱讀:
※國企和央企有什麼區別?
※*-造價這個行業真的好?
※體制內的大齡青年,辭職後應該如何重新規劃職業路徑?
※大學畢業後你的第一份工作是怎麼找到的?
※作為優秀公司一員,你願意指點想入行或想進你公司的後輩么?為什麼?