Go开发 H5游戏服务器端 ⽂科@环信 2016.09.24 游戏⾏业经历 • 2010-12年 2款⻚游 js + python + php • 2013-14年棋牌类⼿游 Cocos2d-x(c++) + go • 2015-16年 H5游戏平台和2款H5游戏 Cocos2d-js + go 为什么选择Go • 游戏性质: • 强联⽹实时战⽃⾼并发 • 其他语⾔: • Php,Python,C++ • Java,Lua,Erlang 游戏演示 游戏系统 • 奖励邮件好友排⾏签到新⼿引导 • 贵族商店⻋库道具改装充值 • 单机赛:猎⾦场闯关场探险场 • 联⽹赛:对抗赛⽣死赛 BOSS赛 1. 数据包 2. 通信协议 3. 联⽹纠偏 4. 服务器端AI 5. ⼯具链 1. 数据包 2字节数据包⻓度+2字节事件类型+20字节校验码+json字符串 [48 44 52 49 44 48 44 49 52 44 53 50 44 49 54 48 44 49 57 55 44 49 55 53 44 49 48 44 50 48 52 44 50 49 50 44 50 53 53 44 49 50 44 50 51 50 44 49 50 57 44 54 48 44 50 51 49 44 49 54 44 53 53 44 56 56 44 49 53 51 44 56 49 44 49 54 54 44 56 51 44 57 49 44 51 52 44 52 57 44 53 50 44 53 53 44 53 50 44 53 52 44 53 50 44 53 53 44 53 50 44 52 56 44 53 50 44 52 56 44 52 57 44 53 48 44 51 52 44 57 51] I0924 00:17:29.789037 60324 client.go:132] Receive:0xc4200a6000 2 9 14-PLAYER_CHANGE_NICKNAME ["1474647404012"] fmt.Printf("%v\n", buf) 2. 通信协议 同时⽀持Tcp Socket,WebSocket,Http⻓轮询 3. 联⽹纠偏 4. 服务器端AI 5. ⼯具链 策划数值表->服务器端json->客户端json Go的优势 • gofmt • goroutine chanel • 抽象接⼝类型鸭⼦类型 • 标准库完美⽀持字节流和字符 • 多核多线程 • 语法简单代码逻辑可读性强开发效率⾼ • H5游戏开发的架构总结(⼀) 客户端 /wk3368/article/details • H5游戏开发的架构总结(⼆) 服务器端 /wk3368/article/details 谢谢⼤家 新浪微博 天空wk3368 微信 wk3368