标题: 问个技术上的问题。(回答有HB)
joyjoandy
老兵
Rank: 9Rank: 9



UID 6645
精华 0
积分 152
帖子 10
威望 0
现金 2494 银币
金币 0 金币
阅读权限 30
注册 2006-12-3
状态 离线
发表于 2007-5-20 16:10  资料  个人空间  短消息 

问个技术上的问题。(回答有HB)


玩TRAVIAN的时候总在想,他是如何让资源每时每刻都在增长呢,是用的数据库?
如果是用数据库来计算的话,计算量也太大了吧。

问的有点不清晰,不是AJAX调用方面,而是资源如何根据增长量实时计算出总量的。

[ 本帖最后由 今夜没得疯 于 2007-5-20 16:12 编辑 ]

顶部
alp
游戏官方特派
Rank: 68Rank: 68Rank: 68Rank: 68Rank: 68



UID 18496
精华 0
积分 13994
帖子 2053
威望 0
现金 29275 银币
金币 1 金币
阅读权限 100
注册 2007-3-25
状态 离线
发表于 2007-5-20 16:20  资料  个人空间  短消息  QQ

没有必要随时间不停的更新数据库中资源的数值,只要在消耗事件发生后更新就可以了。假如数据库中记录的A时刻的资源是100,B时刻的资源就是(B-A)*资源增长系数+100,当发生资源的消耗事件,A时刻更新为B。这是我的处理方式,不知道TRAVIAN中是怎么样的。


本帖最近评分记录
今夜没得疯   2007-5-20 16:28  现金  +100   HB
顶部
[广告] 玩游戏已经不算什么啦,来自己做游戏喽!你来他来我也来!
saintbird
准骑士
Rank: 18Rank: 18Rank: 18Rank: 18


UID 24029
精华 0
积分 370
帖子 20
威望 0
现金 2630 银币
金币 0 金币
阅读权限 40
注册 2007-5-1
状态 离线
发表于 2007-5-21 01:12  资料  个人空间  短消息  添加 saintbird 为MSN好友 通过MSN和 saintbird 交谈



QUOTE:
原帖由 alp 于 2007-5-20 16:20 发表
没有必要随时间不停的更新数据库中资源的数值,只要在消耗事件发生后更新就可以了。假如数据库中记录的A时刻的资源是100,B时刻的资源就是(B-A)*资源增长系数+100,当发生资源的消耗事件,A时刻更新为B。这是我 ...

更新数据库的时候确实可以使用这种方式,但在页面上Travian的资源是随时间不断更新的。一开始想到的是直接在客户端进行处理,然后有事件发生时再与服务器进行交互,但这样很难保证数据的可靠性和一致性,根本行不通,应该是结合了ajax技术和服务器缓存技术进行处理的。


本帖最近评分记录
今夜没得疯   2007-5-21 09:45  现金  +10   HB




Flash+Javascript+.NET+SQL Server
cn技术乐园---www.cndevelop.net
顶部
能量点击
老兵
Rank: 9Rank: 9



UID 35981
精华 0
积分 212
帖子 43
威望 0
现金 2578 银币
金币 0 金币
阅读权限 30
注册 2007-7-10
状态 离线
发表于 2007-7-13 02:22  资料  个人空间  短消息 

和LZ一起问这个问题,前面的贴看了,有收获,期待懂得更多的人进一步指点

顶部
[广告] 绿豆蛙四格漫画填字活动
andyllr
骑士
Rank: 24Rank: 24Rank: 24


UID 4116
精华 0
积分 2636
帖子 109
威望 0
现金 3927 银币
金币 0 金币
阅读权限 50
注册 2006-11-1
状态 离线
发表于 2007-7-18 09:20  资料  个人空间  短消息 



QUOTE:
原帖由 saintbird 于 2007-5-21 01:12 发表

更新数据库的时候确实可以使用这种方式,但在页面上Travian的资源是随时间不断更新的。一开始想到的是直接在客户端进行处理,然后有事件发生时再与服务器进行交互,但这样很难保证数据的可靠性和一致性,根本 ...

同意saintbird 的解释,如果不周期性和库同步的话,这叫双运算,很容易出现数据不统一的情况。

通常象这种页面是要可以通过两种情况触发的(两者都要有):

1。当页面产生任何事件,如用户跳转页面,或提交数据,刷一下AJAX,在后台和DAO同步一下
2。做一个定时触发器,设订好300秒左右刷一次。

这样做的主要考虑到数据的即时性上提高用户的感受。

顶部
[广告] 玩游戏已经不算什么啦,来自己做游戏喽!你来他来我也来!
 



当前时区 GMT+8, 现在时间是 2008-11-23 05:39
沪ICP备06036464号

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 Licensed  © 2001-2007 Comsenz Inc.
Processed in 0.018755 second(s), 12 queries , Gzip enabled

清除 Cookies - 联系我们 - Chinese Webgame BBS 中国网页游戏论坛 - Archiver - WAP