游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 卡特铁角

[讨论] 我的RPG经验值公式设计方法

[复制链接]

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-21 12:17:00 | 显示全部楼层

Re: Re: "开战第一贴"

喵呜: Re: "开战第一贴"


修改器哦~~~~~~~~~~~~~可以忽略~~~~~~~~~即使在实际设计中~~~~~~~~~~~~~~~玩家因为自行修改允许范围外的内...

理他做甚?此人就一不学无术还爱显摆的小白。
明明自己什么都不懂,还老爱装做一付“大师”的模样来评论别人或者提一些根本不就靠谱的问题,以此显示他的“高超”。

以前我发了个贴,用一小段伪代码提出我对AI设计的一个想法,此人就出现了。先是装B——也只是略知一二的我本不想戳穿他,于是向他暗示我知道他的斤两——但此人似乎没看懂我的暗示,继续装B——迫不得已戳穿之。没想到的是此竖子居然用短消息来骂我——发了3条,之后又发一条表示道歉(=。=)……最近又戳了他一次,他居然还是同样反应——发了4条短消息,前3条骂,最后一条道歉……哈哈

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-21 12:25:00 | 显示全部楼层

Re: Re:我的RPG经验值公式设计方法

zfscnu: Re:我的RPG经验值公式设计方法

……

那么在查询的时候,用类似select from 经验表 where 等级=xx,只返回一个数据,这样消耗的内存 和(表达式)消耗的内存相比,应该不会相差到用k做单位把

不清楚数据库的具体算法,但查询数据库的某个表时,可以肯定的是会把存于硬盘上的这个表全部或部分(分段)读至内存再进行select操作。这样,当表比较大时就可能造成内存消耗上的较大差异。而使用表达式,只需要即时计算就可以了,内存中只保存有关此表达式的数条指令,这是以消耗时间为代价的。

0

主题

146

帖子

150

积分

注册会员

Rank: 2

积分
150
发表于 2006-10-21 12:26:00 | 显示全部楼层

Re:我的RPG经验值公式设计方法

to zfscnu:
这种少量数据(若干字节或若干k)可以作为数组直接搁到内存了。要是这些都用数据库,效率可能低得可怕。

13

主题

184

帖子

188

积分

注册会员

Rank: 2

积分
188
发表于 2006-10-21 13:39:00 | 显示全部楼层

Re: 我的RPG经验值公式设计方法

喵呜,我想请教一下哦,你给的公式基本各方面都考虑到了,但是它是一条直线啊,一般的设计上,都是用先缓后急的曲线吧~当然,我说这个意思并不是我认为非要曲线~我可没有曲线 迷信哦、`只是觉得要满足先缓后急

哦,对了,你的C是一个常量还是?如果不是常数,那是我理解错了~刚想了下觉得你的应该是个变量吧~

LZ对游戏的一些理解对新人来说应该很不错了吧~是不是LZ应聘的职位要求很高`~呵呵,LZ不妨放低下要求哦,比如别人招聘数值主策划,肯定不会要新人的~只要入行以后你一定会获得更大的发展的

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-21 15:33:00 | 显示全部楼层

Re: Re: 我的RPG经验值公式设计方法

水寒三尺: Re: 我的RPG经验值公式设计方法

喵呜,我想请教一下哦,你给的公式基本各方面都考虑到了,但是它是一条直线啊,一般的设计上,都是用先缓后...

我要求不高啊,执行策划、TESTER都可以的。

你应该仔细看看喵呜给的公式——时间关于等级的函数的确是先缓后急的2次曲线。

49

主题

1388

帖子

1432

积分

金牌会员

Rank: 6Rank: 6

积分
1432
发表于 2006-10-21 17:41:00 | 显示全部楼层

Re: Re: Re:我的RPG经验值公式设计方法

卡特铁角: Re: Re:我的RPG经验值公式设计方法

