用Unity做个游戏(一) - 开新坑
之前那篇cocos转unity的系列算是坑了(撒花
前言
自己是在用unity去尝试做游戏的,中间也遇到了很多很多各种各样的问题,也都在努力去解决。
到目前为止也取得了很明显的成果:主流程都是通的,现在允许多个玩家同时在线,在同一个场景中移动,转向,释放技能;服务器也能妥当的同步各个玩家的信息给所有人。
不过问题也越来越多,由于现在网络通讯机制的问题,总是会出现莫名其妙的网络断开,而且断开的只是客户端接收响应的通道,客户端依然能够发给服务端消息, 服务端也可以收到,当然也正常地返回结果给客户端,然而这里客户端就收不到了。
另外一个情况是:现在的同步机制是客户端各自模拟逻辑和运动,服务端只是负责同步各自的位置,某个玩家把自己的位置告知服务端,服务端再广播给所有其他玩家。这样就会有个问题,由于网络延迟的存在,不同玩家看到的场面局势是不一样的,而且现在也没有对技能释放出来的抛出物进行同步,那些火球的攻击判定也是客户端自行判断的,而且不同客户端的判断结果很有可能不一样,这已经很难再进行优化了,要改的话必须改成由服务端计算所有移动判定逻辑,客户端只负责发送指令和显示服务端推送的位置信息,自己移动时客户端不做移动,仅当传送给服务端的指令信息被处理,服务端推送给客户端位置变化的