现在的位置: 首页 > 综合 > 正文

webGame地图模式开发, 了解一下吧

2013年04月12日 ⁄ 综合 ⁄ 共 1397字 ⁄ 字号 评论关闭

首先说明一下,网页游戏目前不外2d,2.5d两类,2d的就类似炸弹人,或小时候我们玩的坦克大战类的游戏。如下图了

这不是为我们今天讨论的范围,我们来讨论另一种2.5d(斜45°地图),如下图:

好了,接下来让我们还要选一种地图格式,三种如下图    

项目选择场景地图呈现方式时,首先考虑整体为矩形 还是大菱形 

        如果为人人上的app类社区游戏选大菱形地图的较多,这种情况的tile只能是菱形。

        如果为大型webgame则选择矩形的地图布局较多,这时在矩形地图基础上再做出选择菱形tile 还是矩形tile ?

 

        假如我现在要做一款mmorpg,我要选矩形地图,然后我会弄一款地图编辑器,为了达到最好的效果,不至于返工,我可以在编辑器里选择到底用哪种模式来编辑场景。

其中网格类型分为矩形和菱形,就是我们刚说的矩形地图还是大菱形地图,我们选择了矩形。

接下来就是tile模式,按照当前webgame的主要做法,场景地图可以有两种做法,第一种是用各种小图片(不要告诉我你用矢量素材o(╯□╰)o除非你做app社区game)(可以是一块地板,一个家具,一幢房子)拼接成整张地图,比如人人餐厅:

这种模式的好处就是比较灵活,比如玩家可以自己布置自己的桌椅,可以布置各种装饰,比较方便和规矩。可惜还是这种方式目前看来只适合这类社区游戏,以及早期的2d网游,现在都在用下面这种:

第二种:整个场景为一张整图。

这时从构成元素又可以分为两种,一种是将建筑物与地形分开,一种是不分开(分开与否与处理人物与建筑以及NPC的视图排序有关,暂不讨论)。

而从加载资源方式上也分为两种,一种是按整图切割成的N多小图加载,看下图:

整图分割加载的代码实现稍微麻烦一点,因为你要管理N多图,来实现角色所到达位置的地图呈现,实现N个小地图片的按需加载。优点就显而易见了,按需加载嘛^_^,切换地图时也只需把角色周围的小地图图片加载即可哦;

另一种是则是整图加载了,若地图很小,或你把地图压缩的很小,或你的整体UI素材很小,或。。。。。总之你认为可以把它整体预加载进来,有点就是流畅了,也不会让用户看到马赛克的机会,感觉在玩客户端2d游戏,流畅又清晰嘛,就是进游戏之前用户会多等待N秒了>_<。

 

其实整图也可以动态加载,因为之前你可以先放一张分辨率极差的地图先让用户用着,这就是马赛克地图了,体验差了点但处于上面两种情况之间,可以接受哇。。。。。。我感觉我跑题了。。。o(╯□╰)o。

 

之前说到整个场景地图为一张整图(不管你的建筑物扣不扣图),那么来选择编辑场景时的tile形状吧,菱形?矩形??

其实差别不大,既与寻路的A*算法实现无关,也与场景人物与建筑以及其他NPC排序无关,主要是跟你的建筑形状有关,我们看一下图吧:

黑色轮廓线是我后画的,将就看了。很规则的斜线,这是我认为你选菱形tile贴合的比较吻合是不是贴合的比较吻合呢?我随意放的,具体你可以放的很吻合啊

 

我们再来看另一种风格的地图:

很凌乱的野外地图对吧,那你标示障碍用菱形tile还是矩形tile呢?哪一种都不会减小我们的工作量,影响的只是用户的体验哦。

 

 

补充一下,大家可以再玩游戏的时候,从该角色A*寻路的走路方式可以看出来该游戏用的是菱形tile还是矩形tile,特别在过障碍的时候。

写的快了些,总感觉漏了点什么。。。以后想起来再补上吧。

抱歉!评论已关闭.