今年的劍俠情緣(網(wǎng)絡(luò)版)---開發(fā)回顧(共10頁)_第1頁
今年的劍俠情緣(網(wǎng)絡(luò)版)---開發(fā)回顧(共10頁)_第2頁
今年的劍俠情緣(網(wǎng)絡(luò)版)---開發(fā)回顧(共10頁)_第3頁
今年的劍俠情緣(網(wǎng)絡(luò)版)---開發(fā)回顧(共10頁)_第4頁
今年的劍俠情緣(網(wǎng)絡(luò)版)---開發(fā)回顧(共10頁)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上劍俠情緣(網(wǎng)絡(luò)版)-開發(fā)回顧 -趙青文章要點: 國內(nèi)的游戲開發(fā)團隊都需要燒一些浮躁,都一些踏實,不論在管理方面,還是對游戲的認識,或是技術(shù)方面,我們都有很多地方需要學(xué)習,改進。 筆者一直覺得中國現(xiàn)在的游戲開發(fā)人員趕上了一個好時候-有這么多的人在關(guān)注游戲行業(yè),這在以往是無法想象的。不過游戲行業(yè)這么火爆并不是應(yīng)為我們的研發(fā)實力有了多大的提高,也不是因為為我們開發(fā)出了多少即叫好、又叫座的游戲大作,而是我們碰上了一種好的盈利模式,僅此而已。 策劃是中國游戲開發(fā)團隊最薄弱的一環(huán)。我接觸過的大部分策劃或者眼高手低、不切實際,或者難以溝通,或者沒有從開發(fā)商業(yè)產(chǎn)品的角度出發(fā)設(shè)計游戲。

2、希望我這樣說沒有傷害到廣大策劃朋友的工作熱情,其實我提到的這些缺點,每個游戲開發(fā)團隊中的每個崗位上都會出現(xiàn),只是游戲策劃工作的超乎尋常的重要性,所以才會特別拿出來討論。 網(wǎng)絡(luò)游戲中應(yīng)該提供足夠的、方便的玩家和玩家之間的交互方式,玩家在游戲中建立的人際關(guān)系越多、越牢固,對這個游戲的粘著度就越高。2003年的1月,我剛剛開發(fā)完天王項目。天王是當時我參與開發(fā)的眾多項目中自己最滿意的一個,雖然這篇文字主要是對劍俠情緣網(wǎng)絡(luò)版(一下簡稱劍俠)這個項目的回顧,但作為天王的項目經(jīng)理和主程序,我還是想簡單談?wù)勊?。天王有幾個第一:它是西山居第一采用外購引擎來開發(fā)的游戲,第一個3D游戲,第一個動作類游戲,第一個被我

3、們自己開發(fā)人員所認同、并且愿意自發(fā)測試的游戲。雖然由于開發(fā)時間短、人員少以及我們沒有開發(fā)3D動作類游戲的經(jīng)驗,它還有很多不足之處,但從開發(fā)人員的觀點來看,它無疑是一個成功的項目。今后如果有機會,我會把天王的開發(fā)歷程介紹給大家,不過現(xiàn)在我要回到劍網(wǎng)的正題來。也就在這個時候,已經(jīng)開發(fā)了很長時間的劍網(wǎng)出現(xiàn)了問題,項目延遲非常嚴重,原項目負責人也離開了西山居。需要指出的是這種大的人員更迭已經(jīng)發(fā)生過一次,最初的主程序和項目負責人在2002年中期已經(jīng)離開了西山居。公司找到我,希望我來做劍網(wǎng)的項目負責人和西山居的技術(shù)總監(jiān)。對于我而言,這是個巨大的挑戰(zhàn)!當時的情況非常不好,一方面是公司過高的期望和過緊的進度要

4、求,一方面是項目組的普遍士氣低落和項目進度的失控。不過我還是相信憑著自己項目控制的經(jīng)驗和熱情,再加上項目組的開發(fā)實力和公司對完成這個項目的決心以及準備投入的人力、物力和財力,是能夠完成這一任務(wù)的。后來的事實證明我當時的想法是正確的。在最后的幾個月中,我們完成了一個不小的奇跡。6月開始內(nèi)測,9月開始公測,12月開始收費,最高在線人數(shù)一路攀升。更重要的是,劍網(wǎng)的成功為公司開發(fā)以后的產(chǎn)品積累了很多寶貴的經(jīng)驗。劍網(wǎng)收費后10個月,使用幾乎相同的技術(shù),公司就推出了第二個網(wǎng)絡(luò)游戲封神榜。現(xiàn)在,我把在開發(fā)劍網(wǎng)中的經(jīng)驗教訓(xùn)共享出來,希望能讓其他的項目管理人員、項目開發(fā)人員少走一些彎路。一、項目概述開發(fā)規(guī)模劍網(wǎng)

