网络游戏的地图应该怎么搞?
最近要搞一个网络游戏,涉及到地图的问题,想向大家请教一下!
在游戏中打算采用棋盘式的地图,
地图大概应该可以分为两种:
1、互斥的地图,在地图上的任何物体,如树木、房屋、墙壁、人物等都是相互排斥的。
2、可共容地图,在地图上的部分物体是可以共容的,比如战舰,飞机等!
前者还是比较容易实现的,就是一个两纬数组就可以了。后面这个呢?总不能用三维数组吧!
我的想法是还是采用两维数组,但每个两维数组里面放的是一个一维变长数组对象类,不知道
这个办法是否可行?
这里考虑的主要的是两个方面:
1、存储体积小,因为为了检索方便必须能够放在内存里面
2、检索起来速度要快,而且效率要高,且数据的变化比较快
在服务器端应为往往要同时处理几十个物体对象的数据,所
以不可能搞成一个一维数组然后进行检索,这样的程序同时
处理几百个或许没问题,但要在一台服务器上处理数万个物
体,且其中有30%是游戏玩家的情况下就有困难了!
所以我觉得可以采用我上面所说的方式!这样检索起来就比
较容易了,客户端只需要传递要攻击目标所在的格位坐标,
程序就可以很容易的从该坐标数据获得处于该坐标的物体属
性。好处是不需要动态的建立索引也不需要排序!
或者您还有更好的办法,也请谈谈!