游戏服务端
文章平均质量分 84
游戏服务端
食鱼酱
一只努力向上的程序员
展开
-
游戏服务端开发-全局唯一ID
结构| PlatId (10bit) | ServerId (12bit) | UnixTime(s) (32bit) | IncreaseId (10bit) || 平台id (10bit) | 服务器id(12bit) | 秒级Unix时间戳 (32bit) | 自增ID(10bit) |说明类型为int64, 前10位是平台/渠道ID,中间12位是服务器的ID,接着是32位的秒级unix时间戳,最后10位是自增ID。自增id每秒归0优势每秒支持1024次并发。id自增,对MySQ原创 2020-05-29 18:23:31 · 895 阅读 · 6 评论 -
游戏服务端开发-邮件系统
开头邮件系统几乎是每个网络游戏都有的系统,以下用Erlang以例,分享一种邮件系统实现方式。数据库表tableName: user_mailmail_idtitlecontentfrom_user_idto_user_iditem_listis_readsend_time123我是标题我是内容test1test2物品列表Yes/No邮件发送时的时间戳玩家上线时,执行SELECT * FROM `user_mail` WHERE to_user_i原创 2020-05-20 09:00:49 · 7374 阅读 · 8 评论 -
游戏服务端开发-排行榜
开头排行榜几乎是每个网络游戏都有的系统,以下用Erlang以例,分享一种排行榜实现方式。结构每个排行榜对应一个actor,State使用如下结构:%% 通用排行榜结构-record(rank_list, { key = undefined, %% 排行榜的唯一key sort_list = [], %% [one_rank{}] 已经排好序的列表 ready_list = [], %% [one_rank{}] 待排序的列表 sort_time原创 2020-05-18 18:25:04 · 1389 阅读 · 1 评论 -
游戏服务端开发-AOI-九宫格法解析(附代码)
1-啥是AOIAOI全称Area Of Interest,中文就是感兴趣的区域,个人理解就是玩家关注的并且可视的地图区域。在RPG游戏中,玩家角色移动,攻击,放技能等操作都需要向其他玩家广播,但服务端由于性能原因,会避免往整张地图上的角色进行广播。为了把性能消耗降到最低,同时不影响玩家的游戏体验,就只会向玩家关注并感兴趣的区域,也就是AOI进行广播。2-AOI-网格法(九宫格)1# 建立坐...原创 2020-04-25 22:26:24 · 3507 阅读 · 0 评论 -
游戏服务端开发-好友系统
好友系统几乎是每个网络游戏都有的系统,以下分享一种好友系统的具体实现方式。原创 2018-11-27 09:38:55 · 4130 阅读 · 3 评论