5、的開發(fā)人員更迭比較頻繁,所以統(tǒng)計人數(shù)是件比較困難的事情,下面的數(shù)字只能反映平均的人數(shù)情況 項目初期,共4人,都是程序 項目中期,共25人,6個程序、5個策劃、14個美工 項目后期,共44人,12個程序、6個策劃、18個美工、8個測試開發(fā)時間從2000年9月項目準備開始,到2003年12月項目收費,整個項目的開發(fā)時間為39個月。在這段時間內(nèi)西山居還推出了3款產(chǎn)品新劍俠情緣、月影傳說和天王。目標平臺PC平臺的MMORPG游戲目標市場亞洲地區(qū),尤其是華語地區(qū),包括中國內(nèi)地、香港地區(qū)、臺灣地區(qū)以及日本、韓國、新加坡等開發(fā)硬件 客戶端開發(fā)硬件為Intel P 800、512M內(nèi)存、Geforce2 MX

6、400顯卡 服務(wù)端開發(fā)硬件為Intel雙至強CPU服務(wù)器,2G內(nèi)存開發(fā)軟件 程序:MS Visual C+ 6.0 、Intel Vtune、 Visual Assist、 Lua 美術(shù):3Dmax 5.0 、Photoshop 6.0 策劃:Microsoft Office系列軟件二、主要經(jīng)驗總結(jié)從開發(fā)周期和投入的人力物力來看,劍網(wǎng)都是西山居自1996年成立以來規(guī)模最大、曲折最多的項目。這個項目的開發(fā)過程中犯了很多錯誤,也使我們累積了寶貴的經(jīng)驗。在這里,我先概要地列出一些劍網(wǎng)開發(fā)過程中的錯誤和經(jīng)驗,在下面的討論中,對它們還將更詳細的闡述: 開發(fā)網(wǎng)游和開發(fā)單機游戲有著本質(zhì)的不同,他們的可玩性體

7、現(xiàn)在不同的方面。單機游戲的可玩性主要體現(xiàn)在人機互動,網(wǎng)絡(luò)游戲的可玩性主要體現(xiàn)在人與人的互動;單機的RPG游戲常以精彩的劇情取勝,而網(wǎng)絡(luò)多人在線RPG游戲則很難制作出豐富的劇情;單機游戲的玩家比較成熟,大多憑興趣玩游戲,很多網(wǎng)絡(luò)游戲的玩家在接觸網(wǎng)絡(luò)游戲之前都沒有玩游戲的經(jīng)歷,他們只是把玩網(wǎng)絡(luò)游戲當作交友或者消磨時間的手段。應(yīng)該在項目開發(fā)的過程中時刻提醒自己,我們要開發(fā)的是個網(wǎng)游而不是單機游戲。其實并不只是我有這樣的想法,在和大宇的姚壯憲先生聊天時他也表達了同樣的觀點。劍網(wǎng)的開發(fā)人員大都沒有開發(fā)網(wǎng)游的經(jīng)驗,甚至沒有玩網(wǎng)絡(luò)游戲的體驗,所以劍網(wǎng)中存在不少單機游戲的痕跡也就不奇怪了。 游戲首先是一個商業(yè)

8、產(chǎn)品,技術(shù)只是游戲的一個基礎(chǔ),或者說只是更好地表現(xiàn)游戲的手段,而不是目的。但由于金山公司以程序員為主,西山居也不例外,實際上很多項目的關(guān)鍵性決策都是由崇尚技術(shù)并追求完美的程序員做出的,所以劍網(wǎng)中有不少華而不實的,卻極其耗時的技術(shù)研究。比如劍網(wǎng)中的3D顯示模式的開發(fā)耗時巨大,但是最終由于效率的原因,很少有用戶使用。我建議是開發(fā)一個大型項目時,最好80%的技術(shù)都使用成熟的技術(shù)。比如劍網(wǎng),應(yīng)該使用劍俠情緣2的引擎,再花些時間研究客戶端的換裝和服務(wù)器端技術(shù),這樣劍網(wǎng)至少可以提前一年推出。 網(wǎng)絡(luò)游戲中穩(wěn)定的服務(wù)器端以及提供便捷的運營、維護、更新、信息統(tǒng)計工具是最重要的幾件事情,應(yīng)該投入最核心的技術(shù)人員和

