如何開發(fā)一款微信聯(lián)網(wǎng)小游戲

微信自從有了 “跳一跳” 后微信小游戲就開始迅速火爆起來丑孩,為跟上這股潮流,相信很多開發(fā)者都想探一探微信小游戲是如何開發(fā)的。下面我就從技術(shù)的角度說說一下微信小游戲如何開發(fā)的。

附:本文適合有開發(fā)經(jīng)驗的人同波,關(guān)于如何創(chuàng)建微信小游戲賬號和使用微信小游戲開發(fā)工具就不再贅述,不了解的可以到微信小游戲開發(fā)者后臺閱讀相關(guān)文檔叠国。

相關(guān)技能

拋開表面看本質(zhì)参萄,揭開微信小程序這件外套,從代碼層面上來看煎饼,其實質(zhì)就是一些 HTML5、css3 和 JavaScript 代碼校赤。所以微信小游戲既不是原生游戲(只能運行在微信中)吆玖,也不完全等同H5游戲。其實質(zhì)確是面向的H5游戲的開發(fā)者马篮≌闯耍可以說小游戲是使用HTML5技術(shù)搭建,具有原生體驗的微信內(nèi)游戲產(chǎn)品浑测。

實現(xiàn)一個單人版的微信小游戲翅阵,比如俄羅斯方塊這種,主要的技術(shù)就是用jQuery原生JavaScript(實現(xiàn)游戲邏輯)迁央、CSS3(控制游戲畫面)掷匠、加上一點DOM操作;

比如HTML5版本的傳奇世界岖圈。是基于H5游戲引擎實現(xiàn)的讹语。其主要技術(shù):JavaScript 、H5游戲引擎蜂科、瀏覽器API顽决、網(wǎng)絡(luò)通信等。

- 開發(fā)語言

微信小游戲只支持 JavaScript导匣,所以游戲邏輯相關(guān)的開發(fā)那就是JavaScript, 不過也可以使用可以編譯成JavaScript的TypeScript才菠。

- 游戲庫API

主要包含 HTML5的 Canvas 2D API和 WebGL API 使用任何一種API都可以完成游戲最重要的渲染功能。

- 網(wǎng)絡(luò)模塊

實現(xiàn)網(wǎng)絡(luò)對戰(zhàn)是需要一定的網(wǎng)絡(luò)編程基礎(chǔ)贡定,熟悉網(wǎng)絡(luò)通信相關(guān)協(xié)議赋访,同時還要自己搭建聯(lián)網(wǎng)的服務(wù)器來維護小游戲客戶端之間的通信。

游戲開發(fā)

總的來說開發(fā)一款小游戲分為兩種情況,第一種是不引用游戲渲染引擎进每,游戲聯(lián)網(wǎng)引擎汹粤,使用常規(guī)的開發(fā)方法,自己實現(xiàn)場景渲染和網(wǎng)絡(luò)對戰(zhàn)開發(fā)田晚。第二種是使用游戲渲染引擎和游戲聯(lián)網(wǎng)引擎嘱兼。

完全自主研發(fā)

第一步:擬定游戲開發(fā)方案,設(shè)計游戲UI圖片贤徒。游戲開發(fā)方案就是確定要開發(fā)什么樣的游戲芹壕,達到什么樣的效果。設(shè)計游戲UI圖片可以使用相關(guān)軟件如PS/CAD等接奈。

第二步:搭建游戲前端框架游戲場景畫面渲染架構(gòu)設(shè)計踢涌。使用HTML5和CSS3設(shè)計游戲場景的架構(gòu),封裝好UI層處理的接口序宦,待游戲邏輯開發(fā)時睁壁,只需要調(diào)用接口即可操作UI顯示效果。

第三步:游戲邏輯處理架構(gòu)設(shè)計和實現(xiàn)互捌。常用的軟件設(shè)計模式都是MVC模式潘明,就是UI、業(yè)務(wù)邏輯和數(shù)據(jù)控制都是分開來的秕噪,使用JavaScript實現(xiàn)游的邏輯控制和游戲數(shù)據(jù)存儲钳降。設(shè)計一套框架,同樣以接口的形式調(diào)用腌巾,在設(shè)計一套把UI和游戲邏輯聯(lián)系在一起的程序遂填。

第四步:游戲網(wǎng)絡(luò)對戰(zhàn)服務(wù)器搭建和服務(wù)器程序架構(gòu)設(shè)計與實現(xiàn)。上一步把基本游戲邏輯都實現(xiàn)了澈蝙,但是畢竟是互動游戲吓坚,要實現(xiàn)網(wǎng)絡(luò)通信那還得設(shè)計一套服務(wù)器通信程序,用于游戲?qū)崿F(xiàn)網(wǎng)絡(luò)對戰(zhàn)功能灯荧。服務(wù)器程序開發(fā)有多重選擇凌唬,這里就根據(jù)開發(fā)者自己決定。

