Skip to content

Project Goals #2

@pojol

Description

@pojol

Welcome to the world of Braid!

Braid aspires to be a game server engine similar to serverless architecture, deeply inspired by the actor design philosophy.

In this game server framework, there's no need for traditional login servers, gateway servers, battle servers, etc. All logic is encapsulated by actors and loaded into Braid.

Users only need to design actors and implement their methods (a set of message consumption chains) to build a game service that supports any game type!

Concepts

  1. The cluster is infinitely scalable. In this framework, whether running on physical machines, swarm, or k8s, the essence is that each node (pod) loads a set of actors, and these actors construct the game service.
  2. Since responsibilities are abstracted to the actor level, most designed actors can be reused across different games (e.g., MailActor, ChatActor, GuildActor, GateActor, MatchActor ...)

An actor is an abstraction of a logical thread. Any chain registered to an actor executes in the same thread. Communication between actors is done through RPC.
Actors can have their own state; can subscribe, register, and send messages; and can add timer handlers.


欢迎来到 Braid 的世界!

braid 期望成为一个类似无服务架构的游戏服务器引擎,它深度借鉴了 actor 设计思想;

在这个游戏服务器框架下,可以没有传统的登录服务器,网关服务器,战斗服务器等等... 所有的逻辑都被 actor 包装,并装载到 braid 中

用户只需设计 actor 并实现这个 actor 的方法(一组消息消费chain),即可搭建出一个游戏服务,并支持任何游戏类型!

概念

  1. 集群是可以无限扩展的,在这个框架下无论是运行在(物理机,swarm,k8s),本质都是一个个的节点(pod)装载了一组 actor,由这些 actor 构建出游戏服务
  2. 由于职责被抽象到了 actor 维度,所以大部分设计过的 actor 可以在各个不同的游戏中进行复用(比如 MailActor, ChatActor, GuildActor, GateActor, MatchActor ...

actor 是一个逻辑线程的抽象,任何注册在 actor 的 chain 都执行在同一个线程中, actor 和 actor 之间的通讯通过 rpc 的形式进行相互之间的访问

actor 可以拥有自己的 state ; 可以订阅,注册和发送消息; 可以添加 timer handler

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions