目的
为了补足不会一个高级静态语言的技能空白,但不想规规矩矩的学,这不符合我社畜的学习方式,所以我打算采取看视频和做项目快速上手,故开启该篇章记录学习过程
目标
- c++ 11以上版本的使用
- 通过1~2个项目掌握在游戏中常见的功能
项目
登录鉴权 + 角色管理
技术要点:
-
TCP 连接管理与粘包处理(自定义包头 + Protobuf 消息)
-
数据库操作(MySQL/Redis 存账号与角色数据)
-
Session 管理(玩家上线/离线状态维护)
-
密码哈希(bcrypt / SHA256,不要明文存)
房间匹配系统
业务场景:玩家点击匹配 → 服务器将若干玩家放入同一个房间 → 房间内广播开始游戏。棋牌、MOBA、吃鸡都需要。
技术要点:
-
匹配队列设计(FIFO / ELO 分数匹配)
-
房间生命周期管理(创建、等待、进行中、销毁)
-
定时器(超时取消匹配、游戏倒计时)
-
广播消息(房间内所有玩家收到同一消息)