9、充足的時間去研發(fā)和測試。但遺憾的是西山居一直沒有自己的服務(wù)器端的技術(shù)人員,而且對此也沒有給予充足的重視,最終需要公司其他部門的支持。而很多關(guān)鍵性服務(wù)器端的功能也只是在內(nèi)測前幾周才完成,缺乏足夠的測試。說了這么多劍網(wǎng)中的不足,并不是說劍網(wǎng)的開發(fā)過程一無是處。西山居相對于很多國內(nèi)的開發(fā)團隊和小組,更加負責,更加用心,更加細致,更加專業(yè)。這些不足說明了國內(nèi)的游戲開發(fā)整體上還處于一個初級階段。三、項目起源2000年的時候,圖形化網(wǎng)絡(luò)游戲萬王之王開始進入中國,金山公司也是候選的代理、運營商之一。但是文字Mud已經(jīng)流行了很長一段時間,國外也有了UO之類的網(wǎng)絡(luò)游戲大作,但是萬王之王是第一部進入國內(nèi)的圖形化商

10、業(yè)化的網(wǎng)絡(luò)游戲。我當時也參與了測試這個游戲。即使在當時的技術(shù)水平下,我也覺得萬王之王制作得比較粗糙,最讓我不可理解的是,他的同步策略大部分都是客戶端的命令需要等待服務(wù)器的驗證返回,這樣的做法使得客戶端玩家的行為極為不流暢。這也是金山最終沒有運營這款游戲的原因之一。當時,由于盜版和制作水平的問題,國內(nèi)的游戲市場非常萎靡。西山居好像金山的一根雞肋,雖然開發(fā)了不少經(jīng)典的單機游戲,但由于盈利太少,和其他國內(nèi)游戲公司一樣,一直處在奄奄一息的狀態(tài)。之后,萬王之王在大陸的運營取得了出乎意料的成功,也給公司高層極大的震動,自主研發(fā)一款網(wǎng)絡(luò)游戲提上了日程。如果從那時起公司就投入足夠的人力、物力,潛心完成一款網(wǎng)絡(luò)

11、游戲,那么也許現(xiàn)在金山會占有國內(nèi)網(wǎng)絡(luò)游戲市場一半以上的份額。但遺憾的是由于決策的失誤,推動力的不足,以及精力過度的分散在其他游戲的研發(fā)上,使得劍網(wǎng)的推出至少延后了2年,在競爭如此激烈的網(wǎng)絡(luò)游戲市場,對一個產(chǎn)品來說,這么長時間的延遲幾乎是致命的。我一直覺得中國現(xiàn)在的游戲開發(fā)人員趕上了一個好時候,現(xiàn)在有這么多的人在關(guān)注游戲行業(yè),這在以往是無法想象的。不過游戲行業(yè)這么火爆并不是因為我們的研發(fā)實力有了多大的提高,也不是因為我們開發(fā)出了多少既叫好、又叫座的游戲大作,而是我們碰上了一種好的盈利模式,僅此而已。網(wǎng)絡(luò)游戲杜絕了盜版,又給千萬個網(wǎng)絡(luò)終端前孤獨、無聊的人們一種有趣的交流,溝通手段,所以它的成功是一

12、種必然。四、設(shè)計目標開發(fā)初期,設(shè)定了一些我們開發(fā)的原則和最終目標,有些是對的,有些事錯的。每個決定當時都引起了西山居內(nèi)部激烈的討論:1、用即時戰(zhàn)斗模式還是回合制戰(zhàn)斗模式。我們最終采用了即時戰(zhàn)斗模式,相對于回合制模式,這樣的開發(fā)難度稍大些。不過我覺得這不是一個錯誤的決定。 2、否采用超大、無縫連接的地圖。開發(fā)人員都有個美好的愿望,希望開發(fā)出超大的無縫連接的游戲世界,讓成千上萬的用戶可以方便的溝通,交流。很明顯這是一個聽起來很好,但做起來很難,而且是我們決定了要這樣做,更可惜的是最終我們花了不少時間也沒能實現(xiàn)這個目標。這是個錯誤的決定。3、我們的核心技術(shù)人員都是暗黑破壞神的忠實玩家,也非常推崇它所

