1. 程式人生 > >騰訊雲要逆天,一個人也能開發複雜的網路遊戲,深圳騰訊雲沙龍發來的報到!

騰訊雲要逆天,一個人也能開發複雜的網路遊戲,深圳騰訊雲沙龍發來的報到!

一、什麼是聯機對戰引擎

我們先看騰訊雲官方對“聯機對戰引擎”的介紹:

>小遊戲聯機對戰引擎(Mini Game Online Battle Engine,MGOBE)為遊戲提供房間管理、線上匹配、幀同步、狀態同步等網路通訊服務,幫助開發者快速搭建多人互動遊戲。開發者無需關注底層網路架構、網路通訊、伺服器擴縮容、運維等,即可獲得就近接入、低延遲、實時擴容的高效能聯機對戰服務,讓玩家在網路上互通、對戰、自由暢玩。MGOBE 適用於回合制、策略類、實時會話(休閒對戰、MOBA、FPS)等遊戲。

二、聯機對戰引擎快速上手

費話少說,我們還是直接上程式碼,就知道有多麼的爽了。

1. 匯入SDK

// 匯入 MGOBE.js
import "./js/libs/MGOBE.js";
// 獲取 Room、Listener 物件
const { Room, Listener } = MGOBE;

file

H5遊戲輕鬆接入SDK,真的是太Easy了。

2. 初始化監聽

在使用API之前還需要到騰訊雲上開通 MGOBE 的使用許可權,拿到 gameId、secretKey、url 等資訊,然後就可能使用程式碼初始化聯機對戰引擎,程式碼如下:

const gameInfo = {
     // 替換 為控制檯上的“遊戲ID”
     gameId: "xxxxxxxx",
     // 玩家 openId
     openId: 'openid_123_test',
     // 替換 為控制檯上的“金鑰”
     secretKey: 'BjU3QBZLFxxxxxxxxxxxxxxxxxx',
 };
 
 const config = {
     // 替換 為控制檯上的“域名”
     url: 'xxxxxxxx.wxlagame.com',
     reconnectMaxTimes: 5,
     reconnectInterval: 1000,
     resendInterval: 1000,
     resendTimeout: 10000,
 };
 
// 初始化 Listener
Listener.init(gameInfo, config, event => {
     if (event.code === 0) {
         console.log("初始化成功");
         // 初始化成功之後才能呼叫其他 API
         // ...
     }
 });

3. 例項化房間、匹配玩家

// 例項化 Room 物件
const room = new Room();
Listener.init(gameInfo, config, event => {
    if (event.code === MGOBE.ErrCode.EC_OK) {
        console.log("初始化成功");
        // 初始化後才能新增監聽
        Listener.add(room);
    } else {
        console.log("初始化失敗");
    }
});

//呼叫房間匹配 API
const playerInfo = {
    name: "Tom",
    customPlayerStatus: 1,
    customProfile: "https://xxx.com/icon.png",
};

const matchRoomPara = {
    playerInfo,
    maxPlayers: 5,
    roomType: "1",
};

room.matchRoom(matchRoomPara, event => {
    if (event.code !== 0) {
        console.log("匹配失敗", event.code);
    }
});

// 廣播:房間有新玩家加入
room.onJoinRoom = (event) => { 
    console.log("新玩家加入", event.data.joinPlayerId);
}
// 廣播:房間有玩家退出
room.onLeaveRoom = (event) => {
    console.log("玩家退出", event.data.leavePlayerId);
}

4. 房間內的訊息通訊

//訊息引數
const sendToClientPara = {
    recvType: MGOBE.ENUM.RecvType.ROOM_SOME,
    recvPlayerList: ["xxxxxxxx1", "xxxxxxxx2"],
    msg: "hello",
};

//傳送到客戶端 API
room.sendToClient(sendToClientPara, event => console.log(event));

//客戶端接收訊息 API
room.onRecvFromClient = (event) => {
    console.log("新訊息", event.data.msg);
};

5. 幀同步

//開始幀同步
room.startFrameSync({}, event => {
    if (event.code === 0) {
        console.log("開始幀同步成功");
    }
});

//開始幀同步廣播回撥
room.onStartFrameSync = (event) => { 
    console.log("開始幀同步");
}

傳送幀訊息

const frame = {cmd: "xxxxxxxx", id: "xxxxxxxx" };
const sendFramePara = { data: frame };
room.sendFrame(sendFramePara, event => console.log(event));

房間幀訊息廣播回撥

room.onRecvFrame = event => {
    console.log("幀廣播", event.data.frame);
};

狀態同步機制稍微點複雜,這裡就不展開了,通過上面的內容,不知道大家有沒有感覺到很興奮呢?

三、應用加速&語音多媒體

沙龍上除了聯機對戰引擎外,騰訊雲還帶來了有

全球應用加速 GAAP

全球應用加速(Global Application Acceleration Platform,GAAP)依賴全球節點之間的高速通道、轉發叢集及智慧路由技術,實現各地使用者的就近接入,通過高速通道直達源站區域,幫助業務解決全球使用者訪問卡頓或者延遲過高的問題。GAAP 提供圖形化配置介面,只需幾分鐘,您就可以建立並使用高速通道訪問您的業務源站,並通過控制檯檢視通道的執行情況。

