|
楼主 |
发表于 2022-12-1 09:14:09
|
显示全部楼层
二、网页游戏六大系统
1、经济系统。
经济系统包括:商店、拍卖行、生产或打工场所、道具和资源。
生产或打工场所通过 玩家 消耗时间 产生道具和资源。
商店 让玩家和系统进行道具和资源的交互。
拍卖行 让玩家和玩家之间进行道具和资源的交互。
2、消耗系统。(战斗、战争、比赛系统。)
不论是哪一类网页游戏。都是以下12个模式中选择某几个组合。
1玩家vs 1 NPC
N 玩家 vs 1 NPC
N 玩家 vs N NPC
1玩家vs 1玩家
N 玩家 vs 1 玩家
N 玩家 vs N 玩家
1团队 vs 1 NPC
N团队 vs 1 NPC
N团队 vs N NPC
1团队 vs 1团队
N团队 vs 1团队
N团队 vs N团队
比如,无心宠物,就包括了
1玩家vs 1 NPC
1玩家vs 1玩家
比如,战神世界,就包括了
1玩家vs 1 NPC
1玩家vs 1玩家
1团队 vs 1团队
N团队 vs 1团队
3、消息系统。
短信息,系统通知,游戏内邮件等等。
4、任务系统。
任务系统是对以上系统功能的集合。有了功能,自然就有了任务发挥的空间。
5、公会系统。
游戏始终是人跟人玩。所以公会系统是重中之重。
6、地图系统。
虚拟的世界环境。可以是复杂的图片地图,也可以只是几个数字。
分析6类系统到底是做什么
1、经济系统。
相信大多数开发者都做过电子商务类型的网站吧,要不商店类型的网站做过吧。
再不然,一个产品列表总做过吧。
ok,网页游戏中的商店跟一般的网站商店非常类似,而且可能更简单,因为你不需要购物车。
拍卖行,如果你用过淘宝、易趣的拍卖功能,你就知道是怎么回事了。
经济系统的难点是:
生产或打工场所、道具和资源。
生产或打工场所:
你至少需要完成一个计时器,一个生产类,一个打工类。
生产类和打工类都只需要有:
开始() 过程() 结束()
开始():数据初始化。如判断体力是否够啊。材料是否够啊之类的。
过程():可以什么都不做。
结束():产生了什么产品。
计时器用来配合处理什么时候执行开始(),什么时候执行结束()。
道具和资源:
道具最好整合到一个表里。加上如itemtype(道具类型),itemaddtype(道具增加属性类型),itemaddpoint(道具增加点数)之类的字段。
你可以很好的处理装备、药品等等。
2、消耗系统。
消耗系统比经济系统复杂。因为它涉及到一个个具体的功能模型。
比如1玩家vs 1 NPC的模型。
你可以通过纯js处理,也可以通过ajax配合后台编程语言处理。
比如一个完整的过程:
1、获得初始数据。开始计时。
2、模型过程。比如攻击一次,攻击XX个回合。
判断,循环模型过程,或模型结束。
3、模型结束。返回数据。
难点在模型过程。当然,你可以简单的,提交模型数据后,等待多少分钟,返回另一堆数据。目前很多网页游戏就是这样处理的。
你也可以做得很复杂。比如做成即时的回合模型。(例如无心宠物的商业版玩家战斗模型)
甚至你够牛叉的话,你做成战棋类模型。当然,这个对策划,对程序都是严峻的考验。
最大的问题是:一个模型往往不够,可能需要多个模型。
获取数据、返回数据都是比较简单的。模型功能本身,比较复杂和繁琐。
因此,我强烈建议,模型最好做得具有开放性以及方便扩展。多写几个虚类,多写几个接口,可能会很有好处。
我也参考了一些网页游戏的代码。但是,纯函数的写法,纯过程的写法,写出的模型。。真的好难用。没办法直接用。数据和模型交杂在了一起。Ogame是这样,无心宠物是这样,wog也是这样。
没有足够扩展性的模型,还不如自己写。修改花的时间更多,而且非常不好用。
3、消息系统。
参考一般论坛的短消息功能。很简单。
游戏内邮件,如果可以邮寄物品,那么会困难一些。但是只要前面的道具类完成好了。增加一两个字段不是大问题。
4、任务系统。
整合前面的功能。形成任务链。
大概需要几个表:
1)任务基础表
id
位置id
任务类型一(打怪/寻宝/等等)
任务类型二(单一任务/连续任务开始/连续任务过程/连续任务结束)
任务进行状态(开始/中断/取消/未接/完成)默认:未接
任务开关文字(连接文字或图片,点击触发)
任务开关图片。
任务文字描述。(说明任务的具体内容)
是否一次性任务。
是否有前置任务。
前置任务id
是否有后置任务。
后置任务id
任务开始NPC
任务结束NPC
2)任务完成条件
id
任务id
任务完成类型 (无条件/需要物品/需要属性/都需要/等)
物品id
物品数量
玩家属性
玩家属性达到值
3)任务完成奖励
id
任务id
物品id
物品数量
玩家属性
玩家属性增加值
任务完成开关文字
任务完成开关图片
4)任务记录表 (记录只能执行一次的任务)
id
角色
任务id
任务进行状态(开始/中断/取消/未接/完成)默认:开始
5)任务临时表
(记录可以多次执行的任务,开始即写入,完成即删除或备份。)
(连续任务,当全部完成时再删除或备份。)
id
角色
任务id
任务进行状态(开始/中断/取消/未接/完成)默认:开始
6)NPC表
id
NPC名字
NPC图片
NPC对话
任务系统是对前3个系统功能的总结和升华。对游戏性和易玩性相当重要。
5、公会系统。
公会是一个类似虚函数的东西。
公会说,进攻某个地方。
这时候,如果有多个公会玩家去进攻某个地方。从1v1,形成了貌似Nv1。
公会本身,不用管玩家到底如何进攻法。
公会系统和任务系统结合。能够产生很强大的游戏成就感。
6、地图系统。
网页游戏的地图系统,其实跟网站导航很类似。
不同的是,网站导航可能只需要几个连接就行了。
地图系统会复杂一些。可能有图片,连接更多,有的还需要自动生成。
有的是XXX*XXX个点(图片或连接)组成。
个人觉得看成是模板就行了。最简单的就是地图系统(不同于网络游戏,还需要检测碰撞、寻路,一大堆算法)。当然,你要做成跟网络游戏很类似的地图,那也没办法。找本游戏开发的书看,都有讲。
总结:
经济系统、消耗系统、消息系统是基础。
任务系统、公会系统是升华。
地图系统是容器。 |
|