java小游戲編程代碼,怎么培養(yǎng)java打代碼能力?
1,完整的用某個語言做一個小游戲,保證可以玩,別的東西例如UI、暫停菜單、附加功能、升級等等可以考慮不做,給自己規(guī)定一個時間,不超過一個月,要做出來,可以玩。一般來說少則三五百行多則幾千行也是有可能,涉及的技能點和知識點也足夠豐富吧,做完了,感覺立刻不一樣
2,不停地造“輪子”,看到什么框架火,就拿過來研究,然后用自己希望學習的語言實現(xiàn)一個,不停地寫啊寫啊寫啊
3,一定要造輪子.回過頭后再重構代碼,質(zhì)和量兩手都抓,相信我.提高很快的。另外寫代碼不是要你把你所有寫過的代碼都記下來,每個coder工作一段時間后都有自己的代碼庫,掌握解決某個問題的思路和方法即可,代碼直接找到以前的代碼庫拷貝過來就是了,但是代碼庫還是要靠自己填充,所以手寫還是避免不了的。
為什么Java不適合游戲開發(fā)?
作為一個多年游戲服務端開發(fā)者,我來回答一下這個問題。只要你仔細去招聘網(wǎng)站看,會發(fā)現(xiàn)游戲招java的非常少(我希望杠精不要抬杠,我說的少,而且非常少,并不是說沒有)。那么為什么在其他領域的霸主在游戲行業(yè)連喝口湯的資格都沒有呢?其實主要有兩個原因,而且這兩個原因都和程序員最關心的效率有關系,一個是開發(fā)效率,一個是運行效率。很遺憾的作為一個不上不下的java兩個都占不了。
首先是開發(fā)效率,在幾年前手機游戲開始火爆,游戲公司多,產(chǎn)品相似度高,那么如何能以最快的速度開發(fā)完游戲并且上線運營,在快速迭代中試錯,降低開發(fā)周期就是減少開發(fā)成本。在這種環(huán)境下,很多腳本語言成了首選,比如nodejs、php甚至還有l(wèi)ua和python(這里多說一句,別看lua語言本身簡單,其實lua在游戲領域的使用成本是非常高的,至少在這四種腳本語言中是最高的,因為他只是一個膠水語言,要依附于c/c++,作為游戲周邊的庫都要自己造輪子或找輪子,同時對于引擎部分來說,對核心開發(fā)人員要求也非常高,如果公司沒有經(jīng)驗豐富的c/c++程序員,lua基本玩不轉(zhuǎn))。在這些腳本語言面前,java毫無優(yōu)勢。nodejs開箱即用,用js可以前后端一起寫(html5的流行讓這種情況更是越來越多)。而php上手容易,開發(fā)簡單,而且像一些用http的弱交互游戲,熱更新簡直不要太爽,無感知修bug。一些簡單的休閑游戲,用這些腳本語言完全可以很快速的完成,就拿之前比較火的刀塔傳奇來說,用這些腳本語言一點壓力都沒有,還有特別是棋牌類游戲,腳本語言更是首選。
其次再來說說運行效率,在一些密集型計算的游戲中,c++是首選,一些大型游戲,對計算要求很高,業(yè)務邏輯復雜的情況下,提升效率就能多容納在線人數(shù),也是成本的減少。同時對內(nèi)存要求也高,使用c++可以數(shù)著內(nèi)存寫代碼(手法過于夸張[捂臉]),對象啥時候申請,啥時候釋放都是程序員說了算,gc消耗不存在的。而java生成的都是字節(jié)碼,代碼執(zhí)行都要經(jīng)過jvm來跑,這中間的消耗對于那些對性能要求苛刻的程序來說,絕對不能接受。
綜合以上兩點,java處于運行效率和開發(fā)效率中間的語言,在游戲這個行業(yè)自然是不會受到青睞。
零基礎如何學游戲編程?
既然問出這個問題,不防首先用port思考下
P-purpose 目的
O-goal 目標
R-result 成果
T-task 任務
目的——為什么要學習游戲編程?而不是學習其他的,你目前處于什么狀態(tài),是想要就業(yè)還是想要換職業(yè)?
目標——你學習游戲編程的目標是什么?純屬興趣愛好,希望學習完自己可以編寫一些小游戲,還是想學習完成后可以找到一份游戲編程的工作?
結果——將目標具體呈現(xiàn)出來的東西
任務——為了取得這些成果,你的計劃是什么?你需要做些什么任務來確保取得這些成果呢?
首先將上面的問題思考清楚過后,確定你的目標,然后再具體分析下你的目標,可以詢問自己以下幾個問題。
1. 關于目標的范圍,進度,質(zhì)量,成本,你是如何期待的呢?
范圍——游戲編程學習的范圍,內(nèi)容是什么?
進度——你打算讓自己多長時間內(nèi)學習完范圍?
質(zhì)量——怎么確定你學習的內(nèi)容是否過關,可以繼續(xù)下一階段的學習?
成本——你打算花多少錢投入在這件事情上?
2. 你設定了范圍,進度,成本,質(zhì)量,是否可以保證自己完成,如果有風險,是否可以調(diào)整其中一個因素呢?比如延長時間
3. 判斷哪個元素是可以調(diào)整和變動的?
4. 請重新調(diào)整你的目標吧
這些問題思考收集信息清楚后,相信你的問題已經(jīng)解決了,剩下的就是按照計劃去執(zhí)行了。
計劃是充滿變數(shù)的,所以在制定計劃的時候,記得將會影響計劃執(zhí)行的風險評估進去,并制定相應的風險應對措施。
以上就是關于java小游戲編程代碼和怎么培養(yǎng)java打代碼能力的相關問題解答,希望對你有所幫助。