技术分享 Technology to share

game探索暂时告于段落,抽点时间总结下

经过两天开发、四天整合规范修正完善细节。hi game 可以与用户交互了
我们现在来看看 hi game的一些功能和亮点


先上图



功能

基于php workerman 实现的 websocket 完成了

  • 聊天系统
  • 在线人数
  • 房间内用户状态数据同步
  • 可接入登录系统
  • 控制房间人数
  • sock域名白名单
  • 接入redis



接入登录系统



发送token

接收token



亮点


采用事件驱动(订阅模式)来同步以及交互数据

采用大量 节流防抖进行优化过高过快的触发

使用 requestAnimationFrame 进行帧、相对时间统一


  1. 模型优化、采用 indexedDB 储存加载完成模型 最大程度减少了加载时间
  2. 操作并行、统一交给 requestAnimationFrame 来处理 例:ajax模型加载 和 sock人数对应
  3. 逻辑帧和渲染帧分开处理
  4. 补间操作
  5. 场景资源预加载



总结


websock没有使用现成框架、采用 composer 按自己需求来组合插件、对composer有了更深入的了解




使用命令行式php编程、感觉有点打开了新世界大门(php天下第一 (๑•̀ㅂ•́)و✧



小小的改造了 vue cli 剔除了vue 单独开发three 不要太爽(vue + three 实在是太卡了 get set 来监听three简直要命 (*  ̄︿ ̄) 我推测应该是 requestAnimationFrame + get set 的锅)vue cli 真是开发必备环境


手机端预览图



地址链接:http://game.hiwebpage.com


ps:服务器带宽小配置低 websock不是常开 可能会无法加载模型 (希望疫情早点过去)