不清楚数据库的具体算法,但查询数据库的某个表时,可以肯定的是会把存于硬盘上的这个表全部或部分(分段)读至内存再进行select操作。这样,当表比较大时就可能造成内存消耗上的较大差异。而使用表达式,只需要即时计算就可以了,内存中只保存有关此表达式的数条指令,这是以消耗时间为代价的


我对数据库的具体算法也不太清楚,不过我猜它的实现不太可能使用“读表到内存“的形式,这样会增加很多无谓的操作,比如打开表,关闭表这两个操作就对查找来说没有任何贡献。

我估计算法应该是把数据以某种特殊的数据结构存放到硬盘,select命令把需要查找的数据变化成2进制代码,“使用汇编代码”直接在硬盘查找,使用c语言之类编程是以效率换直观,而使用汇编则是最高效率,当然也是最烦琐的一个编程语言。

内存一般不会容许放一些很久都不使用的数据,比如升级来说,度过初期,要隔多久才会使用一次呢?对于网络游戏来说,必然是和数据库建立了联接,到时需要才调用一次查询,效率也不会影响到很严重把 [em10]

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-21 17:55:00 | 显示全部楼层

Re: Re: Re: Re:我的RPG经验值公式设计方法

zfscnu: Re: Re: Re:我的RPG经验值公式设计方法



我对数据库的具体算法也不太清楚,不过我猜它的实现不太可能使用“读表到内存“的形式,这样会增加很多...

跑题了~~~
这个问题我也不十分清楚,就我所知的说下吧。
硬盘是个需要靠机械装置驱动的低速设备,直接在硬盘上逐个甄别查找数据的效率非常低——而且对于IBM-PC来说,CPU寄存器与硬盘速度差异太大,CPU所处理的一切信息都会经过内存或缓存,否则硬盘的低速会迫使CPU停下来等待。所以通常会采取按块读取的方式——从硬盘上一次性的取一块数据放到内存中进行查询操作。

49

主题

1388

帖子

1432

积分

金牌会员

Rank: 6Rank: 6

积分
1432
发表于 2006-10-21 21:53:00 | 显示全部楼层

Re: Re: Re: Re: Re:我的RPG经验值公式设计方法

卡特铁角: Re: Re: Re: Re:我的RPG经验值公式设计方法


跑题了~~~
这个问题我也不十分清楚,就我所知的说下吧。
硬盘是个需要靠机械装置驱动的低速设备,直接在...

好象是跑题了~~~^_^

[em10]~~太久没接触数据库,忘的差不多了,具体怎么样不太清楚,大概是这样:
“索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。
索引占用磁盘空间,并且降低添加、删除和更新行的速度。”

再深入,我也不清楚了,具体问下数据库程序员把 [em10]

433

主题

4233

帖子

4403

积分

论坛元老

Rank: 8Rank: 8

积分
4403
发表于 2006-10-21 22:30:00 | 显示全部楼层

Re:我的RPG经验值公式设计方法

呵呵。

一般基础经验数值都是写死在 excel表格里读取的。没有公式

公式计算是建立在策划角度的。但给程序是一个死的东西(普遍如此)


至于经验公式,这个 看你怎么需求。没有一个固定的。但分析是有一个基础。经验公式普遍用指数函数或多项式 组合建立。(记得数值版区讨论过这个事,有人建议用 A+B嵌套公式组合控制,感觉这个比较适合一些)

公式设计最关键是根据公式产生的曲线分析曲线,通过逐步调整寻找接近自己最需求的部分(不一定完善)

1

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
发表于 2006-10-22 10:49:00 | 显示全部楼层

Re: Re: Re:我的RPG经验值公式设计方法

卡特铁角: Re: Re:我的RPG经验值公式设计方法


不清楚数据库的具体算法,但查询数据库的某个表时,可以肯定的是会把存于硬盘上的这个表全部或部分(分段...

这些你不用知道啦~~~~~~到时候只要去问下程序~~~~~你的设计在程序实现和效率上会有什么问题~~~~~~~就可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-4 18:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表