淺談爐石傳說(shuō)開(kāi)發(fā)技術(shù)_第1頁(yè)
淺談爐石傳說(shuō)開(kāi)發(fā)技術(shù)_第2頁(yè)
淺談爐石傳說(shuō)開(kāi)發(fā)技術(shù)_第3頁(yè)
淺談爐石傳說(shuō)開(kāi)發(fā)技術(shù)_第4頁(yè)
淺談爐石傳說(shuō)開(kāi)發(fā)技術(shù)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、題目 淺談爐石傳說(shuō)開(kāi)發(fā)技術(shù) 姓名與學(xué)號(hào) 3110104246 吳雙 年級(jí)與專(zhuān)業(yè) 大四 軟件工程 所在學(xué)院 軟件學(xué)院 本來(lái)是想繼續(xù)談?wù)勅龂?guó)殺這個(gè)游戲的開(kāi)發(fā)技術(shù)的,但這個(gè)游戲是個(gè)網(wǎng)頁(yè)游戲,開(kāi)發(fā)技術(shù)沒(méi)什么新意可談。所以經(jīng)過(guò)了思考選擇了爐石傳說(shuō)這個(gè)暴雪出了不久的卡牌游戲。之所以選擇爐石傳說(shuō),確實(shí)是有幾點(diǎn)原因的:1、爐石傳說(shuō)開(kāi)發(fā)所用的成本可以說(shuō)是目前卡牌游戲里最高的了,畢竟是暴雪出品。2、爐石傳說(shuō)的開(kāi)發(fā)引擎是unity3d,這點(diǎn)暴雪并沒(méi)有聲明,但是從所放出的代碼文件看確實(shí)是Unity 3D的文件。而Unity 3D作為一個(gè)流行不久的開(kāi)發(fā)引擎,也有很多可談之處。3、爐石傳說(shuō)無(wú)論從背景還是機(jī)制,都做的是相當(dāng)

2、不錯(cuò)??梢哉f(shuō)整個(gè)游戲的設(shè)計(jì)都相當(dāng)值得借鑒,在我看來(lái),游戲設(shè)計(jì)遠(yuǎn)比游戲開(kāi)發(fā)重要。因此,在之后我會(huì)花費(fèi)一部分篇幅來(lái)談?wù)劆t石傳說(shuō)的設(shè)計(jì)。先談?wù)刄nity 3D吧,我們小組的3d游戲大程就是按照老師的要求使用Unity 3D開(kāi)發(fā),因此對(duì)Unity 3D也有了一定的了解。目前,在海內(nèi)外漸成趨勢(shì)的跨平臺(tái)游戲領(lǐng)域,Unity 3D引擎顯然是各大廠(chǎng)商關(guān)注的焦點(diǎn)。其一是該引擎的游戲設(shè)計(jì)能力強(qiáng),畫(huà)面效果不遜于虛幻3;其二便是跨平臺(tái)應(yīng)用的功能,能夠?qū)崿F(xiàn)游戲在PC、PS3、XB360、iOS等平臺(tái)的無(wú)縫并存。時(shí)至今日,國(guó)內(nèi)外跨平臺(tái)游戲領(lǐng)域在不到一年時(shí)間內(nèi),已經(jīng)涌現(xiàn)出數(shù)十款PC端的Unity 3D網(wǎng)游,而基于該引擎的手

