Skip to content
This repository was archived by the owner on Sep 25, 2023. It is now read-only.

Welcome to Pomelo 웰컴 투 Pomelo

LeeHyungGeun edited this page Nov 16, 2013 · 10 revisions

Pomelo is a game server framework. Comparing to a single-process game server framework, pomelo is a fast, scalable , distributed game server framework for Node.js, and it is easy to use. It provides the core development framework and a series of related tools and libraries that can help developers to eliminate boring duplicate work for some common underlying logic. Based on pomelo, developers don't need to "re-invent the wheel", so they can focus more on game-specific logic, and it will also improve developmental efficiency observably.

Pomelo는 게임서버 프레임워크이다. 싱글-프로세스 게임서버 프레임워크와 비교할 때, pomelo는 Node.js를 위한 매우 빠르고, 확장성이 있는 분산처리 게임서버 프레임워크이다, 그리고 매우 사용하기 쉽다. pomelo는 핵심 개발 프레임워크와 관련된 일련의 툴과 라이브러리르 제공한다. 이를 통해 개발을 하며 생기는 중복 작업을 근본적으로 없앨 수 있다. pomelo로 개발을 하면, 개발자들은 쓸데없이 시간을 낭비할 필요가 없다. 그래서 게임 로직에 더욱 집중을 할수 있고, 개발상 능률을 눈에뛰게 올릴 수 있다.

Also, the powerful scalability and flexibility of pomelo makes pomelo can be used as a general-purpose distributed real-time application development framework. It is more scalable and adaptable than the existing real-time application framework. Pomelo supports all major platform clients and provides client SDKs, it makes the development of client become very friendly.

또한, 포멜로는 강력한 확장성 및 유연성은 포멜로를 범용 분산적인 실시간 응용 프로그램 개발 프레임워크로 사용할 수 있게 한다. 그것은 기존의 실시간 어플리케이션 프레임워크보다 더 확장하고 적응할 수 있다. Pomelo는 모든 주요 플랫폼 클라이언트와 클라이언트 SDK를 제공 한다. 이것은 클라이언트 개발을 매우 편리하게 만든다.

Composition of Pomelo Pomelo의 구성

Pomelo is a combination of a number of parts, every part is loosely coupled to each other, it includes: Pomelo는 다수의 파트로 조합되어 있다. 모든 파트는 각각 loosely coupled로 연결되어 있다. 이것은 포함한다:

  • Framework 프레임워크

Framework is the core of pomelo. 프레임워크는 pomelo의 코어이다.

  • Libraries 라이브러리

Pomelo provides a lot of libraries, some of them are perfectly related with game logic, such as AI, AOI, path-finding, etc.; but some have nothing to do with game logic but are general functionalities to application, such as timing task execution, data synchronization, etc.

Pomelo는 많은 라이브러리를 제공한다. 그것중 몇가지는 게임로직과 완벽하게 관련되어있다. 예를들어 AI, AOI, path-finding, 등등이 있다.; 그러나 일부는 게임 로직과 관련이 없지만, 그것들은 어플레이케이션에 이용된다. 예를들어 timeing task execution, 데이터 동기화 등이 있다.

  • Tools

Pomelo provides a lot of tools, including server management & control tool, command-line tool, stress testing tool, etc.

  • Client SDK

Pomelo provides client SDK for various platforms, including js, C, C#, Android, iOS, Unity3D, etc., which covers all the major platforms now. As communication protocol of pomelo is open and customizable, developers can easily customize their own communication protocol to support special platforms.So, pomelo can supports the client on any platforms.

  • Demo

A framework requires powerful demos to show its features and demonstrate how to use it to developers. Pomelo offers a chat demo that can run on all the major platforms, "treasures" that is simple game demo and its client is HTML5-based. Pomelo also provides a big HTML5-based MMO game demo [Lordofpomelo] (http://pomelo.netease.com/lordofpomelo/ "Lordofpomelo") ([source code] (https://github.com/NetEase/lordofpomelo "Lordofpomelo source")) .

Why Pomelo?

The development of high concurrency and high real-time game server is a complex task. As web application, a powerful framework for game server can reduce developmental complexity greatly. Unfortunately, There is no suitable open source solutions in the field of game server development now. Given this situation, pomelo aims to create a completely open-source, high-performance, high-concurrency game server framework. The advantages of pomelo are presented as follows:

  • High scalability

Pomelo introduces a single-threaded multi-process architecture, it is very convenient to scale servers up or down through modifying the configuration file of servers easily without impacting the source code of application. Node.js's advantages on network io provides high scalability, too.

  • Easy to Use

Pomelo is based on nodejs that is very lightweight. And its development model is similar to web application. It follows a principle "convention over configuration" to reduce configuration work, that makes the application be almost zero-configured. Its api design is also very simple and very easy to use, so development of game server based on pomelo will be very quick and easy;

  • Loosely coupled and High-extensibility

Following micro module principle of node.js, pomelo itself is a small core, all the components, libraries, tools can be a npm module that can be used to extend the framework, and they are all loosely coupled to others. Any third-party can develop customized module according to their own demands, and integrate it into pomelo.

  • Complete Demo and Documentation

Pomelo provides all its documentation and a complete and powerful open source MMO game demo - [Lordofpomelo] (http://pomelo.netease.com/lordofpomelo/ "Lord of pomelo online") (Source Code), which is implemented by more than 10,000 lines source code written in javascript, so developers can always learn its design and development ideas from the demo.

Pomelo Positioning

Pomelo is a lightweight server framework, the most suitable fields of pomelo are the server-side application for web games, social games, mobile games, etc.. Developers will find that it is possible to achieve high-scalability and high-flexibility by only writing so little code. Of course, pomelo is also suitable to high real-time web applications, and it makes the application be more scalable than other frameworks.

It is not recommended to use pomelo when developing large-scale MMORPG game server, especially large-scale 3D games, the commercial engine such as Bigworld may be a better choice.

Well, let's [Install pomelo] (Installation "pomelo Installation") and try it .

Clone this wiki locally