13、使用的技術(shù),模仿它做一個類似的客戶端幾乎獲得了所有人的支持。最終我們完成了一個類似于它客戶端,但顯示效率差了很多,而且花掉我們太多人力和精力。這是個錯誤的決定。4、我們曾經(jīng)有過一個聽起來不錯的想法,在開發(fā)劍網(wǎng)的同時,利用現(xiàn)成的資源和技術(shù)再開發(fā)一個單機游戲。最終這個目標沒有實現(xiàn),我們低估了開發(fā)一個單機游戲所要投入的精力。這是一個非常錯誤的決定。五、過程模型劍網(wǎng)采用的是快速原型的軟件工程模型。這種方式比較適合游戲行業(yè)的特點,以及我們項目具體的特點。一般來說,我們在第一個里程碑通常只會投入核心技術(shù)人員完成一個技術(shù)原型,以解決規(guī)劃中的游戲所需功能中可能的技術(shù)難點。這一點非常重要。很多游戲開發(fā)到中后期才

14、會發(fā)現(xiàn)還有不少技術(shù)門檻需要跨越,以至項目最終延期。同時我們在第一個里程碑會細化策劃的設(shè)計,在第一個里程碑結(jié)束的時候形成一個比較系統(tǒng)的設(shè)計文檔,這個文檔越細致、越系統(tǒng)、越接近游戲最終的設(shè)計方案,游戲開發(fā)的過程就越順利。經(jīng)過這么多年游戲的研發(fā),我深刻認識到,策劃是一個游戲的靈魂,是一個游戲能否成功的關(guān)鍵。好的策劃需要深厚的功底,需要出色的溝通和表達能力,需要很強的邏輯推理能力,需要優(yōu)美的文字功底,需要創(chuàng)新精神同時更需要熟悉游戲業(yè)務(wù),了解終端用戶的心理。好的策劃是項目經(jīng)理、產(chǎn)品經(jīng)理、制作人的合適人選。不過遺憾的是策劃是中國游戲開發(fā)團隊最薄弱的一環(huán)。我接觸過大大部分策劃或者眼高收低、不切實際,或者難以

15、溝通,或者沒有從開發(fā)商業(yè)產(chǎn)品的角度出發(fā)設(shè)計游戲。希望我這樣說沒有傷害到廣大策劃朋友的工作熱情,其實我提到的這些缺點,每個游戲開發(fā)團隊中的每個崗位上都會出現(xiàn),只是游戲策劃工作的超乎尋常的重要性,所以才會特別拿出來討論。第一個里程碑中還會確定核心游戲資源的數(shù)據(jù)模式,并且完成大部分游戲編輯工具。一般情況下這些工具包括:地圖編輯工具、圖素編輯工具、模型(圖片)編輯工具、特效編輯工具、腳本編輯功能等。劍網(wǎng)的第一個里程碑完成得非常不順利,實際上很多應(yīng)該在第一個里程碑完成的功能知道項目進展到最后階段才完成。我們只在第一個里程碑中完成了客戶端顯示和換裝系統(tǒng)的技術(shù)研究。而非常重要的服務(wù)器端的技術(shù)研究只是泛泛而過

16、,沒有形成一個實用的、具評估價值的技術(shù)演示,這是劍網(wǎng)整個研究過程最失敗的一點。同時由于客戶端過于復(fù)雜,地圖編輯工具的研發(fā)也延遲到了項目接近完成時才最終完成。如果能夠順利完成第一個里程碑,我們會在第二個里程碑中擴展已有的功能,添加核心游戲邏輯,形成一個游戲的原型。第二個里程碑完成后,已經(jīng)可以看到游戲的雛形。這時候如果發(fā)現(xiàn)游戲的可玩性不夠,策劃還可以做比較大的調(diào)整。這個里程碑中美工需要開始利用已完成的編輯工具,來編輯游戲資源,雖然延遲了不少時間,但劍網(wǎng)第二個里程碑基本完成。不過遺憾的是,我們?nèi)匀粵]有把服務(wù)器端技術(shù)原型的研發(fā)當作重點,底層網(wǎng)絡(luò)模型、服務(wù)器架構(gòu)、同步策略都在項目的最終階段成為項目的攔路