第五步:游戲客戶端與服務(wù)端聯(lián)調(diào)漏麦。開發(fā)好服務(wù)模塊客税,要確保游戲運行的穩(wěn)定性和邏輯的正確性,需要花一定的時間進行聯(lián)調(diào)工作撕贞。

使用引擎工具

第一步:擬定游戲開發(fā)方案更耻,設(shè)計游戲UI圖片,這里和前面的一樣捏膨。

第二步:使用游戲渲染引擎開發(fā)工具開發(fā)游戲邏輯秧均。不需要開發(fā)者關(guān)心游戲的界面是如何渲染的食侮,開發(fā)者只要關(guān)心游戲?qū)崿F(xiàn)的邏輯,對應(yīng)游戲畫面渲染可直接調(diào)用引擎接口來實現(xiàn)畫面效果目胡。

第三步:游戲聯(lián)網(wǎng)聯(lián)調(diào)锯七。

以Matchvs為例,開發(fā)者不需要自己搭建服務(wù)器和編寫服務(wù)器網(wǎng)絡(luò)通信程序誉己,直接調(diào)用聯(lián)網(wǎng)引擎的接口眉尸,簡單易用。

下面舉例說明:

先調(diào)用注冊接口registerUser獲取用戶信息巨双。

登錄用戶:一個login 請求接口噪猾,一個loginResponse回調(diào)接口檢查是否登錄成功。

加入房間只要調(diào)用JoinRoom接口筑累,然后就會返回JoinRoomResponse 回調(diào)袱蜡,接口參數(shù)會告訴你現(xiàn)在有哪些人在房間和一些房間的信息等。還包括主動創(chuàng)建房間慢宗、踢人坪蚁、斷線重連功能。所有接口使用方式都是一樣的镜沽。

總結(jié)

選擇通過什么樣的方式開發(fā)微信小游戲迅细,主要根據(jù)自身的情況來定。完全自主研發(fā)的話會比較費時費力淘邻,(對網(wǎng)絡(luò)通信協(xié)議不是特別熟悉得自行購買服務(wù)器)如果前端開發(fā)初學(xué)者或者想快速上線一款游戲的話,建議還是你借助引擎工具湘换,可以減少開發(fā)時間和資金開銷宾舅。

當然,以上的步驟只是一個大致的流程彩倚,如果對自主研發(fā)或是引擎使用感興趣的筹我,以后我再找個時間給大家詳細說說。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末帆离,一起剝皮案震驚了整個濱河市蔬蕊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哥谷,老刑警劉巖岸夯,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異们妥,居然都是意外死亡猜扮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門监婶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旅赢,“玉大人齿桃,你說我怎么就攤上這事≈笈危” “怎么了短纵?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長僵控。 經(jīng)常有香客問我香到,道長,這世上最難降的妖魔是什么喉祭? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任养渴,我火速辦了婚禮,結(jié)果婚禮上泛烙,老公的妹妹穿的比我還像新娘理卑。我一直安慰自己,他們只是感情好蔽氨,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布藐唠。 她就那樣靜靜地躺著,像睡著了一般鹉究。 火紅的嫁衣襯著肌膚如雪宇立。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天自赔,我揣著相機與錄音妈嘹,去河邊找鬼。 笑死绍妨,一個胖子當著我的面吹牛润脸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播他去,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼毙驯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了灾测?” 一聲冷哼從身側(cè)響起爆价,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媳搪,沒想到半個月后铭段,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡秦爆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年稠项,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鲜结。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡展运,死狀恐怖活逆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拗胜,我是刑警寧澤蔗候,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站埂软,受9級特大地震影響锈遥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勘畔,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一所灸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炫七,春花似錦爬立、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奕巍,卻和暖如春吟策,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背的止。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工檩坚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诅福。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓匾委,卻偏偏與公主長得像,于是被迫代替她去往敵國和親权谁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,871評論 25 707
  • 小游戲與小程序的區(qū)別憋沿? 小游戲是小程序的一個類目旺芽,小游戲是微信開放給小程序的更多的能力,讓小程序開發(fā)者有了開發(fā)游戲...
    極樂叔閱讀 18,098評論 0 19
  • 十八歲辐啄,真的很美 2017年采章, 從我出生和2005年上小學(xué)開始,可能就注定壶辜,這一年不平凡 十二年的求學(xué)路悯舟,在這一年...
    時間海時間海閱讀 162評論 0 1
  • 放心,這是一篇不會上熱門砸民、主頁抵怎、推薦的小眾文章奋救,如果你能看到這里,純屬緣分 新聞類APP成了我們選擇的第一站 活在...
    古月適之不適閱讀 384評論 0 0
  • 既然反惕, 有一個秋天相識尝艘, 有一個夏季分離, 那么姿染, 這個季節(jié)為什么不會如期背亥?
    minyiia閱讀 133評論 0 0