网络游戏的地图应该怎么搞?

AirHunter 2003-02-15 01:34:35
最近要搞一个网络游戏,涉及到地图的问题,想向大家请教一下!
在游戏中打算采用棋盘式的地图,
地图大概应该可以分为两种:
1、互斥的地图,在地图上的任何物体,如树木、房屋、墙壁、人物等都是相互排斥的。
2、可共容地图,在地图上的部分物体是可以共容的,比如战舰,飞机等!

前者还是比较容易实现的,就是一个两纬数组就可以了。后面这个呢?总不能用三维数组吧!
我的想法是还是采用两维数组,但每个两维数组里面放的是一个一维变长数组对象类,不知道
这个办法是否可行?

这里考虑的主要的是两个方面:
1、存储体积小,因为为了检索方便必须能够放在内存里面
2、检索起来速度要快,而且效率要高,且数据的变化比较快

在服务器端应为往往要同时处理几十个物体对象的数据,所
以不可能搞成一个一维数组然后进行检索,这样的程序同时
处理几百个或许没问题,但要在一台服务器上处理数万个物
体,且其中有30%是游戏玩家的情况下就有困难了!

所以我觉得可以采用我上面所说的方式!这样检索起来就比
较容易了,客户端只需要传递要攻击目标所在的格位坐标,
程序就可以很容易的从该坐标数据获得处于该坐标的物体属
性。好处是不需要动态的建立索引也不需要排序!

或者您还有更好的办法,也请谈谈!
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AirHunter 2003-02-16
  • 打赏
  • 举报
回复
容纳两个和容纳多个的差别不大啊!
gushenghua 2003-02-16
  • 打赏
  • 举报
回复
我这个想法不知道可不可行:每格最多可以只容纳2个物体(地面一个,空中一个),这样既合乎情理处理起来也方便
兄弟在哪儿工作?有QQ没有,我是学校里的学生,毕业论文想搞网络游戏方面的,有很多问题可能要向你请教
联系方式:QQ:6650440,Email:gushenghua80@163.com
AirHunter 2003-02-15
  • 打赏
  • 举报
回复
通常地图多大算大呢?
我向每个地图为1024*768各方格应该不小了!
其实还可以在方格的概念上引入绝对坐标的概念!比如在非互斥地图里面,同一个方格里面由于可以有多个物件,所以可以让每个物件都有一个绝对坐标!这样每个方格就变成了一个区域!处理的时候可以分区处理,处理量可以降低很多!
gushenghua 2003-02-15
  • 打赏
  • 举报
回复
如果你的地图很大,支持得玩家很多,建议作分布式处理,例如每台服务器处理一个地图。。。

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