《鵝鴨殺》爆火,一文帶你瞭解如何實現頂流社交遊戲

聲網發表於2023-01-31

2023 年開年,一款名為《鵝鴨殺》(Goose Goose Duck)的社交遊戲異軍突起,不僅吸引了很多萌新玩家,還讓各大平臺的知名遊戲主播們沉迷其中,與粉絲們一起夜夜開黑。

《鵝鴨殺》的玩法與太空狼人殺非常相似。在遊戲中,玩家分為三個陣營:好人(鵝)、壞人(鴨)、中立(其他鳥類)。鵝與鴨的對立角色很好理解,而中立角色千奇百怪,有幾十種角色,比如獲得被害鵝的屍體即可獲勝的“禿鷲”、生存到最後即可獲勝的“獵鷹”等,其中還有個“鵜鶘”角色,可以把其它玩家吞到肚子裡,這些玩家仍然可以發言,但只有他們自己和鵜鶘能聽到。所以還會出現一堆人在鵜鶘肚子裡“開演唱會”的搞笑場景。

鵝鴨殺遊戲使用者活躍資料

目前,這款遊戲已吸引大量玩家。根據 SteamDB 的資料(如上圖),每天的玩家峰值至少有 55 萬人。而且,這款遊戲已經衝進 Steam 平臺熱銷榜單的前五名。雖然這樣的熱度不易複製,但它的玩法場景卻可以基於聲網 SDK 輕鬆實現,甚至做出一些差異化的創新。

淺析鵝鴨殺的實現原理

其實《鵝鴨殺》的玩法與太空狼人殺相似,根據聲網的經驗來講,實現起來並不困難。我們先來分析一下游戲中最常見的互動場景:

①任務探索環節:玩家共有 16 人,在地圖中走近時能語音交流,走遠後語音音量減弱直至消失。玩家在地圖中,處於不同房間的人,聽不到對方的聲音。
②投票環節:開會投票時,所有玩家不論在地圖中什麼位置,都可以聽到對方的聲音。
③被鵜鶘吞掉:遊戲進行中,如果有玩家被鵜鶘吞掉,則會被拉入 RTC 概念中的“子頻道”。在“子頻道”中的使用者彼此可以聽到對方的聲音,子頻道之外的則無法聽到。在鵜鶘被“剖腹產”之後,玩家退出子頻道,恢復與其他玩家的語音連麥。實現方法,我們稍後細講。

鵝鴨殺遊戲場景
圖源自 Steam

以上這些語音互動的場景,都可以透過聲網 RTC SDK 來實現。所有玩家在加入遊戲之後,會進入同一個大頻道,互相可以聽到對方的聲音。在遊戲地圖中,每個玩家都有一個位置資訊,當玩家們靠近的時候,可以根據位置資訊的變化來調整語音的音量,從而實現聽覺上的“距離”感與沉浸感。
如果有玩家被鵜鶘吞掉,這些玩家與鵜鶘會進入一個子頻道,子頻道中的玩家可以互相聽到彼此的聲音。當鵜鶘被刀了,這些玩家相當於退出了子頻道,就能正常與大頻道中的其他玩家語音互動。 
另外,在遊戲過程中,還會有刀人、投票、移動角色等遊戲指令操作。這些都可以透過信令訊息系統實現。

如何快速實現

這樣來看,實現一個《鵝鴨殺》類的產品,並不複雜。如果我們使用聲網 SDK 來實現,技術架構如下圖所示:

圖片

**首先所有的遊戲指令操作,開發者可以基於自己的信令系統來實現,也可以透過整合聲網 RTM(Real-Time Messaging) SDK
來實現**。根據聲網的經驗,狼人殺類遊戲中的信令訊息對延時的要求並不高。通常情況下,聲網 RTM SDK 的延時小於 100ms,完全可以滿足《鵝鴨殺》的場景需求。 

而**遊戲中的語音互動功能,則可以基於聲網 RTC SDK
快速實現**。我們以語音互動為例,如果基於聲網 SDK 來實現,API 的呼叫邏輯如下:

a.第一步加入遊戲房間時,初始化 IRtcEngine

b.由於我們的遊戲是需要連麥互動的,所以第二步是設定 ChannelMediaOption 的引數為 LIVE_BROADCASTING,進入連麥模式;

c.第三步呼叫 joinChannel,讓所有玩家加入同一個頻道,在這個大頻道中,玩家可以進行連麥;

d.遊戲結束時,呼叫 LeaveChannel 退出頻道,語音的互動也就此結束。

除此之外,《鵝鴨殺》遊戲中還有一些特殊的場景,對語音互動提出了額外要求:

1、帶物理牆的範圍語音 

