目錄
HTML+JS+websocket 實(shí)例趟济,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 1
HTML+JS+websocket 實(shí)例,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 2 - 聯(lián)機(jī)模式
HTML+JS+websocket 實(shí)例咽笼,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 3 - 界面布局
HTML+JS+websocket 實(shí)例顷编,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 4 - 卡組系統(tǒng)
HTML+JS+websocket 實(shí)例,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 5 - 卡片選中系統(tǒng)
HTML+JS+websocket 實(shí)例剑刑,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 6 - 卡片放置媳纬,戰(zhàn)場更新
HTML+JS+websocket 實(shí)例,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 7 - 墓地施掏,副控制面板
HTML+JS+websocket 實(shí)例钮惠,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 8 - 返回手卡,卡組
HTML+JS+websocket 實(shí)例其监,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 9 - 實(shí)現(xiàn)簡單 websocket 通信
HTML+JS+websocket 實(shí)例萌腿,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 10 - 搭建游戲服務(wù)端
HTML+JS+websocket 實(shí)例,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 11 - 客戶端消息的收發(fā)
HTML+JS+websocket 實(shí)例抖苦,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 12 - 消息發(fā)送具體場景
HTML+JS+websocket 實(shí)例毁菱,聯(lián)機(jī)“游戲王”對(duì)戰(zhàn) 13 - 實(shí)機(jī)演示
前言
應(yīng)某友人的要求,同時(shí)作為練手項(xiàng)目锌历,花幾天時(shí)間寫了個(gè)“游戲王”的聯(lián)機(jī)卡牌對(duì)戰(zhàn)游戲贮庞,游戲內(nèi)容大致是這樣的:
客戶端是原生的 HTML+JS,服務(wù)端基于 Node.js(本地服務(wù)器)究西,通信協(xié)議用的 WebSocket窗慎。
可以看到游戲界面有很多操作按鈕,因?yàn)橛螒虻牟僮髂J绞峭耆戮€下卡牌的游玩模式卤材,也就是不帶任何規(guī)則判定和卡牌腳本遮斥。帶規(guī)則判定的游戲?qū)崿F(xiàn)起來復(fù)雜度較高,而且光是給每張卡牌的效果編寫運(yùn)行腳本就是一個(gè)極其浩大的工程扇丛,這里限制于時(shí)間和技術(shù)力就不采用那種方式了术吗,市面上已經(jīng)有很多成熟的游戲產(chǎn)品。
目前的版本很簡易帆精,但是已經(jīng)可以進(jìn)行完整的對(duì)局较屿,為了加強(qiáng)帶入感添加了一些動(dòng)漫音效。當(dāng)然由于沒有規(guī)則判定卓练,雙方玩家必須處于能隨時(shí)溝通的環(huán)境隘蝎,實(shí)際上就是把線下卡牌轉(zhuǎn)移到PC上,線下玩法的數(shù)字版襟企,美其名曰“最純粹的游戲王對(duì)戰(zhàn)體驗(yàn)”嘱么。
游戲服務(wù)端在本地創(chuàng)建,所以只能局域網(wǎng)對(duì)戰(zhàn)顽悼,啟動(dòng)服務(wù)端后點(diǎn)開html客戶端就會(huì)直接連接拱撵。游戲特效是基本沒有了辉川,原生方法制作特效比較麻煩,想要酷炫的動(dòng)畫和特效推薦用游戲引擎拴测,比如 Egret乓旗,Layabox 一類的H5游戲引擎。
牌組自然是網(wǎng)上收集的高清卡牌圖片集索,放在本地讀取屿愚。這里有一點(diǎn)好處就是可以隨心所欲的加入任何版本的卡牌,而且效果不會(huì)受限于游戲腳本(根本不存在游戲腳本)务荆,打出什么效果玩家說了算妆距。目前市面上的成熟游戲產(chǎn)品出于對(duì)戰(zhàn)公平性的考慮對(duì)很多卡牌的效果做了修改,特別是部分初代卡牌函匕,與動(dòng)漫中演繹的效果大相徑庭娱据,沒以前那味兒了。學(xué)生時(shí)代照著TV動(dòng)畫收集各種牌組就是為了能在某次對(duì)局中偶遇動(dòng)漫里的熱血連鎖盅惜,輸贏什么的不重要中剩。另外還有很多初代TV版的卡牌基本正版游戲里是沒有收錄的,自制版可以DIY一下抒寂。
初版完成后果斷和朋友開了兩局结啼,雖然體驗(yàn)比不上線下卡但情懷還是體會(huì)到了。
接下來的章節(jié)就主要來談?wù)剬?shí)現(xiàn)思路吧屈芜。水平有限郊愧,學(xué)習(xí)記錄一下。
項(xiàng)目源代碼可移步我的Github井佑,初版已 merge 至 master:
YGO-Online-Combat