iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
自我挑戰組

遊戲中的冰山一角-網路連線 系列

隨著2022年的最大的格鬥賽事EVO落幕,除了各選手在舞台上精彩的比賽外,最令我印象深刻的莫過於各大格鬥遊戲廠商都在宣布未來遊戲將支援Rollback,什麼是Rollback?這讓我一頭霧水,在一翻查找資料後才知道Rollback技術對於格鬥遊戲的重要性,我作為一個遊戲設計師至今從未真正去了解多人遊戲的連線架構,因此想藉此機會來學習相關的知識同時分享給大家。

鐵人鍊成 | 共 30 篇文章 | 15 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11-遊戲連線基礎(10)-Rollback part 2

Delay-based netcode可以說是較簡單也較多傳統格鬥遊戲所使用的遊戲連線方法,舉凡大家熟知的快打旋風與聖騎士之戰等等在過往都是以這種方法來實現,但...

2022-09-11 ‧ 由 Ginoooooob 分享
DAY 12

Day12-遊戲連線基礎(11)-Rollback part 3

雖然有了delay-based netcode來實現格鬥遊戲的連線功能,但他的缺點卻又是格鬥遊戲的致命傷,為了解決這個問題而想出的新netcode就是rollb...

2022-09-12 ‧ 由 Ginoooooob 分享
DAY 13

Day13-遊戲連線基礎(12)-Rollback part 4

今天筆者要更進一步的介紹rollback技術,上一篇有說到雖然rollback並不會過度依賴網路連線品質,但是該傳給對方的訊息還是必須要盡快抵達,不然本地端還是...

2022-09-13 ‧ 由 Ginoooooob 分享
DAY 14

Day14-遊戲連線基礎(13)-Rollback part 5

除了遊戲在設計上會在某些行動明定可以的派生(遊戲術語,指一個狀態下能夠做出的下一個動作)來預測外,還有一項條件在支撐這個架構,那就是rollback很重視狀態。...

2022-09-14 ‧ 由 Ginoooooob 分享
DAY 15

Day15-遊戲連線基礎(14)-Rollback part 6

讀者們在看完前兩章的介紹後,也許還是會有一種古怪的感覺或著說對筆者所寫的內容產生矛盾的想法,你的感覺是對的!依照昨天的例子來說我刻意舉跳躍當例子而非左右移動,左...

2022-09-15 ‧ 由 Ginoooooob 分享
DAY 16

Day16-Unreal連線初學(1)

接下來筆者希望能夠簡單的實做出網路連線的功能,而筆者會用Unreal Engine(以下會簡稱為UE)做示範,因此會先整理與介紹官方文件所給予的指令與教學。 事...

2022-09-16 ‧ 由 Ginoooooob 分享
DAY 17

Day17-Unreal連線初學(2)

今天就開始進入實作的部分,我希望能講得慢點讓整個實作的思路能夠清晰,那就廢話不多說開始今天的主題。 當安裝完UE後先新增一份第三人稱模板的專案,設定C/C+...

2022-09-17 ‧ 由 Ginoooooob 分享
DAY 18

Day18-Unreal連線初學(3)

接續昨天的部分,今天要實現傷害的部分,雖然這部分要使用到的程式碼不多但是因為牽扯到網路連線的部分會讓它變得稍嫌複雜,筆者也花了一段時間才慢慢搞懂箇中原理,這邊就...

2022-09-18 ‧ 由 Ginoooooob 分享
DAY 19

Day19-Unreal連線初學(4)

接下來要新增子彈來當作CauseDamage函式觸發的載體,首先需要創建一個子彈的Actor並且為它加上碰撞、外觀以及他的行動物件。 首先先在上方tool找到A...

2022-09-19 ‧ 由 Ginoooooob 分享
DAY 20

Day20-Unreal連線初學(5)

今天將完子彈的完整功能! 首先是要完成子彈,這是今天要用在標投檔裡的程式碼: // ProjectileBase.h // 在protected裡面添加 pr...

2022-09-20 ‧ 由 Ginoooooob 分享