KOFLive Postmortem
為期兩個(gè)月的團(tuán)隊(duì)項(xiàng)目完成了,我們的游戲也已經(jīng)發(fā)布。在這個(gè)名叫KOFLive的小游戲里,我們集成了五個(gè)真人角色,每個(gè)角色有拳腳基本招數(shù)以及三個(gè)小招、一個(gè)大招,硬值、防御、集氣、雙人對戰(zhàn)、人機(jī)對戰(zhàn)、練習(xí)模式等格斗游戲的Feature基本上全部實(shí)現(xiàn),并且做出了比較炫目的特效。無論從目前的下載量還是用戶反饋來看,游戲的效果都達(dá)到了我們的預(yù)期,也算不枉這幾個(gè)月的一番心血吧J除了這些,整個(gè)項(xiàng)目的教訓(xùn)也是顯然的。如果說閱讀《夢斷代碼》使我們對"軟件難做"有了感性認(rèn)識,自己親自參與到一個(gè)軟件工程項(xiàng)目中才讓我們對這一點(diǎn)有了切身體會——不過,只要群策群力規(guī)劃得當(dāng),一個(gè)軟件項(xiàng)目總歸不是難于登天的。我們愿意把我們做這個(gè)項(xiàng)目的經(jīng)驗(yàn)教訓(xùn)與大家分享,希望對軟件開發(fā)人員能有一些小小的幫助。
一個(gè)好的項(xiàng)目方案是成功的關(guān)鍵——它不僅能讓你的團(tuán)隊(duì)得到更多的用戶,更能讓隊(duì)員們在開發(fā)過程中充滿動力——試想,沒人愿意為一個(gè)"Hello World"工程付出太大精力,同樣也沒人愿意做一個(gè)根本不可能實(shí)現(xiàn)的功能:這中間的平衡需要好好掌握。另外,在選擇項(xiàng)目時(shí)你提出的第一第二乃至第三方案,都很有可能是別人已經(jīng)做爛掉的東西,這就要求我們在選擇項(xiàng)目時(shí),要有足夠的觀察力,并做足夠的市場調(diào)研。
現(xiàn)在想想,我們的隊(duì)伍在項(xiàng)目選擇上,做的不夠好:一是對項(xiàng)目的選擇規(guī)劃重視程度不夠,表現(xiàn)在提出的備選方案太少,全隊(duì)六個(gè)人僅僅提出了三個(gè)方案以供篩選,這是很不好的一點(diǎn);二是最終選擇的項(xiàng)目(鏈接請看這兒)最重要的Feature實(shí)現(xiàn)起來難度太大。整個(gè)開發(fā)流程中,我們對游戲的愿景可以說有三個(gè)階段:
?
所以,"程序員是天生的樂天派"這個(gè)說法還是很符合實(shí)際情況的。另外我們組沒有做過圖像處理的組員,在MSRA我們也需要做實(shí)習(xí)工作,同時(shí)三名主力Dev還因?yàn)閷W(xué)分問題不得不選修清華姚班開的一門操作系統(tǒng),在這么繁重的壓力下去實(shí)現(xiàn)一個(gè)圖像處理界都沒有研究透徹的Feature,實(shí)在是不夠現(xiàn)實(shí)。其實(shí),在項(xiàng)目開始之前,我們不是沒有就難度問題咨詢過相關(guān)的專家,不過可能是不愿打擊一群毛頭小伙的滿腔熱情J 他們并沒有直接告訴我們這個(gè)技術(shù)的可行性。所以,奉勸大家在選擇項(xiàng)目時(shí),一定要有足夠好的市場觀察力,肯花時(shí)間去好好調(diào)研,并要清晰認(rèn)識自身能力、時(shí)間、優(yōu)先度等客觀條件,最好將每一步都仔細(xì)規(guī)劃好,做到"大膽假設(shè),小心求證"J
?
一個(gè)好的選題很重要,不過我們當(dāng)時(shí)沒有注意到這一點(diǎn),做出選擇不夠慎重——這并不是說我們最終做出的項(xiàng)目沒有吸引力,只是如果我們當(dāng)時(shí)能夠計(jì)劃的好一些,開發(fā)過程中我們能少走很多彎路。從另一個(gè)角度來說,上軟件工程這門課,最重要的是學(xué)會一整套正規(guī)的軟件開發(fā)流程,而并不是說實(shí)現(xiàn)一個(gè)多難的技術(shù),況且,一個(gè)很難的技術(shù)也不一定是用戶歡迎的,對于一個(gè)學(xué)生團(tuán)隊(duì),選擇項(xiàng)目,不應(yīng)當(dāng)以"開發(fā)者"驅(qū)動,而應(yīng)當(dāng)以"用戶市場"驅(qū)動。
?
在Beta階段開始的時(shí)候,PM給每位組員發(fā)了封整體進(jìn)度安排郵件,郵件末尾說"希望軟件工程結(jié)課時(shí),我們能說出一句:"We're proud of each other"",現(xiàn)在快結(jié)課了,我們認(rèn)為每個(gè)人都值得小組其他成員的這一句話: We're proud of youJ 項(xiàng)目執(zhí)行的兩個(gè)階段,尤其是Beta階段,無論是PM/Dev/Designer/Tester的緊密配合,還是目標(biāo)改變后的緊急調(diào)整,以及發(fā)布之前的緊密測試和應(yīng)急計(jì)劃,我們都做到了一個(gè)良好軟件開發(fā)團(tuán)隊(duì)?wèi)?yīng)該做到的。
???????????????????????????? ?
我們?nèi)齻€(gè)層次不同的功能模塊之間定義好了完備清晰的借口,極大提高了Dev分工合作的效率以及Designer設(shè)計(jì)招數(shù)和特效的效率,并方便及時(shí)查錯(cuò)(要知道設(shè)計(jì)游戲時(shí),游戲引擎在進(jìn)行毫秒級的不斷渲染,Debug是很難通過IDE 設(shè)置斷點(diǎn)來實(shí) 現(xiàn)的J)如果可能,我們也樂于開放自己的源代碼,供大家參考指正。
?
????????????????這些措施的實(shí)施,使我們提前兩天發(fā)布了游戲 ,并且到現(xiàn)在沒有收到用戶反饋的任何健壯性問題,我們保證了我們最一開始交付給用戶的,即是一個(gè)健壯合格的產(chǎn)品。
?
總結(jié):盡管降低了難度,但不借助外界引擎開發(fā)一個(gè)完整的游戲,畢竟還是很有難度的。隊(duì)員們在四周的開發(fā)流程中圓滿完成了開發(fā)的任務(wù),交付給了用戶一個(gè)負(fù)責(zé)任的產(chǎn)品。可以說,我們在項(xiàng)目選擇、計(jì)劃階段有考慮不周的地方,但在真正的開發(fā)過程中,我們的個(gè)人努力和團(tuán)隊(duì)合作是高質(zhì)量高效率的。
回想這個(gè)KOFLive開發(fā)流程,我們經(jīng)歷過計(jì)劃大改的陣痛、成員意見的沖突、通宵工作的勞累,也經(jīng)歷過目標(biāo)實(shí)現(xiàn)的興奮、初具雛形的喜悅、游戲發(fā)布的欣慰,不管最終結(jié)果怎么樣,這樣一個(gè)過程讓我們真正了解了如何做軟件,更重要的是如何與他人合作:說服他人以及被他人說服J 這是讓我們感激彼此的重要原因。
最后,上張合影, We're proud of each other!
?
轉(zhuǎn)載于:https://www.cnblogs.com/MSRA_SE_TEAM/archive/2011/03/14/1984271.html
總結(jié)
以上是生活随笔為你收集整理的KOFLive Postmortem的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmd 终端快速查看自己的ip地址
- 下一篇: 如何优雅的快速下载谷歌云盘的大文件 (二