遊戲引擎基礎(七)(網路和連線遊戲環境)

2021-05-22 22:44:02 字數 898 閱讀 8190

第7部份: 網路和連線遊戲環境

網路遊戲

我記得一些年前坐在gdc(遊戲開發者大會)聽負責開發x-wing vs tie fighter的傢伙們題為「淹沒在internet」 的演講,全是關於讓網路遊戲實時地在internet上工作的東西。他們選擇那個題目是多麼的正確啊。當它開始處理資料報的丟失,亂序,潛伏(乙個資料報傳送到它的目的地所花的時間)等等時,它確實淹沒了。然而它是可能的。對於internet需要一些聰明和經驗,但它是肯定可能的。看看今天大量的連線遊戲,從quake iii,unreal tournament,counter strike一直到everquest和ultima online。 

如今大多數真正有長久生命力的遊戲都至少有一些連線成分。最純粹的單人遊戲容易玩一次,也許兩次,或者甚至三次如果它是非常好的遊戲,但一旦遊戲結束,就被束之高閣了。如果你想要有任何長久生命力,那麼多人連線遊戲就是形勢的核心所在,並且那意味著和internet打交道,為編碼者開啟了那個潘多拉的盒子。 

那麼跟internet打交道包括些什麼呢?首先是要理解internet是怎麼工作的,和點對點與客戶機/伺服器體系結構的快速討論。點對點就是你在兩台機器上執行遊戲,並簡單地在它們之間共享輸入。每個單獨的遊戲假定它是正確的,並僅僅在它一幀接一幀的重新整理中合併來自另外一台機器的輸入。客戶機/伺服器是一台機器有效地執行遊戲,別的機器僅僅是乙個終端,接受來自玩家的輸入,並渲染伺服器讓它渲染的任何東西。 

客戶機/伺服器的優點是每台機器都將會展現相同的遊戲,因為所有的處理都在乙個地方完成,沒有跨越多台機器,你可以不用考慮每台機器相互之間的同步問題。不足之處是,伺服器本身需要有一些重要的cpu可用時間來處理每乙個連線的客戶機,和乙個合適的網路連線來確保每乙個客戶機及時地接收到它的更新。

了解ip

python基礎(七) 網路程式設計

服務端 我們使用 socket 模組的 socket 函式來建立乙個 socket 物件。socket 物件可以通過呼叫其他函式來設定乙個 socket 服務。現在我們可以通過呼叫 bind hostname,port 函式來指定服務的 port 埠 接著,我們呼叫 socket 物件的 accep...

矩陣遊戲 bzoj1059 網路流

第一行包含乙個整數t,表示資料的組數。接下來包含t組資料,每組資料第一行為乙個整數n,表示方陣的大 小 接下來n行為乙個n n的01矩陣 0表示白色,1表示黑色 輸出檔案應包含t行。對於每一組資料,如果該關卡有解,輸出一行yes 否則輸出一行no。首先說明,同行同列的黑格仔不可能通過某種轉換變得在對...

2023年網路遊戲行業之武俠遊戲評論

筆者一直都認為作一款出色的武俠遊戲,其中所要做的,不是去用無數的敵人怪物,門派武功來冷冰冰地去搭建乙個江湖乙個世界,而是要盡可能地去激化玩家之間的矛盾與衝突,讓他們彼此競爭,彼此廝殺,彼此互動來構成乙個江湖。有人一直都在困惑的問 到底什麼才是江湖?江湖在 昔年魔教教主裡任我行對令狐沖說過一句話很是經...