游戏设计------九宫格视野控制
参考网址:https://blog.youkuaiyun.com/qq_36748278/article/details/102787225
背景
玩家视野背景
AOI(Area of Interest),即感兴趣区域。可以看成在游戏中玩家在所在场景中实时看到的区域,即AOI会随着玩家的移动而改变。在游戏中,会有很多个场景(地图),每个地图中都有很多玩家或者npc,视野数据是相互的, 玩家A 可以看到 玩家B , 玩家B 同时也会看到 玩家A 。当 玩家 在地图中做一些行为操作的时候,如果想要玩家的行为被别人看到,就需要把玩家的行为广播给地图中的所有玩家。场景中玩家的行为只要有修改就广播给场景中其他所有玩家,这种方式是最优的方式呢?
- 对于一些玩家数量较少的场景,比如组队副本等。玩家会看到地图中所有的玩家和npc,可以称之为全视野场景。这种场景中,单个玩家有操作采取广播给场景中的其他玩家的方式是可行的。
- 对于一些大型的PVP玩法,同一个场景中有几百甚至上千人参加的时候,假设场景中共有1000人参加。任意一个玩家只要移动就要广播给剩下的999人,当1000个人同时移动的话,服务器需要处理999 * 999(百万级别)条消息,相当于 n*n 。场景中所有人移动一下就产生百万级别的数据,还没有考虑玩家的技能释放等其他的行为操作的同步,这么大数据量容易造成服务器消息的堆积,无法做到及时响应。同时,客户端每一个玩家都会处理其他1000个玩家的实时信息,容易造成客户端的卡顿,如果消息处理不过来也会出现包数据的丢失。同时发往客户端的包的数量太大,还会消耗大量的流量。这种方式肯定不是我们想要的,游戏体验会非常差。
我们可以发现,在游戏中,玩家始终会出现在屏幕的中央,随着玩家的移动,视野也会随着玩家的移动同时移动,但是始终都是以玩家为中心。玩家所能看到的就是游戏屏幕内以玩家为中心向四周360度扩展的视野信息。那么如果修改玩家的 AOI ,控制在以玩家为中心 屏幕内所有所见对象记为玩家的视野数据;当玩家有行为操作的时

本文探讨了游戏设计中九宫格视野控制的概念,用于优化大型PVP场景中玩家视野数据的处理,避免服务器消息堆积和客户端卡顿。通过将地图划分为多个格子并采用九宫格存储形式,有效降低了数据传输量,提升了游戏体验。
最低0.47元/天 解锁文章
9万+

被折叠的 条评论
为什么被折叠?