3、機(jī)游戲更是多達(dá)數(shù)百款。Unity的游戲和應(yīng)用可以用C#語(yǔ)言,UnityScript或者Boo來(lái)開(kāi)發(fā),其編譯過(guò)程根據(jù)不同的目標(biāo)平臺(tái)而變化。在PC,Mac和Android平臺(tái)上,游戲代碼可以被編譯成字節(jié)碼,可以用JIT編譯器執(zhí)行。在其他平臺(tái)上,游戲代碼需要預(yù)編譯,在建立的時(shí)候轉(zhuǎn)化成為目標(biāo)機(jī)器的本地代碼。Unity開(kāi)發(fā)平臺(tái)包括可視化編程工具和基于MonoDevelop的IDE,還有3D補(bǔ)償引擎,腳本語(yǔ)言環(huán)境,工作流系統(tǒng)和團(tuán)隊(duì)合作版本控制。Unity還運(yùn)營(yíng)著Asset store,這里面有超過(guò)兩千種開(kāi)發(fā)工具和游戲組件(藝術(shù)效果,編碼,聲音等),其中包括著一系列入門(mén)級(jí)基本功能產(chǎn)品免費(fèi)為初學(xué)者提供。Uni

4、ty的用戶(hù)可以通過(guò)為全部的平臺(tái)(除了web瀏覽器)編寫(xiě)本地代碼插件來(lái)從Unity API之外獲取操作系統(tǒng)的功能和第三方代碼庫(kù)支持。在移動(dòng)平臺(tái)方面,Unity最近展示了一系列的設(shè)備API,只有25%的Unity開(kāi)發(fā)人員需要加速計(jì)和多點(diǎn)觸控與設(shè)備API之間更好的集成性能,而其他廠(chǎng)商的均值有38%,顯然Unity做得比別人好一些。我曾經(jīng)看過(guò)一個(gè)U3D開(kāi)發(fā)爐石傳說(shuō)的教程,講的很詳細(xì)。因此對(duì)用U3D開(kāi)發(fā)爐石傳說(shuō)也有一定的了解。首先自然是界面制作,這里使用的是現(xiàn)有的資源。然后是整體的機(jī)制,U3D采用的開(kāi)發(fā)語(yǔ)言是C#,javascript和Boo,對(duì)Boo的了解有限,是一門(mén)類(lèi)似python的語(yǔ)言。爐石傳說(shuō)目

5、前僅僅有1V1的游戲,玩家可以選擇和其他玩家或是電腦對(duì)戰(zhàn)。爐石傳說(shuō)共有九個(gè)職業(yè),玩家可以先自己選擇職業(yè)然后配一套牌與其他玩家進(jìn)行游戲,戰(zhàn)斗流程是輪抽機(jī)制。爐石傳說(shuō)的卡牌分中立卡牌和職業(yè)卡牌,中立卡牌即所有職業(yè)都可以用,職業(yè)卡牌即只有特定的職業(yè)才可以用。玩家需先自行配一套30張卡牌,才能與其他玩家進(jìn)行游戲。爐石傳說(shuō)以wow故事為背景,在平衡性方面做得也是相當(dāng)不錯(cuò),因此吸引了很多玩家。同時(shí)爐石傳說(shuō)有著容易上手,難于精通的特點(diǎn)(這也是大多數(shù)卡牌游戲所共同具有的特征),因此可以作為休閑游戲,同時(shí)也有著一定的競(jìng)技性。爐石傳說(shuō)實(shí)現(xiàn)了ipad玩家和pc玩家的共同游戲,算是一個(gè)不錯(cuò)的特性。雖然沒(méi)有公布相關(guān)的技

6、術(shù),但我想要實(shí)現(xiàn)這一點(diǎn)應(yīng)該相當(dāng)不易。更何況爐石傳說(shuō)的開(kāi)發(fā)團(tuán)隊(duì)是暴雪所有開(kāi)發(fā)組中最小的一個(gè)!然而正是因?yàn)殚_(kāi)發(fā)團(tuán)隊(duì)小,所以開(kāi)發(fā)者們才能更好地追求自己的爐石傳說(shuō)之夢(mèng),而且能更把注意力集中在更重要的事上。開(kāi)發(fā)組的每個(gè)人都喜歡卡牌游戲,更關(guān)鍵的是,暴雪也喜歡!爐石傳說(shuō)的目標(biāo)爐石傳說(shuō)是一個(gè)全民游戲。無(wú)論誰(shuí)都可以上手。開(kāi)發(fā)者盡量讓游戲顯得簡(jiǎn)單卻又不乏深度。如果一周就玩厭了可不行。讓爐石傳說(shuō)更有質(zhì)感。玩家會(huì)有種自己真的拿著實(shí)體牌一樣。游戲細(xì)節(jié)非常精細(xì),多姿多彩爐石傳說(shuō)以魔獸世界為基礎(chǔ),更重要的是,開(kāi)發(fā)組希望保持魔獸的感覺(jué),而且還要加入更多蠢萌的元素,游戲節(jié)奏要快,因?yàn)橐鲆苿?dòng)終端,所以每局時(shí)間不能太長(zhǎng),用自動(dòng)

