Pomelo - 基于Node.js開發的開源游戲服務端框架

jopen 12年前發布 | 44K 次閱讀 Node.js 游戲開發

pomelo是基于node.js的高性能,分布式游戲服務器框架。它包括基礎的開發框架和相關的擴展組件(庫和工具包),可以幫助你省去游戲開發枯燥中的重復勞動和底層邏輯的開發。 pomelo不但適用于游戲服務器開發, 也可用于開發高實時web應用,它的分布式架構可以使pomelo比普通的實時web框架擴展性更好。

下圖是pomelo框架的組成:

pomelo框架

pomelo包括三部分:

  • 框架, pomelo的核心, 與以往單進程的游戲框架不同, 它是高性能、分布式的游戲服務器框架,并且使用很簡單
  • 庫, 包括了開發游戲的常用工具庫, 如人工智能(ai), 尋路, aoi等
  • 工具包, 包括管理控制臺, 命令行工具, 壓力測試工具等

pomelo特性

  • 快速、易上手的游戲開發模型和api
  • 高可伸縮的多進程架構, 支持MMO的場景分區和其它各類分區策略
  • 方便的服務器擴展機制,可快速擴展服務器類型和數量
  • 方便的請求、響應、廣播、服務器通訊機制, 無需任何配置
  • 注重性能,在性能、可伸縮性上做了大量的測試、優化
  • 提供了較多擴展組件,包括游戲開發常用的庫和工具包
  • 提供了完整的MMO demo代碼(客戶端html5),可以作為很好的開發參考
  • 基于socket.io開發,支持socket.io支持的多種語言客戶端

為什么使用pomelo?

高并發、高實時的游戲服務器的開發是很復雜的工作。跟web應用一樣, 一個好的開源容器或開發框架可以大大減少游戲開發的復雜性,讓開發變得更加容易。
遺憾的是目前在游戲服務器開發領域一直沒有太好的開源解決方案。 pomelo將填補這個空白, 打造一款完全開源的高性能(并發)游戲服務器框架。 pomelo的優勢有以下幾點:

  • 架構的可伸縮性好。 采用多進程單線程的運行架構,擴展服務器非常方便, node.js的網絡io優勢提供了高可伸縮性。
  • 使用非常容易, 開發模型與web應用的開發類似,基于convention over configuration的理念, 幾乎零配置, api的設計也很精簡, 很容易上手。
  • 框架的松耦合和可擴展性好, 遵循node.js微模塊的原則, framework本身只有很少的代碼,所有component、庫、工具都可以用npm module的形式擴展進來。任何第三方都可以根據自己的需要開發自定義module。
  • 提供完整的開源MMO游戲demo參考(基于HTML 5)。 一個超過1萬行代碼的游戲demo,使開發者可以隨時借鑒demo的設計與開發思路。

如何使用pomelo開發?

通過以下參考資料將使我們很快地熟悉pomelo的全貌與開發過程:

通過demo代碼的學習將使你熟悉一個完整MMO游戲的開發:

Pomelo 框架的更詳細介紹請看:

上手文檔

Demo指引

參考文檔

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!