17、虎,以至公司需要抽調(diào)其他部門的核心骨干,集體攻關(guān)。后兩個里程碑,主要是游戲的內(nèi)容制作階段和測試階段,也就是在第一、第二的原型基礎(chǔ)上根據(jù)策劃的設(shè)計,不斷完善游戲的功能,不斷產(chǎn)品化。這兩個階段也非常重要,大部分游戲功能、可玩性以及游戲的細節(jié)都是在這期間完成的。由于技術(shù)上已經(jīng)不存在障礙,所以一般情況下,即使這個階段出現(xiàn)延遲,也不會對整個項目產(chǎn)生太大的影響。從軟件工程的角度看,劍網(wǎng)做得比較好的地方是非常注重測試環(huán)節(jié),測試介入到了項目開發(fā)、運營的全過程。這在西山居以往是不曾有的,也是我極力推動的一件事情。在我剛剛擔任西山居技術(shù)總監(jiān)時,整個部門沒有一位全職測試人員,而劍網(wǎng)結(jié)束時,我們的測試人員和程序、策劃

18、人員的比例基本上達到了1:2,測試人員在劍網(wǎng)的后期開發(fā)過程中發(fā)揮了至關(guān)重要的作用,尤其是當劍網(wǎng)內(nèi)測初期,公司缺少運營人員,測試人員就承擔了大部分的運營工作,保證了劍網(wǎng)內(nèi)測的順利進行。綜合起來,特別需要注意的是: 要在第一個階段,也就是技術(shù)原型階段完成真正重要的技術(shù)的研究和驗證,確定項目的可行性,降低項目的風險。 第一個階段中,策劃提供的設(shè)計文檔體現(xiàn)的是對美工和程序的具體需求。設(shè)計文檔應(yīng)當盡量要做到系統(tǒng)化、清晰。 游戲是一個數(shù)據(jù)驅(qū)動的產(chǎn)品,開發(fā)階段需要生成大量的游戲數(shù)據(jù)。自主研發(fā)的游戲編輯工具非常重要,它的易用性會直接影響美工、策劃的工作效率。六、技術(shù)要點金山公司的創(chuàng)始人求伯君先生是個優(yōu)秀的程序

19、員,公司的核心骨干也大都是程序員出身。因此,崇尚技術(shù),追求完美的程序員文化深深的影響著每一位金山員工。在西山居中,程序員雖然在人數(shù)上只占到了很小的比例,但作為金山公司的一個事業(yè)部,其思考問題的方式和文化氛圍和金山公司一脈相承,都是以程序為主導(dǎo)的。這種以程序員為主導(dǎo)的開發(fā)方式在西山居延續(xù)至今,有利有弊。從目前的實際情況看,弊大于利。游戲行業(yè)技術(shù)門檻較高,技術(shù)更迭較快,許多技術(shù)甚至直接推動了個人計算機硬件的更新?lián)Q代。無可否認,技術(shù)史游戲?qū)崿F(xiàn)的基礎(chǔ)。同時目前國內(nèi)缺乏專業(yè)的策劃人員,所以以程序作為游戲開發(fā)的主導(dǎo),起碼在目前的實際情況下,是一個正確的選擇。但是畢竟最終決定游戲優(yōu)劣的是游戲的可玩性。從長遠

20、來看,培養(yǎng)和尋找合適的策劃人員,由他們擔任制作人,將游戲開發(fā)從技術(shù)主導(dǎo)轉(zhuǎn)變?yōu)橛螒蛐灾鲗?dǎo),是我們努力的方向。相對于單機游戲、網(wǎng)絡(luò)游戲的技術(shù)難點更多。一般情況下,我們會將網(wǎng)絡(luò)游戲中使用的技術(shù)劃分成如下幾個方面:1、通用底層功能包括游戲中各個模塊都會使用的一些基礎(chǔ)模塊,大致上有: 文件管理模塊 日志功能模塊 內(nèi)建的調(diào)試機制 內(nèi)存管理機制 性能統(tǒng)計分析模塊 數(shù)學(xué)、物力模塊2、客戶端的顯示客戶端的表現(xiàn)力和效率是游戲能否成功的一個重要決定因素,以一個3D游戲為例,大致上的功能有: 貼圖管理模塊 插件模塊 模型、動畫管理模塊 場景管理模塊3、游戲邏輯游戲邏輯指策劃提出的與游戲性相關(guān)的各種功能模塊,對于網(wǎng)絡(luò)游

