|
魔域-王者之战是站长于02年前后独自开发的一个模仿Diablo
II的网页游戏,主要开发技术为PHP+Mysql,并使用了大量Javascript的程序来增强互动和减少服务器交互的负载。
该游戏的结构基本与Diablo的一贯作风类似,玩家以一个小城镇为中心,在这个小城镇上提供了各种设施作为冒险前的准备。

比如旅馆可以让玩家休息疗伤、铁匠铺出售武器防具、道具屋出售药剂、魔法学院可以学习和提升魔法、战士工会可以学习战斗技能、拍卖场提供玩家之间互相调剂战利品、装备黑市类似于Diablo中的赌博老头,这个我不说大家也应该知道的吧。
玩家由小镇出发即可选择多个不同难度的地下城进行探险,通过杀死怪物来获得经验、金钱和装备,战斗时的画面如下:
屏幕左上角是你目前的装备情况,把鼠标悬浮于某件装备上可以查看装备的详细情况,当战斗结束后如果有战利品,你可以和目前装备的比较一下以便决定是否要拾取(因为背包空间使有限的);上部的中间是显示怪物状态的,有名字,血槽(全红表示未受到损伤)和图片;右上角是你的各项数值-等级、经验、攻防(包括变化)、生命、魔法等;左下角是你学会的魔法,每一列是一种类型的魔法,由上到下按魔法的等级排列。需要使用的时候可以用鼠标左键点击一下,即可在本回合使用一次魔法;右下角是你背包里的药水,点击即可使用;下部中间是动作时间条,只有当游标  到达黄色时间条最右端时才可以作动作,比如使用魔法、使用物品或简单地攻击(  );另外战斗中你随时都可以使用  按钮逃跑。
这部分的设计主要是通过服务器与数据库记录的交互来计算玩家与怪物之间的攻防转换,以数据库技术实现了回合制的战斗模式,完全有别于当时常见的从开始到结束全自动式、中间无法进行干预的战斗模式。
玩家个人状态(主要是武器防具的装备切换)也是游戏中比较重要的一个部分。
界面左上角是属性部分,根据经验值计算升级,每升一级会获得属性点,可自由加到三项个人属性上,并根据个人属性点变化来计算旁边的其他属性;右上角是当前学会的技能和魔法;左下角是当前的装备情况,右下角是背包的情况,在装备物品的界面我们可以点击选中一个武器或防具来装备它或替换当前的装备。
这个界面使用了较多的Javascript来变换显示效果以及数据,主要是为了减轻服务器的负载考虑。另外一个比较多的使用Javascript的地方是工作技能:采矿、冶炼和锻造,这三处可以认为是三个Javascript的小游戏,都是由客户端来处理游戏的过程,而服务器端只需要在游戏结束时接收并处理一下数据即可。
 例如采矿是由Javascript来随机显示矿石的出现和消失,以及记录时间,并根据客户端鼠标点击的位置来记录挖矿的数据,当时间结束后,客户端将数据提交到服务器,才由服务器接手计算相应的数据记录到数据库。
而冶炼也是如此,由客户端的Javascript代码来控制如图  这样一个游标来回运动,并监测客户端点击鼠标时是否游标在黄灰色区域来记录冶炼成功的次数提交服务器端。
锻造则是用Javascript模拟了一个类似早期跳舞机的情景,红蓝两色的椭圆向上漂浮随机地进入一个区域,当红圆进入区域时按鼠标左键,蓝圆按鼠标右键即为成功打下一锤,右侧的剑就会增长一截,在规定的时间里剑完全显示出来即为锻造成功。
整个魔域游戏在2002年时应该还是属于一个技术比较先进新颖的系统,用数据库实现了其他web游戏所没有的回合制战斗(包括玩家与怪物之间和更加复杂的玩家与玩家之间的战斗);用Javascript分担了服务器的工作,增强了互动性;将单机游戏中的大量优秀元素改进并引入到web游戏中。在MOP网友协助测试的过程中还是得到了不错的反馈。
不过当年站长只是为了更好地学习和使用PHP语言才开发了这个游戏,后来并没有想过推广这档事,直到web游戏风起云涌之时才有一丝遗憾。不过现在这个游戏已经拿不出手了,除非是用OOP重写一下,再把XAJAX也用上,也许还能枯木逢春......
游戏演示地址: http://www.onceplay.com/moyu
|