What is Marauroa
Marauroa是一個開放原始碼的多人在線遊戲框架和引擎,用於開發回合制和實時遊戲。 它提供了一種在可移植的且強大的伺服器體系結構上創建遊戲的簡單方法。 該伺服器使用Java編碼,可以使用Python進行遊戲描述,提供MySQL或H2後端,並使用TCP傳輸通道與數十名玩家進行通信。 我們的參考客戶端使用Java和C語言進行編碼,以實現最大的可移植性並也使用開放技術。
Marauroa的基礎是我們稱為「Action/Perception(動作/感知)」的哲學,每回合將表示周邊世界的感知發送給客戶端,客戶端可以要求伺服器以客戶端的名義進行任何動作。 Marauroa完全不了解遊戲,對您要做什麼幾乎沒有任何假設。
Marauroa的基本原理是:
- 客戶端使用可靠的TCP網絡協議與伺服器通信(反之亦然),以便在出現在線遊戲延遲時提供更穩定的體驗.
- 要玩遊戲,每個玩家都需要在伺服器上用用戶名和密碼標識一個帳戶.
- 玩家使用其帳戶登錄伺服器,然後選擇一個存儲在其帳戶下的「玩家」進行遊戲。 然後,伺服器使用MySQL或H2後端檢查登錄信息,並使用持久性引擎將玩家加載到遊戲中。
- 玩家將動作發送到伺服器。 動作系統是完全開放的,沒有任何硬編碼,因此您可以完全根據自己的遊戲風格進行編輯。 伺服器每隔一定的時間間隔(稱為回合)向每個玩家發送感知信息,以告知他們遊戲狀態和任何相關的狀態修改。 Marauroa的感知系統基於Delta ^ 2形態:只需發送已更改的內容.
- 伺服器每回合執行一些代碼,以繼續遊戲狀態。 使用此鉤子可以輕鬆編寫觸發器、超時、條件以及所需的任何行為的代碼.
- 伺服器透明地自動將玩家和遊戲狀態修改存儲在持久性引擎上,並由遊戲開發人員決定如何使用其遊戲定義腳本.
- 可以使用Python編寫伺服器端遊戲規則,以實現簡單,快速的開發,而無需重新編譯規則引擎,也無需了解Marauroa的內部知識。 遊戲規則也可以用Java編碼。
- 伺服器生成存儲在資料庫中的使用情況統計信息(以便您以後可以從它們中生成豐富的統計信息)。 或者,如果您不需要它們,可以將其禁用以節省CPU周期和磁碟空間。 Marauroa具有模塊化結構,這意味著可以更改和禁用模塊而不會影響其他模塊的操作。
- 伺服器和客戶端都有完整的文檔,除了普通的API文檔外,還包含有關規格和設計的文檔.
{{#breadcrumbs: Marauroa | 概述 | Marauroa是什麼}}