|
在目前的网络状况和服务器运算速度下,估计要实现有X,Y,Z三条轴的战斗系统难度是相当高的,于是在下想了下在有关"在网络上模拟2DACT(动作类,横幅过关)的战斗系统"的事情.
宿命传说ONLINE中已经出现了类似FTG的战斗,说明图像判定类型的战斗系统已经不再是传说了,现在的问题就是,如何将2D图象判定的战斗系统运用至3D地图上.
首先,在客户端中,模仿RO之类游戏做出一张方形地图,暂且称之为AREA01.标上坐标后,例子为:
X1,X2,X3,X4,X5...
Y1 A A A A A
Y2 A A A A A
Y3,A A A A A
Y4 A A A A A
...
图中标A的地方为玩家所能行动的区域,视角为平视,类似于一般横幅过关游戏.
则,从X1开始往下一整列的区域,纳入AREA01X1地图,X2开始往下一列地图,纳入AREA01X2地图...依此类推直到AREA01XN地图.
从Y1往右的一行开始,纳入AREA01Y1地图,Y2往右的一行纳入AREA01Y2地图,依次类推.
注意,这里所说的地图,指的是服务器在运算时,用于判定范围的一个区域,当然所有开头为AREA01的地图在客户端上进行表示时候,用的都是同一张标号为AREA01的3D地图.
之后,把所有地图都标上Z轴,让服务器进行运算.则AREA01X1地图中,任何一个单位的坐标有可能是:
Y1,Z1. Y2,Z1 Y3,Z1 Y1,Z2,Y2,Z2...等等
具体效果为:
Z1 A A A A A
Z2 A A A C A
Z3 A A A A A
Z4 A B A A A
Y1 Y2 Y3 Y4 Y5...
其中B是玩家所处的位置,C是敌人所处的位置.则只需要计算2位的坐标即可.不过,用图象重叠来计算是否命中的方法是否也把坐标纳入计算范围,在下就不清楚了.
处于AREA01X1地图中,Y1,Z1位置上的玩家,可以通过游戏中的功能随时切换到AREA01Y1地图中,X1,Z1的位置,从而进行另一个方向的移动.
其实是很简单的手法,不过就是把一整张地图按某一列坐标分开,然后插上Z轴形成新地图.
由此可能出现的问题:
1.客户端上的地图数量并不会增加,但是在服务器上就得有数量巨大的逻辑地图对此进行支持,例如一个AREA01地图,服务器上需要用来对其表示的地图数量就为
XN+YN
如果N=100或者更大的话,那么一个AREA01就需要服务器上有200张左右的地图对其进行支持.
假如这些地图中,每张地图有2~3个玩家进行战斗的话,那么要进行图象重合判定,总运算量也是相当巨大的,不知是否可能造成服务器当机.
可能解决的方案:其实玩家并不需要如此之多的地图,只需要X1~X10左右即可,Y1~Y100左右(保证横版的长度).可减少地图数量.同时有些迷宫就是一路摸到黑,地图形状本身就是一条直线,无需多设地图进行表现.
2.国内到目前还很少有2DFTG或ACT游戏出现,所以国内程序能否将图象重合判定进行实现是个问题.
如果上文有哪些不合现实之处,欢迎各位指出,毕竟在下还没入策划门槛,见习都算不上...难免会有点理想化... |
|