游戏开发论坛

 找回密码
 立即注册
搜索
楼主: AE_Lemo

[讨论] 单机游戏中隐藏的事物网络化

[复制链接]

11

主题

336

帖子

349

积分

中级会员

Rank: 3Rank: 3

积分
349
发表于 2007-8-28 16:03:00 | 显示全部楼层

Re: Re: Re: Re:单机游戏中隐藏的事物网络化

地球?合防??: Re: Re: Re:单机游戏中隐藏的事物网络化



貌似是一样的道理吧!?

一个是用时间做基点来进行计算;


一个是用伤害的数据为基点来计算,只...


npctimer(x);//计时x秒 x秒后timer消失
npctimer(60);
npctimer(120);//开两个npctimer   

npchpchecker(x,y,z,n);//每次npchp变化判断npc血量,如果小于x,或者大于y,或者大于z%,或者小于n%,返回真
npcskillchecker(x,y,z,n);//判断x,y,z,n如果为真,那么使用技能。。。

11

主题

336

帖子

349

积分

中级会员

Rank: 3Rank: 3

积分
349
发表于 2007-8-28 16:11:00 | 显示全部楼层

Re: Re: Re: Re:单机游戏中隐藏的事物网络化

地球?合防??: Re: Re: Re:单机游戏中隐藏的事物网络化



貌似是一样的道理吧!?

一个是用时间做基点来进行计算;


一个是用伤害的数据为基点来计算,只...



难道你想等玩家杀完怪,再统一进行一次运算?
每下伤害当然要都计算次
[em10]

9

主题

745

帖子

753

积分

高级会员

Rank: 4

积分
753
发表于 2007-8-28 17:52:00 | 显示全部楼层

Re: Re: Re: Re: Re:单机游戏中隐藏的事物网络化

辐射: Re: Re: Re: Re:单机游戏中隐藏的事物网络化



npctimer(x);//计时x秒 x秒后timer消失
npctimer(60);
npctimer(120);//开两个npctimer   

npchp...


你还真的认为就2个记数器啊!?就2个时间轴啊!?应该是每次成功攻击新开一个时间轴吧!?

以每一次成功攻击为起点,累计到10000伤害的时候,然后RELOAD时间才对吧!?

这个计算进程会有多少!?真的和你写的这个一样,这么"短小精悍"吗!?

这些进程是不断的用封包的形式在客户端和服务器端来回CHECK传输,这个封包的压力多大?你有压力测验吗?

要是有单位时间20000伤害情况下,开启特殊变身模式,那么还要在不改变这些计数器的情况下,再开一个以每次成功攻击为起点,界点为20000的计数器......

11

主题

336

帖子

349

积分

中级会员

Rank: 3Rank: 3

积分
349
发表于 2007-8-28 18:00:00 | 显示全部楼层

Re: Re: Re: Re: Re: Re:单机游戏中隐藏的事物网络化

地球?合防??: Re: Re: Re: Re: Re:单机游戏中隐藏的事物网络化



你还真的认为就2个记数器啊!?就2个时间轴啊!?应该是每次成功攻击新开一个时间轴吧!?

以每一...



为什么要每次都新开一个。。。  

开一个记着时间 60秒后结束掉 bo=0 在60秒中是 bo=1

然后看伤害累加1万时候判断一次,看看那个计时器是0还是1。就可以了。。


[em7]

2

主题

387

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
发表于 2007-8-28 21:25:00 | 显示全部楼层

Re: Re:单机游戏中隐藏的事物网络化

地球?合防??: Re:单机游戏中隐藏的事物网络化

既然你这么算了,5000个物品ID,每次进FB的时候有变更,但是这个列表取值不开放,那就是说在进FB...


我胡说派?你也不看看下面人回的帖子,真的达不到吗?你说达不到就达不到了啊?
我只说那样的一个结果,你不知道做不出就再换个啊,奇怪了。
还有,你那样的算法也真奇怪,你怎么想到的?为什么不能在开始就开始计算直到60秒就结束呢,是多少就多少,真搞不懂你怎么搞的,逻辑混乱了啊?那么多人看明白了,就你不明白。
再个,1/5000的几率是你说的,我又没说,你不知道调整他的变化范围啊,这是可以控制的好吧,你不知道就对1000个物品进行设置啊,觉得几率低就500,100啊。还5000个物品ID,又你说的