7、充能的法力水晶作為資源有效地加快了游戲節(jié)奏,你不必等資源牌配置,游戲必須有趣,拋棄了諸如資源摧毀和MILL的卡牌游戲方式,使得玩家不會(huì)感覺(jué)太絕望。爐石傳說(shuō)前前后后重做了不少內(nèi)容。曾經(jīng)做過(guò)沒(méi)有文字版的實(shí)體卡牌,上面只有圖像和攻擊,生命值,結(jié)果玩起來(lái)也不錯(cuò)。所以出場(chǎng)的牌上面沒(méi)有文字說(shuō)明。在實(shí)體卡測(cè)試過(guò)后才開(kāi)始網(wǎng)絡(luò)測(cè)試。這里學(xué)到了不少界面設(shè)計(jì)。如果你正在攻擊對(duì)手而且已經(jīng)設(shè)好了戰(zhàn)斗技巧,那么你可以在對(duì)手出牌局打出一張牌來(lái)擾亂對(duì)方攻擊。最后發(fā)現(xiàn)去掉戰(zhàn)斗技巧這個(gè)機(jī)制讓游戲更有趣,節(jié)奏也更快。界面的卡通效果越做越多,制作電子卡牌游戲讓開(kāi)發(fā)者完成了一些在現(xiàn)實(shí)世界無(wú)法完成的事情。例如思維竊取,諾滋多姆和穆克拉。

8、大部分開(kāi)發(fā)者都喜歡征募模式Draft mode,爐石同樣也有。還有一個(gè)就是網(wǎng)絡(luò)游戲的匹配,無(wú)論網(wǎng)絡(luò)游戲怎么分類(lèi),它始終離不開(kāi)客戶(hù)端和服務(wù)器端。即使是網(wǎng)頁(yè)游戲,它也需要瀏覽器的支持。Client/Server結(jié)構(gòu)是現(xiàn)今網(wǎng)絡(luò)游戲中最基本也最重要的框架。從開(kāi)發(fā)的角度來(lái)看,常見(jiàn)Client/Server結(jié)構(gòu)的網(wǎng)絡(luò)游戲可分為以下類(lèi)型。一是客戶(hù)端到客戶(hù)端的類(lèi)型。大多數(shù)對(duì)戰(zhàn)型的網(wǎng)絡(luò)游戲都采用這種結(jié)構(gòu)。這里的對(duì)等是指在有多個(gè)玩家參與的游戲中,其中一個(gè)玩家的機(jī)器既是Client有扮演Server的角色,通常由創(chuàng)建游戲局的玩家擔(dān)任,稱(chēng)為主機(jī)。第二種是大廳和會(huì)話(huà)的結(jié)構(gòu)。首先應(yīng)該知道會(huì)話(huà)和大廳的含義。以一個(gè)

