版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、前臺(tái)總結(jié)-SmartProject開發(fā)者:量子工作室DWC Asokawu 研發(fā)中心基礎(chǔ)研發(fā)組SeekyaoSmartProject引用代碼(SmartTank): SmartProject在SmartTank2.0的代碼基礎(chǔ)上進(jìn)行開發(fā),主要目的是縮短開發(fā)周期。 SmartTank是Asoka大學(xué)時(shí)開發(fā)的項(xiàng)目。開發(fā)環(huán)境C# + XNA SmartTank原本的設(shè)計(jì)是為人工智能的愛好者提供一個(gè)用AI代碼來(lái)玩坦克的可擴(kuò)展性平臺(tái)。 它實(shí)現(xiàn)了一個(gè)較完善的2D圖形引擎,像素級(jí)碰撞檢測(cè),視野計(jì)算,場(chǎng)景管理等部分。2SmartTank3SmartProject設(shè)計(jì)需求網(wǎng)絡(luò)同步部分:原有代碼不具有網(wǎng)絡(luò)方面的支
2、持實(shí)際游戲規(guī)則的編寫:原有代碼提供了場(chǎng)景管理的模式。主要工作集中在游戲邏輯相關(guān)的部分。主要挑戰(zhàn)在現(xiàn)有的3萬(wàn)行從未考慮網(wǎng)絡(luò)問(wèn)題的代碼上添加網(wǎng)絡(luò)模塊。4SmartProject 前臺(tái)開發(fā)進(jìn)度網(wǎng)絡(luò)同步模塊概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)(1天)網(wǎng)絡(luò)同步部分編碼(3天)前后臺(tái)相連,在原有規(guī)則上調(diào)試網(wǎng)絡(luò)部分(5天)編寫游戲規(guī)則邏輯,開發(fā)UI界面,綜合調(diào)試(6天) 5 網(wǎng)絡(luò)同步部分設(shè)計(jì)原則:主機(jī)管理絕大部分場(chǎng)景物體的邏輯,從機(jī)管理自己控制的場(chǎng)景物體的邏輯。其中大量利用了C#語(yǔ)言的反射機(jī)制。狀態(tài)同步:場(chǎng)景物體類中的任何成員都可以注冊(cè)為需同步成員,并可以定制同步頻率。事件同步:將從機(jī)場(chǎng)景物體觸發(fā)的事件映射到主機(jī)的對(duì)應(yīng)虛物體
3、上。使主機(jī)的規(guī)則邏輯無(wú)需了解網(wǎng)絡(luò)同步的內(nèi)部。物體管理同步:完全由主機(jī)負(fù)責(zé)物體的創(chuàng)建和刪除工作。發(fā)送相應(yīng)消息通知從機(jī)創(chuàng)建虛物體。自定義信息:類似于一個(gè)消息系統(tǒng),同步模塊的使用者自己決定消息的發(fā)送和解析。SmartProject6SmartProject第一次做同步邏輯,雖然初始想法很好,但實(shí)際用起來(lái)發(fā)現(xiàn)問(wèn)題多多。7SmartProject設(shè)計(jì)時(shí)自以為優(yōu)點(diǎn):同步一個(gè)變量值只需要在這個(gè)量發(fā)生改變的位置注冊(cè)一下就好,C#的反射能力可以根據(jù)變量的名稱改變變量的值,完全不用關(guān)心收包后解析的過(guò)程。實(shí)際中引發(fā)的問(wèn)題:當(dāng)考慮加入插值的時(shí)候:發(fā)現(xiàn)原有的結(jié)構(gòu)只能將對(duì)各個(gè)變量進(jìn)行獨(dú)立的同步,而無(wú)法將相關(guān)聯(lián)的多個(gè)變量進(jìn)
4、行統(tǒng)一的同步處理。到后來(lái):只好實(shí)現(xiàn)一個(gè)自定義的消息機(jī)制。致使同步邏輯在場(chǎng)景物體類和游戲規(guī)則類中四處遍布,異?;靵y。8接著。SmartProject發(fā)現(xiàn)在同步物體位置的時(shí)候簡(jiǎn)單拉取主機(jī)上的位置是存在漏洞的。實(shí)際中位置的同步跟碰撞處理及物理更新組件有一定的相關(guān)性。直接拉取埋下了隱藏的危險(xiǎn)。由于規(guī)則類在主機(jī)和從機(jī)上均在運(yùn)行,規(guī)則類中關(guān)于同步的代碼越來(lái)越多,很多地方要對(duì)主機(jī)的情況和從機(jī)的情況進(jìn)行分支處理。代碼亂到了一種境界。9SmartProject真正把規(guī)則抽取出來(lái),規(guī)則類不再管理游戲循環(huán)。從機(jī)上不在創(chuàng)建規(guī)則類的實(shí)例。同步模塊作為基礎(chǔ)模塊,在底層悄悄的進(jìn)行。將物理位置的同步部分獨(dú)立出來(lái),處理好插值過(guò)程,處理好與碰撞檢測(cè)及物理更新模塊的關(guān)系。在場(chǎng)景物體一級(jí)實(shí)現(xiàn)物體副本管理機(jī)制。同步過(guò)程對(duì)規(guī)則類完全透明。如果我有時(shí)間重構(gòu):10SmartProject結(jié)語(yǔ):十多天的時(shí)光過(guò)去,收獲了不少的經(jīng)驗(yàn),同時(shí),看到項(xiàng)目在全體隊(duì)友的共同努力下逐漸完善,看到每個(gè)人在自己掌管
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋租給鞭炮合同模板
- 2025屆高中地理一輪復(fù)習(xí)第三章自然環(huán)境中的物質(zhì)運(yùn)動(dòng)和能量交換第三講氣壓帶和風(fēng)帶氣候類型訓(xùn)練含解析湘教版
- 2024-2025學(xué)年高中歷史第二單元東西方的先哲第2課西方哲學(xué)的代表柏拉圖1教學(xué)教案新人教版選修4
- 托管公司售房合同范例
- 工廠安裝電梯合同模板
- 委托買股票合同范例
- 房屋維修施工合同范例
- 承包廚房協(xié)議合同范例
- 2024年廣西客運(yùn)員試題
- 2024年山西客運(yùn)資格考試卷
- 2024年吊車使用協(xié)議(一年期)
- 臨床護(hù)理帶教老師培訓(xùn)
- 水電站管護(hù)協(xié)議書范文范本
- 酒店直播方案
- 安徽省合肥市第五十中學(xué)西校區(qū)2024-2025學(xué)年期中考試七年級(jí)數(shù)學(xué)試題(無(wú)答案)
- 湖北省恩施市沙地初中2024-2025學(xué)年八年級(jí)數(shù)學(xué)上學(xué)期期中考試題卷(含答案)
- 國(guó)開2024年秋《大數(shù)據(jù)技術(shù)概論》形考作業(yè)1-4答案
- 旅游景區(qū)旅游安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- 部編2024版歷史七年級(jí)上冊(cè)第三單元《第14課 絲綢之路的開通與經(jīng)營(yíng)西域》說(shuō)課稿
- 合同模板 交稅
- 期中測(cè)試卷(試題)2024-2025學(xué)年蘇教版數(shù)學(xué)六年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論