还说你不是牢骚派,你也想个有意思的东西出来看看,别光说别人怎么怎么样
这样的东西一个游戏内,做上1,2个,大的更新的时候也可以再做1,2个,不会那么占时间吧,但有一些隐藏要素,至少会使这个游戏变的精致,而且也具探索性,没准什么时候就一个意外了,会有这样一个心情在吧。


楼下有个人讲了,这是意外的触发事件,恩,或者隐藏触发事件,随便怎么样都好拉,有点意思就行拉,
那么这样呢,一个任务做下去,中间根据一些变化有不同的结局,这个应该有一些游戏做过了吧,但是其中有一些结局是很难被触发的,需要特定的条件,而且还有好几种,那么这种任务,这样的任务出不了攻略,只能写过程体会,写出来也有好几种,那个会造成结局改变的因素就是个迷   每个玩家去玩,都不知道最后自己会有怎么样的结局

还可以设置一些很难到达的地点啊,这个是用的很多了的吧,就不说了,只是看如何个难到达而已,需要怎么样的一个方法,这个就一定有攻略的了

11

主题

287

帖子

287

积分

中级会员

Rank: 3Rank: 3

积分
287
发表于 2007-8-29 05:04:00 | 显示全部楼层

Re:单机游戏中隐藏的事物网络化

我觉得楼主的意思没你们引申得那么复杂吧。

9

主题

745

帖子

753

积分

高级会员

Rank: 4

积分
753
发表于 2007-8-29 12:04:00 | 显示全部楼层

Re:单机游戏中隐藏的事物网络化

就这个问题,我咨询了我以前的同事,他目前在国内知名游戏开发公司就任制作人,程序出身:

地球联合防卫军 说:
1定义副本BOSS有死亡后变身的设计;
2死亡后变身,是有条件触发的;
3条件是,只要过程中累计在60秒内,伤害达到10000,该BOSS死亡时候,将会触发复活变身;

请问是否能够实现这个设计?如果能实现,代码应该怎么写?
这个设计难度有多大?
这个设计会不会造成数据封包上的麻烦?

我想的是,每一次攻击成功,就开一个计数器,计算由这次进攻开始,到伤害10000花费的时间,因为我想到,如果我从第一次进攻,到第十次进攻,花费60秒,只造成5000伤害,但是谁也不能保证我从第8次开始算起的话,到第18次结束,正好60秒内完成伤害10000的条件,计算是有交集的,所以我想应该是每次伤害都新开个计数器;

一边计算,一边释放数据......这样思考对不对?或者有没有简便省事的设计?

地球联合防卫军 说:
因为我用这个想法,所以我觉得这个设计在OL游戏中不可行,会造成数据封包太大,增加服务器负担.
--------------------------------------------
有人给出了这样一段代码:

npctimer ;//计时x秒 x秒后timer消失
npctimer(60);
npctimer(120);//开两个npctimer   

npchpchecker(x,y,z,n);//每次npchp变化判断npc血量,如果小于x,或者大于y,或者大于z%,或者小于n%,返回真
npcskillchecker(x,y,z,n);//判断x,y,z,n如果为真,触发

这样真的可以吗?

Hunter 珍惜 说:
==
Hunter 珍惜 说:
我认为不用计数器,需要记录每次伤害的发生时间,和伤害数字,每次伤害发生以后,已这次为起点,计算出总哪次伤害到现在的伤害累计达到 10000 再计算时间跨度是否是60秒内。

地球联合防卫军 说:
那这样的结果,其实还是分出N个进程去测算,而计算进程的N=攻击次数,不是吗?

Hunter 珍惜 说:
进程只有一个,进程的计算次数为 N = 攻击次数

Hunter 珍惜 说:
前一种方案 的checker也要执行多次

地球联合防卫军 说:
那对方给出的代码,能够达到准确的判断吗!?
能够正确,准确触发变身的结果吗!?

Hunter 珍惜 说:
不能

Hunter 珍惜 说:
因为不能只计算60秒以内的数据