file

下面是 「銀笑的尤里」帶回來的現場景圖片 file

遊戲多媒體引擎 GME 簡介

騰訊雲遊戲多媒體引擎(Gaming Multimedia Engine,GME)提供一站式遊戲語音解決方案。針對不同遊戲場景進行深度優化,覆蓋休閒社交、MOBA、MMORPG、FPS 等多種遊戲型別;支援多人實時語音、3D位置語音、語音訊息和語音轉文字等功能;功能完備,接入門檻低,一個 SDK 即可滿足多樣化的遊戲語音需求。

file file

H5全支援,而且還支援 Cocos2dx、Unity、Unreal 三大引擎,以及七大平臺,看上圖能猜出是那七大平臺嗎?看圖示,Shawn 猜了很久還是被猜到了!

  1. 兩個桌面作業系統:Mac、Windows
  2. 兩個移動作業系統:iOS、Android
  3. 三個遊戲主機平臺:Nintendo switch、PS4、Xbox

file

在公眾號回覆【騰訊雲開發】可檢視到關於 MGOBE、GAAP、GME 三大雲技術的文件資料!

四、還有驚喜

Shawn 這邊得到的訊息,騰訊雲10月在還有兩場沙龍分別是

  • 10月18號:北京站
  • 10月26號:上海站

感興趣的夥伴可關注公眾號報名參加,感謝大家的支援!

相關推薦

個人開發複雜網路遊戲深圳沙龍的報到

一、什麼是聯機對戰引擎 我們先看騰訊雲官方對“聯機對戰引擎”的介紹: >小遊戲聯機對戰引擎(Mini Game Online Battle Engine,MGOBE)為遊戲提供房間管理、線上匹配、幀同步、狀態同步等網路通訊服務,幫助開發者快速搭建多人互動遊戲。開發者無需關注底層網路架構、網路通訊、伺服

2019最新Youtube教程手把手教你打開Youtube在國內看油管視頻甚至有免費的辦法

tag ima 國內 -o out ces 免費 image 如果 其實在國內使‘用Youtube非常簡單,前提是你要有一個非常好用的軟件或者工具幫忙 我是出於工作需要,找到了一個穩定的辦法,蘋果和安卓手機都可以流暢使用,看4K高清油管視頻都不卡,穩得一匹 具體的辦法可以搜

開通渲至尊會員送正版3DS MAX 2108這是

小編聽說,大家都用破解版的 3ds Max ,想問說,破解的用的還順手麽,有木有遇到軟件崩潰,系統紊亂,病毒侵入的問題,如果這些你都沒有遇到,那麽恭喜您,下一個就是你!俗話說,常在河邊走,哪有不濕鞋,所以,聰明人都選擇了正版,而且,盜版軟件已經完全破壞了正常的“生態環境”,越來越多的人對破解、盜版這個事

[每日App]QQ主題輕輕松松月入30萬

div color 小白 edi upn import 多少 有意 wds 聽從吾師秦剛(微信或QQ:1111884)酋長的建議,謀哥(微信viyi88)我開始新的征程,每日更新一篇幹貨文章(要堅持啊!否則被酋長歧視了)。 好了,廢話不多說,今天我給大家揭秘一

程式設計師6年只幹了50個小時的活自動化工作是麼?

2016年,Reddit上出現了一則匿名的自白帖子:“大概六年前到現在,我在公司什麼活都沒幹。” 這個化名為FiletOFish1066的程式設計師稱自己供職於一家知名的科技公司,實際上無所事事。 他寫道,謀得這份質量保證工作的八個月後,他使自己的全部工作完全自

黑馬程式設計師:上海前端培訓首期班平均薪資11414

 五個月前,黑馬程式設計師上海校區前端與移動開發學院首期班爆滿開班,120名來自全國各地的學員聚在一起成為同學。經過五個月的拼搏,這些追夢的前端學員順利畢業了!  功夫不負有心人,學員們的就業非常給力!全班120名同學,剛畢業僅10日,就有57名學員入職,就業率高達47

支付寶這些程式設計師滑板、畫漫畫、寫科幻小說、航拍玩得太溜

他一邊用程式碼改變世界,一邊用科幻小說去創造未來。 他一邊用程式設計書寫傳奇,一邊用畫筆記錄生活。 他一邊用程式驅動科技,一邊用滑

物聯網框架ServerSuperIO.Core(.netcore)跨平臺套設備驅動通吃嵌入式、上位機、服務

開發環境 協議 ice 連接器 bsp 適用於 驅動 端口 code 1. 概述... 2 2. ServerSuperIO.Core跨平臺開發環境... 2 3. ServerSuperIO.Core特點... 2 4. Se

新媒體運營神器-迅捷旗下的這些媒體軟件簡直

