天天看点

关于游戏中服务端erlang寻路---AStar+直线

游戏介绍:一款可多人同屏的SLG, 每个玩家带自己的队伍在地图上寻路,确保数据丝毫不差,玩家看到的画面都是一致的~

要求:同屏人数要求 20人,场景寻路单元20*5 + 怪物数量~~单场景极限150个单位

思路:1、地图导成0~1文件,0不可走、1可走

           2、起点----终点,计算直线是否可走,是:走直线;否:步奏3

           3、精度设置5~8(自行决定),用AStar计算目标点路径,然后截取最远可走的直线

坑:1、时间---距离计算; 2、精度

在网络条件不好的情况下需要客户端做平滑处理的,客户端实际所见跟服务端计算还是有5米范围的误差,需要定时矫正,尽量做到精确~~~~通信方面,每次告诉客户端要去的目标,不用实时更新坐标,另外停下来的时候,通知下客户端

PS:还有一种做法,直接用C++封装好的recast算法库~前人有使用过,到我手上已放弃,hold不住(哭脸),有好的思路,欢迎留言,谢谢~