文章目录
  1. 1. 背景和目标
  2. 2. 服务器架构
    1. 2.1. 账户系统
    2. 2.2. 大厅
  3. 3. 客户端

背景和目标

当年大三的时候写了个五子棋世界,就是 QQ Game 那种大厅-房间-桌子(我只有简单逻辑的五子棋)。毕业后一直想找个时间来重构它,后来有次下决心看了下代码,有点儿不知所措,你懂的,:D,还不如重写。

现在对 Go 很感兴趣,准备用 Go 来实现以前的开源梦。就先已以前的五子棋世界那种休闲游戏平台来开始练手吧。

目标暂时不定的太大,基本实现大厅-房间-桌子-游戏就行了,慢慢重构慢慢完善。

服务器架构

基本架构参照之前给公司项目做的 架构 。当架构有改变时,及时修改这篇博客,或者新博客与这篇相互引用和注解。

不同的部分,加个大厅,大厅里显示房间状态,这样玩家就自己选择闲的房间去玩,这样就不需要做负载均衡的算法了。

账户系统

游戏自身不做账号密码这种用户系统,只用第三方的账户,如微博账户等来连接到我们游戏。或者更简单点,这块儿只模拟下微博等第三方用户系统的登陆了。

第三方账户连接到我们游戏,我们本地只由自增长的 uid 生成器来生成一个 int 的 uid 即可,将第三方的 platformUid 和我们的 localUid 做个关联映射。

大厅

大厅可以做成短连接,玩家选择游戏及房间的时候才去大厅刷新下当前的各房间负载情况。

客户端

用 walk。(待详细规划)

文章目录
  1. 1. 背景和目标
  2. 2. 服务器架构
    1. 2.1. 账户系统
    2. 2.2. 大厅
  3. 3. 客户端