21、戲,大致上有: 戰(zhàn)斗系統(tǒng) 角色人工智能(AI) 組隊功能 交易系統(tǒng) 人際關(guān)系系統(tǒng) 幫會系統(tǒng)等等4、服務(wù)器邏輯 網(wǎng)絡(luò)游戲中多臺不同職能的服務(wù)器支撐起一個完整的游戲世界,他們之間的通訊和邏輯決定了網(wǎng)絡(luò)游戲的穩(wěn)定性和負載的上限,網(wǎng)路游戲中不同職能的服務(wù)器大致上有: 賬號服務(wù)器 游戲邏輯服務(wù)器:完成游戲中角色AI計算,戰(zhàn)斗中的傷害計算經(jīng)驗分配等游戲邏輯相關(guān)計算的服務(wù)器 游戲邏輯集群總控服務(wù)器:協(xié)調(diào)各個游戲邏輯服務(wù)器的一個總控服務(wù)器,類似于一個局域網(wǎng)中的網(wǎng)關(guān)。 角色數(shù)據(jù)庫服務(wù)器 5、內(nèi)部開發(fā)工具的研發(fā)游戲開發(fā)過程中,美術(shù)、策劃會使用大量的我們內(nèi)部開發(fā)的工具來制作、裝換并生成最終游戲數(shù)據(jù),大致上有: 場景

22、編輯工具 圖素編輯工具 模型編輯工具 貼圖編輯工具 特效編輯工具 界面編輯工具 腳本編輯工具具體到劍網(wǎng),開發(fā)過程中的技術(shù)難點主要集中在兩大方面:客戶端的顯示和換裝系統(tǒng)劍網(wǎng)的客戶端需要支持兩種顯示模式:純二維的顯示模式以及類似于暗黑破壞神的半三維的顯示模式。這給劍網(wǎng)的研發(fā)帶來了很大的困難。首先是資源格式的問題,同樣的資源格式可能適合二維顯示,但不適合三維顯示。事實上我們低估了這塊工作的技術(shù)難度。劍網(wǎng)后期資源格式已經(jīng)定型,大部分游戲資源已經(jīng)生成,這時我們才發(fā)現(xiàn)提高三維顯示效率唯一可行的方式是重新規(guī)劃游戲資源的格式和組織方式,但這對于已經(jīng)進入一個研發(fā)后期的項目來說幾乎是不可能的。另外,由于劍網(wǎng)涉及到

23、復(fù)雜的換裝系統(tǒng)和數(shù)量眾多的角色類型,既能達到策劃的需求,又能盡可能降低游戲客戶端資源的容量。這也是個難點。服務(wù)器端的集群結(jié)構(gòu)、網(wǎng)絡(luò)底層通訊模型、游戲邏輯的同步策略服務(wù)器的穩(wěn)定性和流暢性是網(wǎng)絡(luò)游戲玩家最關(guān)心的幾個問題之一。大部分網(wǎng)絡(luò)游戲的服務(wù)器結(jié)構(gòu)都可劃分到如下兩類,單游戲服務(wù)器結(jié)構(gòu)和游戲服務(wù)器群組結(jié)構(gòu)。采用單游戲服務(wù)器結(jié)構(gòu)的比如奇跡,一個游戲世界由一臺服務(wù)器支撐。這個種結(jié)構(gòu)比較簡單,每個游戲世界承載的玩家數(shù)量比較少,但是正是由于簡單,所以比較容易達到穩(wěn)定、流暢的要求。劍網(wǎng)采用游戲服務(wù)器群組結(jié)構(gòu),由多臺游戲邏輯服務(wù)器協(xié)同運作,構(gòu)成一個完整的游戲世界。比如我們的一個完整的游戲世界由80個場景構(gòu)成,

