最近在玩一款德国造网页游戏,感觉挺有意思,而且蛮适合我这种初学者研究一下的,特此开坑。

游戏主要是采用了d&d(?好吧其实我也不知道只是感觉上比较像,大概以后无聊的时候会去看看到底啥是d&d?)规则,通过消耗获取的经验对属性、技能进行强化,然后找一堆基佬一起探索地下城(副本?)的游戏,满级40据说要一年半?话说这么长周期也是没谁了不是。

首先来说说界面,其实挺简单,各种的表格,基本来说就是各种增删改查,对前台来说应该是毫无压力,但是貌似后台设计以及数据获取的速度比较考验技巧?感觉上难度最大的应该是他的战报生成,简单来说就是计算先攻计算伤害看你死了没,但是复杂了说有回合前buff,回合中buff,近战远程魔法等等各种根据设置进行的动作,并非流水账可以完成。

之后回尝试看是否可以复刻出这个游戏以及记录一些复刻时的想法,大概就是这样子。

顺便这个游戏叫world-of-dungeons,简称wod,有兴趣体验的可以戳http://world-of-dungeons.org/mmorpg/cc/85125,记得服务器选canto因为另两个服务器活人不多。

人物卡

作为一个游戏,人物可以说是基础,毕竟是玩家操作的基本元素,

作为一个人物,最基础的属性包括但不止以下内容:

姓名,等级,总经验,未使用经验,生命值hp,魔力值mp,各种属性值(包括基础属性值,属性加值),种族,职业,钱,荣誉(个人/联盟)出生日期。

另外还有各种统计数据,暂时不计。

职业相关属性:

名称,描述,特征(另外一些描述),属性修正,伤害修正,防御修正,技能修正,下级职业等

种族相关属性:

名称,描述,特征,属性修正,伤害修正,防御修正,技能修正

由此可见其实职业跟种族是比较类似的玩意,如果加上进化要素还可以设计下级种族?

另外可以设计中间表做种族职业匹配,当然如果是全匹配可以无视这个东西。

属性

这个游戏的基本属性以及说明如下:

力量 影响近战远程伤害和体力

体质 影响体力(比力量的影响大)

智力 影响法力和魔法防御

灵巧 影响近战远程命中和近战躲闪

魅力 影响社交才能和治愈能力,心理攻击命中和躲闪

敏捷 影响近战躲闪和远程伤害及出手速度

感知 影响远程命中和躲闪及出手速度

意志 影响魔法和心理攻击躲闪,法力(比智力影响大)

而常见的hp、mp都可以通过计算得到,基础公式:

体力 3*体质+2*力量

法力 3*意志+2*智力

先攻 2*敏捷+感知

不计算技能影响的基础躲闪公式:

近战 2*敏捷+灵巧

远程 2*敏捷+感知

魔法 2*意志+智力

心攻 2*意志+魅力

疾病 2*体质+魅力

陷阱 2*感知+敏捷

自然 2*意志+敏捷

偷袭 2*感知+智力

爆破 2*敏捷+感知

原本想法是按照最原始的表结构设计,一个字段存储一个属性,但是考虑之后各种技能或其他的计算公式,似乎会把逻辑写的很麻烦,因为这个游戏不同的技能是按照不同的属性来计算伤害,考虑后决定用数组来存储属性,大概样子如下:

[力量,体质,智力,灵巧,魅力,敏捷,感知,意志]

之后在技能那会有基础伤害计算公式,是一个二维数组,每组2个数字,第一个代表乘值,第二个代表加值,大概样子如下:

[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]

然后附加1-N个附加值,比如最基本的按照技能等级或者人物等级进行价值,在不确定的情况下可以预留字段或者存入一个json或数组,相比之下这种非固定格式我比较喜欢用json,这样可以方便扩展(?鬼晓得?),比如下面格式:

{"heroLvl":"0","skillLvl":"0"}

这样的话举个例子这个游戏一个技能,基础:剑术
命中公式为:2×灵巧+敏捷+2×基础:剑术
躲闪公式为:2×灵巧+敏捷+2×基础:剑术
伤害公式为:力量÷2+灵巧÷3+基础:剑术÷2

对应的存储:

命中基础公式为:[[0,0],[0,0],[0,0],[2,0],[0,0],[1,0],[0,0],[0,0]] ,附加值公式:{"skillLvl":"2"}
躲闪基础公式为: [[0,0],[0,0],[0,0],[2,0],[0,0],[1,0],[0,0],[0,0]]  ,附加值公式:{"skillLvl":"2"}
伤害基础公式为: [[0.5,0],[0,0],[0,0],[/3,0],[0,0],[0,0],[0,0],[0,0]]  ,附加值公式:{"skillLvl":"0.5"} (数组第一个数字钱加/是为了区分乘除,毕竟不像加减,除会存在除不尽的情况)

这样当人物数据为[1,1,1,1,1,1,1,1],技能等级为1时,各项数据如下:

