最大的问题是:一个模型往往不够,可能需要多个模型。
获取数据、返回数据都是比较简单的。模型功能本身,比较复杂和繁琐。
因此,我强烈建议,模型最好做得具有开放性以及方便扩展。多写几个虚类,多写几个接口,可能会很有好处。
我也参考了一些网页游戏的代码。但是,纯函数的写法,纯过程的写法,写出的模型。。真的好难用。没办法直接用。数据和模型交杂在了一起。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。
公会本身,不用管玩家到底如何进攻法。
公会系统和任务系统结合。能够产生很强大的游戏成就感。