H5 网络版坦克大战

最近研究了一下网游帧同步技术, 用H5实现了一个demo

demo比较简单,实现了一个坦克游戏, 能发子弹, 能上下左右移动, 坦克 和子弹 能和墙壁做碰撞检测,没有实现子弹击杀对方的效果, 多个客户端可以互相看到对方的操作,而且保持一致。当然还有很多值得优化的地方

客户端技术

  1.  使用websocket 通讯协议
  2. 使用protobuf 封包解包
  3. 使用react 脚手架 create-react-app 快速搭建客户端应用,使用antd 组件库实现登录UI
  4. 使用canvas 绘制坦克和子弹
  5. 使用帧同步技术同步玩家操作,逻辑帧和渲染帧分离, 逻辑帧和服务器帧一致,逻辑帧每秒15帧, 渲染帧每秒30帧
  6. 每个子弹有独立的定时器处理
  7. 断线重连时会下发历史帧记录, 客户端根据历史帧快速进行追帧推演

服务器技术

  1.    nodejs 语言,高度封装websocket 协议,使用protobuf 封包解包
  2.   固定帧率广播所有玩家的帧操作

git地址: https://github.com/zhengjinwei123/GameTech

最后, 欢迎Star 或 打赏

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值