建議準(zhǔn)備做項(xiàng)目和正在做項(xiàng)目的都來(lái)看看,吸取一下教訓(xùn)。
1.過(guò)多的工作壓到了同一個(gè)人身上
在很多小公司[或小項(xiàng)目組]里,總有那么一個(gè)核心程序員,負(fù)擔(dān)了幾乎所有的編程任務(wù)。這個(gè)人即使是個(gè)天才,也會(huì)被繁重的工作壓的沒(méi)有學(xué)習(xí)和自我提高的時(shí)間。
比如設(shè)計(jì)模式這樣的思考方式也是近幾年才在中國(guó)普及開(kāi)來(lái),卻并非那么容易學(xué)習(xí)。整天迫于項(xiàng)目壓力,就無(wú)法領(lǐng)悟新的東西,去用更好的方法解決問(wèn)題。
獨(dú)自一個(gè)人總攬大局,在項(xiàng)目后期很容易因?yàn)橄朐琰c(diǎn)結(jié)束,而把整個(gè)代碼補(bǔ)丁打得滿目滄夷,只求能解決眼前碰到的BUG而不為長(zhǎng)遠(yuǎn)的結(jié)構(gòu)穩(wěn)定去考慮了。
結(jié)果整個(gè)工程無(wú)法分出明顯的模塊,各部分耦合度太高,牽一發(fā)而動(dòng)全身,一直到新的BUG出來(lái)后無(wú)可救藥。
2.過(guò)分的彈性工作制
游戲程序員好似天生追求自由的一群人,白天辦公室里經(jīng)常看不到幾個(gè)人,晚上通宵達(dá)旦地在電腦前奮戰(zhàn)。不否認(rèn)好的程序員在精神興奮的時(shí)候可以連續(xù)工作寫出質(zhì)量不錯(cuò)的代碼,但是停下來(lái)時(shí)幾天沒(méi)有進(jìn)展也是時(shí)有發(fā)生。尤其到了項(xiàng)目后期,一旦BUG重重,程序員備受挫折,仿佛眼前的活永遠(yuǎn)都干不完,而且調(diào)試程序也失去了編寫程序時(shí)的新鮮感,最終假借彈性工作制的名義,消極怠工拖垮項(xiàng)目的先例已經(jīng)有很多了。
彈性工作制不等于沒(méi)有計(jì)劃,不等于可以隨意為之。在項(xiàng)目沒(méi)有進(jìn)展,而程序員卻整天不干正經(jīng)事,只知道聊天,瀏覽網(wǎng)頁(yè)的時(shí)候,程序員并非沒(méi)有心理壓力,他可能只是不知道下一步該怎么做,或是問(wèn)題太多已無(wú)從入手,這說(shuō)明項(xiàng)目已經(jīng)失控了。
3.沒(méi)完沒(méi)了的變化,沒(méi)完沒(méi)了的返工
大家都想把自己的作品做的更好,往往正在做的還是自己的處女作。自己的游戲做了一半,看見(jiàn)新上市的游戲有了什么新玩法,新東西,都想抄到自己的東西里來(lái)。
新發(fā)現(xiàn)什么技術(shù)可以讓畫面效果更絢,就迫不及待地實(shí)現(xiàn)出來(lái)看看。又或者,新做出來(lái)的東西老是不滿意,三天兩頭地放棄重做,力求完美。最終,游戲老是做不完,看不到盡頭。如果從投資方來(lái)了時(shí)間壓力,最后一咬牙將有缺漏的版本交出去,等待著的是玩家沒(méi)完沒(méi)了的投訴電話。
4.沒(méi)有及時(shí)的測(cè)試
誰(shuí)都知道軟件做完了是需要做測(cè)試的,測(cè)試出問(wèn)題就應(yīng)該修正,這似乎是天經(jīng)地義的事情,但是落到實(shí)處,早期的國(guó)產(chǎn)游戲卻很少有嚴(yán)格的測(cè)試。因?yàn)楹芏嗳撕雎粤艘稽c(diǎn),無(wú)論是哪種軟件開(kāi)發(fā)方法,測(cè)試都不是在軟件全部開(kāi)發(fā)完畢后才進(jìn)行的。等到大家看到項(xiàng)目好像已經(jīng)完工,這時(shí)候?qū)τ螒蜃稣w的測(cè)試已經(jīng)完了。必定發(fā)現(xiàn)一大堆的BUG,已經(jīng)到了無(wú)處著手的地方,如果只是頭痛醫(yī)頭腳痛醫(yī)腳那還真的不如借這次的經(jīng)驗(yàn)教訓(xùn),把程序推倒重來(lái)做個(gè)更好的設(shè)計(jì)呢。
5.項(xiàng)目的主導(dǎo)嚴(yán)重地偏向了某一個(gè)職位上
早期的游戲大多是程序員主導(dǎo)整個(gè)游戲的設(shè)計(jì)的,程序員說(shuō)應(yīng)該怎么做就怎么做,說(shuō)今天要怎么改就怎么改,甚至沒(méi)有單獨(dú)的游戲策劃一職,全部由程序員包辦。
這對(duì)小型游戲倒沒(méi)什么,對(duì)于規(guī)模較大的游戲,最終即使游戲程序本身沒(méi)有大的問(wèn)題,但是在游戲性方面卻讓玩家難以接受。作為技術(shù)人員,很容易把目光注視到技術(shù)的枝節(jié)上,而忽略了玩家的感受,大多數(shù)情況玩家并不把技術(shù)人員洋洋得意的地方放在眼里,游戲畢竟是給人玩的。
后來(lái)又出現(xiàn)了策劃為主導(dǎo)的游戲,策劃拍腦袋一想,我們應(yīng)該加點(diǎn)什么,那么程序員就日日夜夜地加班完成。如果實(shí)在是技術(shù)解決不了的還就算了,最怕的是,本來(lái)技術(shù)解決有問(wèn)題,可能新加的設(shè)計(jì)會(huì)影響到整體的框架結(jié)構(gòu)、對(duì)硬件的過(guò)分要求等,暫時(shí)像貼皮膏藥一樣把功能補(bǔ)上去看起來(lái)工作得很好,可是早早地就給日后的持續(xù)開(kāi)發(fā)留下了隱患。程序員在實(shí)現(xiàn)的時(shí)候盲目聽(tīng)從策劃的安排,沒(méi)有仔細(xì)地全面思考,造成了項(xiàng)目無(wú)法完成。
我也聽(tīng)說(shuō)過(guò)美術(shù)甚至市場(chǎng)人員為主導(dǎo)的項(xiàng)目,但并沒(méi)有接觸過(guò)這樣的團(tuán)隊(duì),就不太清楚會(huì)出現(xiàn)什么問(wèn)題了。
總而言之,游戲開(kāi)發(fā)是一個(gè)需要大家共同努力的事情。我們應(yīng)該把自己的思考都帶入到開(kāi)發(fā)中,盲目地跟從別人的想法或固執(zhí)地堅(jiān)持自己都有可能影響整個(gè)項(xiàng)目。