格式轉換 fff 免費 迅捷 包括 時代 單單 資源下載 了解 在這個信息傳播速度賊快的新媒體時代,視頻傳播已經占據了所有市場的百分之八十以上了,例如現在最流行的抖音、快手、好看等視頻平臺不斷的冒出市場,這也就意味著最原始的文字信息已經無法在滿足我們的需求了,那麽我們今天就

個人都應該具有創業精神 ——《穿布鞋的馬》讀後感

做出 痛苦 激勵 bold 改變自己 fontsize 商業模式 裏的 style 每一個人都應該具有創業精神 ——《穿布鞋的馬雲》讀後感 在阿裏上市前夕,關註王利芬老師的微博,知道優米網要

24歲程序員 個人撐起App開發項目

通過 接下來 雷軍 原生 ims 女朋友 調整 lac 移動互聯 “疲憊吾心,怎樣躲藏!四處荒蕪,怎話憂傷?”臨近中秋,看到艾瑞斯的QQ簽名,無盡的傷感。這個年僅24的青年。連續3年沒有回家了,近期一個月總是失眠,沒有家人的陪伴,就連女朋友都沒談過。而公司的項目

Qt事件機制(是動作發生後種通知對象的消息是被動與主動的總和。先處理自己隊列中的消息然後再處理系統消息隊列中的消息)

str 發送 filter 簡化 後者 nts 類型 min() 鼠標滾輪 Qt事件機制 Qt程序是事件驅動的, 程序的每個動作都是由幕後某個事件所觸發.。 Qt事件的發生和處理成為程序運行的主線,存在於程序整個生命周期。 Qt事件的類型很多, 常見的qt的事件如下:

原創微信跳跳外掛源碼、熱門遊戲輕松上千分

鼠標右鍵 abs control set rsh ptr img left 版本 看到別人跳一跳搞了很多分。 我也跳一下。最高分才十幾分,被別人秒殺。 於是制作這個外掛,能夠輕松上千分。 原理很簡單,計算出兩點距離,測試出按下的時間,就可以了。 現在開始嘍 當然是

動效種屬於前端程序員的浪漫無與倫比的體驗

前端 JavaScript CSS html 前端入門 一、初見 如果把網頁和用戶的關系比做正在戀愛的情侶,很顯然網頁的 UI 是顏值,而動效在我看來則是情侶之間的如果把網頁和用戶的關系比做正在戀愛的情侶,很顯然網頁的 UI 是顏值,而動效在我看來則是情侶之間的小浪漫。可能和顏值比起來,浪

來水寫完就繼續找找好玩的遊戲嘿嘿

尺寸 利用 高效率 展示 小程序 好玩的遊戲 mage 官網 功能   博主今天來說CPU,這個很尷尬,最近遊戲不怎麽玩了,想來水一篇文章,希望各位看看就好 首先啊,就說所謂CPU 就是中央處理器(CPU=Central Processing Unit),是一塊超大規模的

谷歌瀏覽器擴充套件程式鍵解決本地開發跨域問題讓你不用亂mock資料

谷歌瀏覽器擴充套件程式一鍵解決本地開發跨域問題,讓你不用亂mock資料 1.在谷歌瀏覽器中開啟它的網上應用商店 (需要翻牆);如果你無法翻牆可以下載我的這個工具包 1.1工具包用法:在谷歌瀏覽器上輸入:chrome://extensions/ 進入拓展管理介面然後將剛剛下載的工具包中的1

個人活的像支隊伍

有些事,不在於能不能,而是敢不敢的問題 我希望自己的一生是燃燒的過程,而不是悄悄地腐朽 有時候,如果我們願意的改變的話,其實可以改變很多事,繩鋸木斷,水滴石穿都是一樣的道理 道理知道那麼多,卻依然過不好這一生,因為知而不為,為不知也。陽明先生曾說:知行合一。 跟女朋友聊起小孩的教育問題,學區房,

U盤安裝蘋果系統教程菜鳥成大牛

女朋友蘋果電腦遇到問題,女朋友不會整,又怕自己整壞了,就跑去電腦城修,結果被坑了150塊,本來說要雙系統Mac和Windows,結果店家拿著電腦就跑出去了(並不知道幹啥去了),回來發現只有win7,沒有Mac,並且索要正版的價格,我尼瑪,就坑我小女朋友,還好小女朋友沒給他,本來就是盜版系

vue新手入門指導篇讓你學會vue技術棧本人初學時候的文件

今天整理文件突然發現了一份md文件,開啟一看 瞬間想起當年學習vue的艱難路,沒人指導全靠自己蒙,下面就是md文件內容,需要的小夥伴可以打開個線上的md編譯器看一看,我相信不管是新人還是老人  入門總是可以的(這只是初學時候做的筆記,如果有哪裡寫錯了還望聯絡我修改,免得誤導其他新人,本人qq:421

(原創)超詳細步在eclipse中配置Struts2環境無基礎看懂

    (原創)超詳細一步一步在eclipse中配置Struts2環境,無基礎也能看懂  1. 在官網https://struts.apache.org下載Struts2,建議下載2.3系列版本。從圖中可以看出,既可以分開下載子檔案,又可以一次全部下載。 這裡我後