命中:(1*0+0)+(1*0+0)+(1*0+0)+(1*2+0)+(1*0+0)+(1*1+0)+(1*0+0)+(1*0+0)+(1*2) = 5
闪避:(1*0+0)+(1*0+0)+(1*0+0)+(1*2+0)+(1*0+0)+(1*1+0)+(1*0+0)+(1*0+0)+(1*2) = 5
伤害:(1*0.5+0)+(1*0+0)+(1*0+0)+(1/3+0)+(1*0+0)+(1*0+0)+(1*0+0)+(1*0+0)+(1*0.5) =1.333 向上取整为2
但是其实伤害并不是固定值,所以采用的roll点的方式,这里在这个游戏的技能说明中也有:每次投点得到的数值是上下浮动的。但我并不清楚他的roll点范围所以暂时假设为1倍-2倍之间,即:
命中:5-10
闪避:5-10
伤害:2-4
roll出数值后再加上装备加减值,比如武器伤害为5,roll点伤害3,防具抵消2,最终伤害为6。
当然他这个游戏中还有重击之类的加值计算,因为并不清楚机制所以暂时先不进行猜测,留个坑在这先。

技能

技能这个玩意,感觉其实很有意思,光分类就好多,更别提各种杂七杂八的设计,那么我们来了。

首先做最基础的分析,这个游戏的技能分为基本技能,附加技能,特殊技能,天赋技能,其实主要是标示升级时所需要的经验值以及金钱,不同类型技能的消耗是不一样的。

然后从技能分类看其实可以简单的分两种,对自身、对敌人。

对自身其实就是常说的buff,基本就是对自身的加值,或者回复,可记录:加值计算/回复计算,加值回合/回复回合。

对敌人其实按照一般游戏来看分为debuff,dot,直接伤害等,其实可以直接丢一起,因为这个游戏有些技能是基本伤害+dot的组合伤害形式,可记录:属性减值,减值时间,dot伤害,dot时间,直接伤害。

整合一下,技能需要记录:

技能名称

技能等级

技能消耗

技能类型:伤害,回复

技能目标:自身,我方位置,我方全体,对方单体,对方全体,对方位置

技能作用数量

技能伤害公式(回复)

技能加/减值公式

技能加/减值时间

技能dot公式

技能dot时间

技能描述

是否必须有耗材

技能需要材料标签

然后这里还需要一个中间记录记录,因为技能的分类是跟职业或种族挂钩的,因此需要记录:职业/种族,技能,技能类型,技能学习等级

先记录这些,回头有别的想起来再说。

物品

基本属性:

名称

说明

可镶嵌次数

镶嵌奖励

所有者

存放位置

职业限制

种族限制

装备要求

耐久度

销售价

唯一性

剩余使用次数

每次地城可使用次数

每次战斗可使用次数

效果等级

是否需要耗材

需配合耗材

装备位置

物品类型

可使用物品的技能

设计者

攻击奖励(包括属性、伤害等)

防御奖励

属性奖励(常驻奖励,临时奖励)

技能奖励

影响目标属性

影响目标攻击

影响目标防御

背包奖励/戒指奖励

对物品的分析并没有按照常见的父子对象而是使用同一对象,因为这个游戏的武器也有可能拥有耗材属性

敌人(怪物)

其实敌人完全可以看做是人物卡的子集,因为对敌人来说无非是刨除一些人物的可变更属性跟包裹

记录:名称,说明,种族,职业,属性(生命值,魔力值,实际属性等),伤害计算公式,技能(可直接关联人物技能)

基于增加趣味性个人感觉可以给属性值设置区间,然后每次生成敌人的时候进行随机获取,但是数值区间不易过大,因为本身这个游戏的数字就不是很大,不像某些游戏动不动成千上万,前期感觉有些职业血量都不上50,30多有些职业都还不上百,因此如果感觉难以驾驭的话还是用固定属性比较好?

地城

地城其实是这个游戏的重头戏,因为这个游戏不存在野外打怪之类的,经验、道具、荣誉的获取全部依靠7小时一次的地城,一个地城首先要记录:名称,描述,推荐等级,适用等级,战斗设置,开放时间。

对于开放时间目前发现的几种类型是:永久,间隔开启,制定时间开启。

然后对于地城来说,需要若干个战斗层,每一层拥有描述,房间数,敌人(类型,数量),掉落(物品,经验,荣誉),最大回合数(超过最大回合数战斗失败)。

另外游戏还有一系列特殊的地城组成的任务,这类地城通常有通关次数,以及通关成功或失败后才开启的下一个地城,之类的设置