地球联合防卫军 说:
也就是说,我的设计方向是正确的?那么按照我的设计方向,是不是会造成大量的CHECKER,导致数据封包过大,在OL游戏上不能实现?

Hunter 珍惜 说:
数据封包不会有变化 会增加checker

地球联合防卫军 说:
直接点说,游戏表现上,会不会LAG?

Hunter 珍惜 说:
会增加服务器计算量,不会改变网络负担。

地球联合防卫军 说:
就是说,玩家感受上不会有影响!?

Hunter 珍惜 说:
可每一个游戏功能都会增加服务器计算量
这可不好说
无意义的累加服务器负担总不是好事情

地球联合防卫军 说:
明白了...谢谢

----------我是分割线-------------

我又就这个问题请教了公司的程序员:
回答如下:

不用每次开个计时器吧,直接开个60秒的空间,存储最近60秒的攻击状态就可以了。
起先这个空间是从空到填充的状态,例如填充了abcde ,满了以后,就象队列那样,新加一个就抛掉一个最远的。新加一个f的时候要抛掉一个a,以此类推。

[我再次把这个想法和老同事询问,回答如下]

Hunter 珍惜 说:
是这样, 记录攻击的空间可以和其他也需要的游戏功能共用。
地球联合防卫军 说:
这样的话,是不是还是一样的结果,CHECKER数量庞大?
地球联合防卫军 说:
对服务器造成负担?
Hunter 珍惜 说:
是的

---为了保证观点公正,我又请教以前公司另外一个程序主管,他目前在台湾某开发公司任职制作人---

小??@Taipei : UriSland New Challenge !!!.....Always remember the anniversary of the day first time we together. 说:
你的60秒? 累?...... 等於是??r算60秒耶.....

小??@Taipei : UriSland New Challenge !!!.....Always remember the anniversary of the day first time we together. 说:
那只有在client端?算 才是最?合的...但是 怕外?炱平?.......

小??@Taipei : UriSland New Challenge !!!.....Always remember the anniversary of the day first time we together. 说:
恩~~ 否?t增加服?掌饔?算及封包?z查  不太?合

小??@Taipei : UriSland New Challenge !!!.....Always remember the anniversary of the day first time we together. 说:
不?真要做的? 也有可能  就是技?上??щy一?........... 而且效率不知道  要?y?


[我最后的结论:]
这个设计,其实不论使用任何方式去计算,CHECKER的次数=攻击次数,而且因为游戏中的不同状况,连击,DOT等等各种方式都有,这个次数也许会很多很多......
因为任何功能都会给服务器造成负担,但是我们需要平衡产生负担的代价是否值得.

谢谢辐射君给我提供了个新的思考方向.程序方面我确实不是什么高手.

对于某人的评论...你还是放出点真正有营养的东西来吧,不要贻笑大方.

18

主题

493

帖子

494

积分

中级会员

Rank: 3Rank: 3

积分
494
 楼主| 发表于 2007-8-29 12:18:00 | 显示全部楼层

Re:单机游戏中隐藏的事物网络化

补上来...

无论是变身,还是别的什么都只是形式
吸引玩家的形式,如果这样做程序为难
我们可以试者尝试另一种方式

单纯的研究变身的问题,似乎已经没多大意义了

19

主题

820

帖子

894

积分

高级会员

Rank: 4

积分
894
发表于 2007-8-29 14:00:00 | 显示全部楼层

Re:单机游戏中隐藏的事物网络化

把“隐藏”这个有趣的概念理解到这么狭隘的地步,算你们狠。

认为online做不出来或者做出来产收不均的,应该去好好补补game了。

16

主题

821

帖子

840

积分

高级会员

Rank: 4

积分
840
发表于 2007-8-29 14:25:00 | 显示全部楼层

Re: Re:单机游戏中隐藏的事物网络化

AE_Lemo: Re:单机游戏中隐藏的事物网络化

这种隐藏关卡通过后

应该得到一些有价值的奖励

因为设定每种关卡一个ID只能进行一次!

好,你给我钱,我给你制作规模宏大如史诗般的副本,且绝对不考虑重复利用性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-18 13:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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