24、單一服務(wù)器無法將這80個場景一起載入,我們就把這些場景分別放在8臺游戲服務(wù)器上,每臺大致有10個場景,這8臺服務(wù)器協(xié)同工作,構(gòu)成一個完整的游戲世界。這種結(jié)構(gòu)設(shè)計復(fù)雜,承載的用戶數(shù)可動態(tài)調(diào)整,要達到穩(wěn)定、流暢的設(shè)計目標,需要付出更大的努力。同時,選擇一個高效的網(wǎng)絡(luò)底層通訊模型也是我們的一個主要工作。不同的網(wǎng)絡(luò)通訊模型適合不同的應(yīng)用,網(wǎng)絡(luò)游戲?qū)Τ休d的用戶數(shù)量要求比較高,針對這種具體的需求,我們在Windows平臺下采用了IO完成端口的模型;在Linux平臺下,采用了實時信號量的網(wǎng)絡(luò)通訊模型。(由于劍網(wǎng)大部分的開發(fā)人員都不熟悉Linux下的編程方式,所以我們開發(fā)的大部分時間都在Windows平臺下進

25、行的,直到大部分功能都已完成后才由專人移植到Linux平臺下,所以我們有兩套網(wǎng)絡(luò)底層庫。最終劍網(wǎng)的服務(wù)器采用的是Linux。)這里我想重點談?wù)勍讲呗浴M皆诰W(wǎng)絡(luò)游戲中是非常重要的,它保證了每個玩家在屏幕上看到的東西大體是一樣的。解決同步問題的最簡單方法就是把每個玩家的動作都向其他玩家廣播一遍,但是這樣做會占用比較多的帶寬,所以我們要考慮一種比較高效的同步策略,其中涉及如下幾個問題: 同步的范圍,即一條網(wǎng)絡(luò)消息要向那些客戶(玩家)傳輸 同步的內(nèi)容,即多長時間同步一次 如何解決網(wǎng)絡(luò)延遲帶來的問題 如何優(yōu)化,減少帶寬的消耗 如何防止作弊由于篇幅有限,這里只具體談?wù)勍降膬?nèi)容: 1、同步內(nèi)容的分類

26、命令同步,即時發(fā)送。命令同步指游戲中的一些瞬間行為,比如玩家和角色的行走,玩家和角色見的攻擊,都可視為游戲命令。命令可能是客戶端發(fā)起,也可能是服務(wù)端發(fā)起。 狀態(tài)同步,按照一定平率,可以區(qū)分細節(jié)度發(fā)送,只有服務(wù)端發(fā)起。 由于網(wǎng)絡(luò)延遲,游戲中同步的內(nèi)容如果只有命令同步,很容易在游戲進行一段時間后,服務(wù)端和客戶端的狀態(tài)偏差比較大,所以需要間隔一段時間,同步一些關(guān)鍵的狀態(tài),校正客戶端和服務(wù)端的差別。 2、邏輯對像屬性的細分: 游戲由不同的邏輯對像構(gòu)成,比如玩家對像,角色對像。每個邏輯對像中會包含大量的屬性,我們需要在同步時區(qū)別對待這些屬性。 不同步的屬性,服務(wù)端和客戶端都可根據(jù)本地的配置文件載入,比如

27、角色的名字,角色的速度等。 需要在對象創(chuàng)建時同步一次,以后不會改變的。比如角色的類型。 需要頻繁同步的屬性,比如角色的生命。 3、邏輯對像行為的同步策略 客戶端自己決定,不需要同步給其他客戶,屬于客戶端專有對像的行為,比如用來播放特效的特效對像,以及用來增加客戶端表現(xiàn)力的各種小動物,這些對象不會對影響游戲的進行,所以不需要同步。 客戶端發(fā)起命令,在發(fā)給服務(wù)器的同時,為了增加本客戶端的流暢度,自己預(yù)測命令執(zhí)行的結(jié)果。服務(wù)器端將使用同樣的算法執(zhí)行命令。這種策略的缺點是發(fā)起命令的客戶和其他客戶在執(zhí)行命令上有個Ping值的延遲,比如玩家的行走命令。 客戶端發(fā)起命令,發(fā)給服務(wù)器,但本地不執(zhí)行,等待服務(wù)器處理或者確認,返回后再執(zhí)行,這樣所有的客戶端行為基本一致,也不可能出現(xiàn)作弊,比如玩家傷

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論