9、提供聊天服務(wù)的網(wǎng)站為例,登錄之后可以看到網(wǎng)頁(yè)上有可供選擇的話(huà)題A和話(huà)題B。選擇話(huà)題A點(diǎn)擊進(jìn)入,便可以和所有位于話(huà)題A的人聊天。此時(shí),我們把話(huà)題A叫作session(會(huì)話(huà)),并稱(chēng)所有位于話(huà)題A的人正在進(jìn)行一場(chǎng)會(huì)話(huà)。并可以將這樣一個(gè)聊天室網(wǎng)站稱(chēng)為大廳??梢愿鶕?jù)自己的需要?jiǎng)?chuàng)建會(huì)話(huà)或加入別人的會(huì)話(huà),也可以取消自己所創(chuàng)建的會(huì)話(huà)。第三種是真正的client/server類(lèi)型,也是最重要的一種類(lèi)型。大多時(shí)候,需要的是成千上萬(wàn)的人在進(jìn)行同一場(chǎng)游戲,這些玩家在游戲世界中持續(xù)存在并且被記錄下來(lái),而這種游戲才是現(xiàn)在最大的熱門(mén),通??梢苑Q(chēng)之為圖形化多人在線(xiàn)RPG游戲,爐石傳說(shuō)所采用的即是第三種。下面是根據(jù)教程所寫(xiě)的爐

10、石傳說(shuō)的客戶(hù)端-服務(wù)器通信流程,使用TCP協(xié)議,類(lèi)似于網(wǎng)站那樣的短連接。        玩家A                    服務(wù)器消息區(qū)            玩家B           回合開(kāi)始 &

11、#160;              STARTTURN            使用卡牌A,造成結(jié)果B                USE:A|EFFECT:B            每隔5秒從服務(wù)

12、器端讀一次A的行為,改變當(dāng)前戰(zhàn)場(chǎng)狀態(tài),知道讀取到ENDTRUN消息            使用卡牌C,造成結(jié)果D                USE:C|EFFECT:D            回合結(jié)束         

13、0;      ENDTURN                            STARTTURN            回合開(kāi)始            每隔5秒從

14、服務(wù)器端讀一次B的行為,改變當(dāng)前戰(zhàn)場(chǎng)狀態(tài),知道讀取到ENDTRUN消息                USE:A|EFFECT:B            使用卡牌A,造成結(jié)果B                      

15、      USE:C|EFFECT:D            使用卡牌C,造成結(jié)果D                            ENDTURN           &

16、#160;回合結(jié)束    請(qǐng)求分類(lèi)         游戲            新建一個(gè)游戲        新建一個(gè)游戲            加入一個(gè)游戲        加入一個(gè)游戲 &#

17、160;          認(rèn)輸         認(rèn)輸,退出一個(gè)游戲            等待游戲列表        獲取等待加入者游戲的列表            確認(rèn)游戲啟動(dòng)狀態(tài)   確認(rèn)游戲是否處于啟動(dòng)

18、狀態(tài)            是否為先手        是否為先手        動(dòng)作            抽牌        抽牌           

19、60;回合結(jié)束   回合結(jié)束            行動(dòng)        改變戰(zhàn)場(chǎng)的動(dòng)作然后再附上核心代碼:客戶(hù)端-服務(wù)器-核心庫(kù) 核心庫(kù):委托形式 / <summary> / 抽牌委托 / </summary> / <param name="IsFirst">先后手區(qū)分</param> / <param name="magic">

20、;法術(shù)定義</param> public delegate List<CardBasicInfo> delegateDrawCard(Boolean IsFirst, int DrawCount); / <summary> / 抽牌魔法(服務(wù)器方法) / </summary> public static delegateDrawCard DrawCard; 客戶(hù)端:實(shí)現(xiàn)委托 / <summary> / 初始化 / </summary> public static void Init() /抽牌的具體方法 CardUtili

21、ty.DrawCard += DrawCardAtServer; / <summary> / 抽牌(服務(wù)器方法) / </summary> / <returns></returns> public static List<String> DrawCardAtServer(Boolean IsFirst, int Count) /向服務(wù)器提出請(qǐng)求,獲得牌 return GameStatus.DrawCard(IsFirst,Count); 服務(wù)器端:實(shí)際操作牌堆 / <summary> / 抽牌 / </summary> / <

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論