Roblox 遊戲開發/遊戲引擎
ROBLOX 遊戲引擎可以分為不同的引擎。每個引擎都負責完成與遊戲特定方面相關的任務。其中包括物理引擎,它處理物理物件的自然運動。例如,重力、部件碰撞和爆炸由物理引擎處理。渲染引擎負責在玩家的顯示器上顯示物理物件。網路引擎負責確保玩遊戲的玩家都能及時瞭解遊戲中發生的事情。Lua 引擎必須處理事件並執行遊戲程式碼,以便遊戲可以互動。

為了使許多玩家能夠同時玩遊戲,ROBLOX 託管遊戲伺服器,這些伺服器是執行在 ROBLOX 擁有的計算機上的 ROBLOX 軟體的例項。當玩家進入遊戲時,他的客戶端,執行在他計算機上的 ROBLOX 軟體,要麼被與已經執行他想要進入的遊戲的遊戲伺服器進行通訊,要麼被與將要建立的新遊戲伺服器進行通訊(如果沒有遊戲伺服器或所有可用遊戲伺服器已滿(每個遊戲伺服器可以加入的最大玩家數量有限))。玩家的客戶端從遊戲伺服器下載整個場景。隨著遊戲發生變化,無論是物理引擎還是遊戲程式碼,這些變化都會複製到連線到遊戲的每個客戶端。當這些變化發生在玩家的客戶端上(當玩家移動他的角色或類似事件發生時,就會發生這種情況)時,這些變化會複製到伺服器,然後複製到所有其他客戶端。這就是所有玩家都會看到其他玩家的角色移動以及指令碼所做的更改會對每個玩家可見的原因。執行在計算機上的每個 ROBLOX 軟體例項稱為對等體:所有遊戲伺服器都是對等體,所有客戶端都是對等體。
遊戲伺服器及其連線的客戶端一起形成一個網路。ROBLOX 遊戲伺服器的網路據說在 客戶端-伺服器模型 上執行,因為網路節點(對等體)的排列方式:客戶端與伺服器通訊,伺服器與客戶端通訊,但客戶端不會直接互相通訊。網路的拓撲結構是指節點在該網路中的排列方式。
遊戲伺服器和物理伺服器之間存在區別。物理伺服器是通常託管多個遊戲伺服器的物理計算機。遊戲伺服器是在物理伺服器上執行的 ROBLOX 軟體的例項,它們與客戶端通訊以建立連線並傳輸資料。本地和伺服器之間也存在區別,本地是指與特定客戶端或所有客戶端相關的內容,而伺服器是指與伺服器相關的內容。
您可以回答一些問題來驗證您是否理解本章中的內容。請注意,找到某些問題的答案可能需要您具備本章中沒有介紹的知識。這是正常的:測驗是學習體驗的一部分,它們可以介紹本書其他地方沒有提供的資訊。