关于一款游戏的无责任猜想相关推荐

  1. 无责任猜想#冰桶挑战#大佬们相爱相杀众生相

    看#冰桶挑战#大佬们点名的关系图谱,无意中发现很多有趣的关系啊,下面为八妹子自娱自乐无责任猜想,认真你就输了哦! 1.  微软谷歌苹果Facebook,老大哥.新小弟之间的相互厮杀 FACEBOOK的 ...

  2. 无敌破坏王2口碑爆棚,从街游到手游你最爱哪款游戏呢?

    <无敌破坏王2>11月23日中国首映,时隔6年,拉尔夫带着云妮洛普再次回到观众视野,对于95年历史的迪士尼工作室第一部续集动画电影,带来了新的冲击和感动,看完后我只想说,迪士尼真的从来不会 ...

  3. 服务器显卡不能显示器,到底有没有关系?显卡与显示器无责任搭配

    [PConline 导购]说真的,显卡与显示器的关系真不能像主板和CPU的关系那样来得直接,说混搭又不像混搭.不过也不是完全不相干,毕竟组装机强调的是均衡配置,才能发挥最大性能,鸡蛋里面挑骨头,今天我 ...

  4. 百田公司:与神策数据携手,筑就爆款游戏背后的 4 个数据砝码

    爆款游戏的背后隐藏着什么呢? 对人性的洞察和对数据的敏锐. 具备对人性的洞察,可以做出吸引力的游戏:具备对数据的敏锐,才能做出具有生命力的游戏.换言之,数据分析能够帮助游戏设计者不断还原真实的玩家游戏 ...

  5. Chillingo分享三款游戏图标的设计经验

    每个月在iTunes上发布的游戏多达6000款以上,因此,游戏图标在如此狭窄的空间里激烈地竞争着用户的注意力.时间和屏幕空间.对于全方位普及免费模式的手游产业而言,要想在万千游戏图标中脱颖而出,无疑更 ...

  6. jaVa游戏三国志英杰传,《三国志英杰传》到底是怎样的一款游戏

    原标题:<三国志英杰传>到底是怎样的一款游戏 介绍 作为PC平台上经典的战棋策略类游戏,英杰传系列可谓把这一类型游戏在战略性和资源获取上的精髓发挥的淋漓尽致.系列初代的<三国志英杰传 ...

  7. 你最喜欢哪款游戏的界面风格,为什么?

    http://www.sohu.com/a/234772516_258858 每到周末,3DM的几位编辑就会聚在一起,总结上周做了些什么,商量下周该写些什么.讨论中途就诞生了这篇「一周一会」的话题文章 ...

  8. 一款游戏让你成为 Vim 高手!

    我们都知道,Vim 是 Linux 下一种非常重要的文本编辑器,我们可以用它来看代码.改代码,很多高手直接将 Vim 打造成一款强大的 IDE 用来写代码. 但是,对于新手而言,Vim 相对于其它编辑 ...

  9. 寓教于乐!一款游戏让你成为 Vim 高手!

    ☞ 程序员进阶 ☜ 我们都知道,Vim 是 Linux 下一种非常重要的文本编辑器,我们可以用它来看代码.改代码,很多高手直接将 Vim 打造成一款强大的 IDE 用来写代码. 但是,对于新手而言,V ...

最新文章

  1. 【C语言】学习笔记3——字符串
  2. CentOS No manual entry for man 没有 xx 的手册页条目
  3. 第4章 类型基础 -- 4.1 所有类型都从System.Object派生
  4. PHP7 serialize_precision 配置不当导致 json_encode() 浮点小数溢出错误
  5. python绘制饼图双层_如何在python中绘制双变量数据的饼图?
  6. sql注入利用_SQL注入:这是什么? 原因和利用
  7. Java后端学习路线(校招前准备)
  8. 数据库基础:什么是SQL
  9. java实习鉴定书个人鉴定_大学生实习鉴定表自我鉴定范文
  10. windows10微软商店怎么重装?
  11. 【UVa 12304】2D Geometry 110 in 1! (计算几何、圆)
  12. 《高性能iOS 应用开发》之降低你 APP 的电量消耗
  13. const、*、的大乱斗
  14. 石康,你别再让我越来越厌恶了,行不行
  15. 关于三角恒等变换与正余弦定理的学习总结
  16. python三方库—pywebio
  17. 比较两篇文章的相似性方法
  18. Python编程思想【系列文章】
  19. Android 接收微信、QQ其他应用打开,第三方分享
  20. YOLOv5在无人机/遥感场景下做旋转目标检测时进行的适应性改建详解(踩坑记录)...

热门文章

  1. 大数据类工程师面试题集锦附指南:互联网公司篇!
  2. 郑州公交卡A卡可换绿城通 5个网点可办带身份证
  3. sorthern杂交_动物杂交:新视野视水果为燃料
  4. Day3 Java基础语法
  5. 澳或成第二大留学国家 留学生数量激增引发担忧
  6. 2017“南京周·纽约站”盛大开幕,火柴全景VR骑行游南京大获好评
  7. SQL联接查询  总结
  8. My97DatePicker控件用法说明
  9. Web自动化测试 —— 测试环境搭建 (Selenium+Python)及视频操作
  10. python 爬虫 - 静态