iT邦幫忙

鐵人檔案

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

多人連線遊戲背後的原理與實作 系列

玩了好多款線上遊戲卻不知道其背後運行的原理與技術嗎?想寫一款多人連線遊戲跟朋友一起玩嗎?不知道如何處理在開發多人連線遊戲時遇到的困難嗎? 本系列文章將帶大家了解多人連線遊戲的原理,以及如何去實作。

參賽天數 3 天 | 共 30 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 3

Day 11 - 製作連線遊戲時會遇到的問題(延遲補償篇)

在上一篇文章中,我們有提到實體插值的作法下,玩家在本地端電腦看到的其他玩家是過去的遊戲資訊,假設今天是發生在快節奏的遊戲中像是射擊遊戲的話,玩家瞄準的對象永遠都...

2022-09-25 ‧ 由 YuSiu 分享
DAY 3

Day12 - 遊戲服務器同步(幀同步)

在一款大型多人線上遊戲裡面,難免會需要有非常大量的封包去做來回的傳輸,而現在也有越來越多可以一次好幾十位甚至可以到幾百位的玩家一起連線遊玩的遊戲,這也產生兩種同...

2022-09-26 ‧ 由 YuSiu 分享
DAY 3

Day13 - 遊戲服務器同步(狀態同步篇)

上一篇文章已經跟大家介紹了甚麼是幀同步,那今天這個文章我們要來談談另一個同步方式-狀態同步。 一. 狀態同步(State Synchronization)的原理...

2022-09-27 ‧ 由 YuSiu 分享
DAY 3

Day14 - 遊戲作弊(一)

遊戲作弊也是大家很常聽到的遊戲外掛,外掛這個詞原本是指增加程式額外功能的軟件名稱,但後來慢慢地也可指在遊戲中作弊的軟件。 外掛的種類有很多種,而今天的文章會告訴...

2022-09-28 ‧ 由 YuSiu 分享
DAY 3

Day15 - 遊戲作弊(二)

遊戲中的外掛有很多種,針對不同的外掛形式也有不同的處理方法,那我們這篇文章就是要來細講各種外掛的形式,以及要如何去防止玩家使用外掛來作弊。 一. 有哪些外掛...

2022-09-29 ‧ 由 YuSiu 分享
DAY 3

Day16 - 程式實作(基本設定篇)

一. 前言我們前面的15篇文章簡單帶大家了解了連線遊戲的理論,那從這篇文章開始要來教大家怎麼去寫Code了。更詳細的實作內容可參考:https://www.yo...

2022-09-30 ‧ 由 YuSiu 分享
DAY 3

Day17 - 程式實作(TCP監聽篇)

我們利用TCP Listener來監聽 Port,通過 Socket 及 Stream 來傳送接收封包(Packet),並且採用非同步的方式處理網路連線,來與各...

2022-10-01 ‧ 由 YuSiu 分享
DAY 3

Day18 - 程式實作(TCP非同步處理篇)

非同步通訊端適用於大量使用網路的系統,或是無法等候網路作業完成再繼續進行的系統,讓多個連線執行緒同時作業不必等待,可避免玩家畫面像是卡住的現象,以及避免資料同時...

2022-10-03 ‧ 由 YuSiu 分享
DAY 3

Day19 - 程式實作(UDP篇)

UDP Client 在伺服器端只會有一個instance,Server 與 Client 須先進行 TCP 的連線,成功連線後伺服器會回傳 Client I...

2022-10-04 ‧ 由 YuSiu 分享
DAY 3

Day20 - 程式實作(UDP非同步處理篇)

UDP Client 的非同步方法需用到 BeginReceive & EndReceive,而客戶端則是使用 BeginReceive,兩者皆是使用...

2022-10-06 ‧ 由 YuSiu 分享