使用者之間如果有牆,聲音不能直接穿牆,但是可以從門繞過(總路程小於範圍)。對此,你可以透過呼叫 setZones 設定隔聲區域和聲音衰減係數。當音源(可以為使用者或媒體播放器)跟聽聲者分屬於音障區域內部和外部時,會體驗到類似真實環境中聲音在遇到建築隔斷時的衰減效果。 

2、語音音量根據玩家在遊戲中的距離變化

這個功能實現也比較簡單,因為聲網 SDK 支援空間音訊功能。透過設定 SpatialAudioParams 中的 enable_doppler 引數開啟多普勒音效,在聲源和接收方發生相對位移的情況下,接收方會體驗到明顯的音調變化。
 
3、回聲與降噪

《鵝鴨殺》在設定中是支援回聲消除與降噪功能的。而如果我們要開發支援移動端的《鵝鴨殺》這兩個功能必不可少。因為很多移動端的使用者可能會在多種環境中進行遊戲。 

聲網 SDK 內建AI 回聲消除,智慧適應各類環境,實現精準音源分離,從混合的近端訊號中消除不必要的遠端訊號,保留近端人聲傳送到遠端,全面消除回聲,實現高保真音訊體驗。內建的 AI 降噪,可有效消除相關咳嗽聲,更好地保障線上互動場景中主播與使用者的互動交流體驗。 

4、支援在本地端調節遠端玩家的語音音量

這是由於鵜鶘這個特殊角色設定的。每次鵜鶘吃掉玩家後,玩家為了讓鵜鶘聽不到其他人的聲音,都會在肚子裡放音樂或大聲說話。增加這個設定,可以讓鵜鶘玩家調節其他人的音量。這個功能,我們可以透過呼叫 adjustPlaybackSignalVolume 來實現。

聲網鵝鴨殺解決方案優勢

  • 音質優先,提供沉浸遊戲體驗

聲網支援 48kHz 全頻帶取樣,還原聲音高保真度,為玩家提供高畫質音質體驗。透過聲網自建的軟體定義實時網,能夠實現全球端到端延時中位數 76ms,國內 200ms 延時達標率 99%,適合 MOBA、MMORPG、FPS 等競技類遊戲。

  • 相容主流遊戲引擎

對於遊戲開發者來說,在開發遊戲的過程中經常需要接入一些行業主流的遊戲引擎,聲網的遊戲語音解決方案深度相容 Unity、Cocos、Unreal、Spritekit 等主流遊戲引擎,幫助遊戲開發者在接入遊戲引擎的同時快速接入聲網的音影片服務。

  • 輕量、低功耗,適配大部分終端

聲網為遊戲語音提供的 SDK 擁有小包體、低功耗的特點,CPU 佔用低於行業平均 20%,且已經適配 30000 多款終端裝置,適用於東南亞、中東北非等海外使用者移動裝置種類繁多且效能較差的地區。

  • 服務覆蓋全球

SD-RTN™是聲網專為實時互動而建立的軟體定義實時網,綜合考量了不同地域特點、跨國跨洲鏈路質量、不同網路型別、不同終端型別、不同業務場景的特徵,分別適配不同的傳輸控制策略,打造一張真正高可用、高可靠、高質量、超低延時的全球實時網路,即使在面對超大規模實時互動場景時,也能保證甚至最佳化音影片質量和延時。

  • 豐富的美聲、變聲音效

在高音質的基礎上,聲網還能提供豐富的美聲音效,進一步提升聲音的表現,達到聲音美化或改變音色的效果。聲網擁有多種變聲音效,例如小蘿莉、小男孩、大叔、豬八戒、綠巨人等音效,讓你在遊戲中的語音更具趣味性,也為遊戲語音場景提供更多新穎玩法。同時,最新版本 SDK 還支援開發者自定義變聲效果,可以給玩家帶來更豐富的遊戲體驗。

  • 市佔率 80%帶來的豐富實踐經驗

狼人殺類遊戲在近幾年始終熱度不減,並衍生出了許多變種玩法,比如太空狼人殺與鵝鴨殺。聲網在狼人殺誕生之初就開始為各廠商提供音影片互動服務,市場上約 80% 的狼人殺類 App 均採用了聲網 SDK 來實現語音互動。我們在社交遊戲領域具有豐富的實踐經驗,能提供穩定、可靠的技術服務。

最後,如果大家對聲網場景解決方案感興趣,希望進一步瞭解如何整合、實現鵝鴨殺等社交遊戲場景,歡迎掃碼留下聯絡方式,我們將會與你聯絡。

圖片

現註冊聲網 SDK,可獲得每月免費 10000 分鐘使用額度。如在開發過程中遇到疑問,可在聲網開發者社群與官方工程師交流。