Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

遊資網發表於2021-03-02
Hi,這裡是小U。

話說在剛剛過去的春節假期中,各類聯機的遊戲熱度有增無減,畢竟親朋好友聚在一起,除了看看電視聊聊天,一起打打遊戲也是一個不錯的選擇。

《Over-hitting》就是這樣一款可以聯網的派對遊戲。

這款由 Unity 大學三期學員原創的遊戲可支援多位玩家聯機對戰。每個玩家需要現在準備室裡挑選代表自己人物的顏色,然後點選準備進行匹配,就像現在的大多數聯機手遊一樣,需要所有的玩家準備完成後,進入競技房間。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

玩家需要推動手中的道具球,在有限的時間內,獲得更多的分數,分數越高球的體積就越大,遊戲開場時有一個爭奪皇冠的環節先搶到地圖中央皇冠的玩家,可以獲得一定的分數優勢。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

雪場內有著不同的機關和障礙物,觸碰他們會產生不同的效果,比如雪地中的加速器可以增加雪球的速度,雪場邊緣的跳板可以把雪球重新彈回雪場的中心地帶,雪地中的聖誕樹則是讓雪球減小體積的障礙物,玩家需要避免觸碰到它。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

雪場中還有許多不同顏色的禮盒,禮盒中有很多意想不到功能的道具。玩家可以通過撞擊禮盒,獲得道具,收穫不同的 BUFF 效果,比如火焰道具,可以讓雪球加速,獲得伐木工道具的雪球,可以獲得一定時間通過砍樹加分,有的道具則可以讓玩家直接加分。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

另外玩家還可以通過撞擊別的玩家的後背偷得一定的分數,但是玩家又要注意避免與體積更大的雪球正面相撞,因為對方能把你的雪球變小。

有限的空間,眾多道具效果,這款擁有簡單玩法的《Over-hitting》刺激程度堪比 switch 上的《馬里奧賽車》,而且這款遊戲支援手柄、鍵盤、觸控式螢幕三種方式,意味著它有著相容多個平臺遊戲聯機的潛能。

當然從遊戲機制的角度來看,《Over-hitting》是一款並不複雜的多人競技遊戲,但實際上開發團隊在製作這一款遊戲的時候依舊遇到了一些問題。

在李同學的策劃中,豐富多樣的道具是《Over-hitting》的一個亮點。比如火焰道具,比如伐木工道具。但如何高效地作出各種道具效果呢?負責道具效果製作的李同學在和 Unity 大學的導師及同學交流之後,最終開發者給道具做了一系列的基礎效果的程式碼。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

比如突然變大,或者變異,或者加快速度,策劃可以通過輸入不同的引數,來進行組合,這樣方便策劃去組裝做出各種效果不同的道具。

作為《Over-hitting》玩法中的重要一環,雪球之間的碰撞效果也是《Over-hitting》需要考慮的因素,遊戲中,涉及到不同形式的雪球碰撞,而且每種雪球碰撞的形式都會產生不同的物理效果,有的會讓對方雪球的體積較小,有的則不變但能夠減小對方的分數,製造這些效果,這就需要處理不同的雪球撞擊邏輯。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

編輯雪球邏輯的同學剛開始處理程式碼的時候比較隨意,雪球發生碰撞的時候直接獲取了對方的指令碼來進行調動的辦法,但是通過和負責網路功能的同學交流之後發現,遊戲內和“我”發生碰撞的,只是對方玩家在我客戶端內的一個分身,“我”對對方的處理並不會同步到(對方的本體)上面。

所以這時候就需要改變一下處理的邏輯,改為“我”在背刺、或者被背刺、被側擊、或者發生對撞的時候,僅調動自己的這樣一個方法,而不需要涉及調動到對方的網路。

這個遊戲還涉及到一個雪地資料的問題,玩家滾雪球之後會“吃”掉經過路徑(位置)的雪,而這些“被吃掉的雪”,在一定時間後又需要自動恢復。

羅同學在處理這一問題的時候,使用了一個二維陣列來儲存整個地圖裡的雪地的資料,然後每幀根據玩家的位置和體積,來查詢相應的陣列內,所對應的位置有“多少可以吃到的雪”。然後將“被吃掉的雪”加入到恢復列表裡。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

但這樣一來就會遇到一個問題:原本的邏輯只能檢測到玩家每幀所在的位置,但實際上當玩家速度過快的時候,每幀之間的位置可能會相差非常大,有的地方就會檢測不到,檢測不到的地方雪地的雪就會依舊保留,給人感覺非常卡頓。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

針對這一問題,開發者重新寫了一個補幀的方法,記錄上一幀的位置,連成一條線到當前的位置。這樣既保證了遊戲流暢的執行,也讓遊戲效果更貼近現實生活中的下雪場景。

Unity 學員原創滾球聯機遊戲,眾多道具特效大樂鬥如何實現?

說了那麼多功能和機制,負責遊戲策劃的李同學在最後悄悄的告訴小 U,這些功能可能只是為《Over-hitting》裡的雪地地圖打造的,其實他們的遊戲計劃中有更多玩法,模型藍本。比如他們想設計更多有著不同環境效果的地圖,每種地圖有著不同的地形,製造更多的凹陷和凸起,玩家可以利用地形的特點進行撞擊,跳躍,防禦。

最終因為時間的原因,《Over-hitting》專案團隊先完成了雪地地圖的小 Demo,當然作為一款支援鍵盤、手柄、平板,等多個操作模式的聯機遊戲,《Over-hitting》的多平臺跨界潛力不容小視,李同學表示:如果時間允許的話,《Over-hitting》團隊會進一步完善遊戲內容,新增更多玩法,或許在不久的將來,你能在安卓平臺上和其他小夥伴來一場簡單刺激的雪球大戰呢!

來源:Unity官方平臺
原文:https://mp.weixin.qq.com/s/RS4PuSk2tXdkC1-wYgwtLA

相關文章