游戏开发论坛

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

[讨论] 问下有没有战斗的各个角色同时做行为决策的?

[复制链接]

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
QQ
发表于 2008-4-10 21:40:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

看的越多越糊涂,好多专业名词……

我觉得楼主说的和现行的回合制并没什么大的区别,只是变成了半即时制罢了。同步命令和现今的回合制一样没什么好讨论的。而你所说的同步结果本质上无非是即时游戏的一种演化,差别仅仅在于,即时游戏中是由人作出决策并即时作出反应,而服务器只负责计算该反应产生的效果;同步结果的回合游戏则是将做出反应的主体换成了服务器,人只负责决策。

这样的游戏做出来并不是很困难,但是做出来了,却未必是你真正想玩的。就好像射击游戏一样(不是指FPS那种,我是指像“雷电”这种射击游戏),其实关键在于确定同步显示结果参考哪个为主体来进行计算,射击游戏的参考主体是玩家控制的飞机,而在回合游戏里仍然是参考各角色做出动作的速度。

为了说明,我先引入几个概念。

行动速度是说角色将其动作表现出来的速度,行动速度越高,其动作越先表现出来。通常而言,行动速度受角色的速度影响,此外还受到做要表现的动作的影响。比如移动对行动速度的影响为0,攻击的影响为-1,弓箭的影响为-2,技能的影响为-3等。

行动状态:标明玩家的当前行动是否可以结束的一个标记。

关联角色:比如A要攻击B,则A就是B的关联角色,因此每次处理B的时候都会对A处理一下。比如B的移动轨迹改变了,则A会计算新的轨迹和新的行动时间。

行动序列:为了方便处理,将单个动作分开计算,比如普攻,拆成移动、攻击两个阶段,释放技能拆成准备、释放阶段。因此将移动、攻击编为一个序列,然后按照序列中的顺序进行处理。

举例来说:10个角色,每方各五个。命令时间结束,服务器接到玩家下的命令,开始处理结果。首先计算所有玩家的行动速度和行动状态。然后选取其中行动速度最高的角色,让他先行动。然后其他人依次行动,行动的时候会对自身的关联角色进行一次处理。为了节省资源和避免可能出现死循环的BUG(比如A行动了,但是A关联B,所以处理B,但B有关联A,于是再次处理A……)可以设定每秒处理一次,每回合只对同一目标处理一次。当角色的行动满足结束的标准后,便会开始行动序列中的下一行动,并计算其行动速度,以及又上一步造成的结果。

服务器将这些处理完了之后,会将处理的过程和最终结果一次发给客户端。然后客户端按照过程播放动画。为了使画面更流畅自然可以在编写个程序在客户端对玩家移动的轨迹和动作的连贯表现进行优化处理。

断断续续想了将近两个小时也只能想到这样了……哎……

4

主题

51

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2008-4-10 22:40:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

其实关键在于确定同步显示结果参考哪个为主体来进行计算,射击游戏的参考主体是玩家控制的飞机,而在回合游戏里仍然是参考各角色做出动作的速度。

我认为这恰恰是最该放弃的
我最关心的首要问题是,假定所有玩家的速度是一样的情况下,怎样表现出玩家的出手或进攻先后顺序的差异
想象中应该可以依靠玩家的意愿自行决定,简单的说就是玩家相互约定谁先出手,谁后出手,最终有服务处理完毕
将处理的过程和最终结果一次发给客户端

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2008-4-10 22:47:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

要断电了来不及细看,我觉得如果仍然存在“先攻判定”这种机制,那么就仍然有大量的行为是按照一定的次序先后执行的,而这与我所想的同时执行是有本质差别的。如果我们知道两个行为谁先谁后,那么结果判定就是现在比较典型的种种做法,但是如果我们把这两个行为看作真正意义上的同时发生的呢?当然不同行为所需要的阶段和各个阶段的时间会有所不同,但是如果有两个阶段是同时开始的,那么这时的结果判定规则就比较特别了。

8

主题

267

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
发表于 2008-4-11 09:20:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

LZ说的这种,单机有很多,网络的至今还没看到,嗯,可能是我见识少了.

4

主题

51

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2008-4-11 09:21:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

单机有哪些,说来我见识一下

4

主题

69

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2008-4-11 12:06:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

DDO龙与地下城好象能满足楼主的要求,基本上每个单位在先攻判定后是以3秒为一个回合单位进行行动间隔,或者说,每个单位所进行的任何决策转化为结果都是有延时的,几乎同时决策但因为DND规则导致不同行动所造成的延时时间不等。
楼主看看DND玩家手册关于战斗,动作,施法部分的说明也许会有一些想法。那很象楼主说的底层的,颗粒的,可变的。

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2008-4-11 13:41:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

DND里,两个人同时砍对方一下和两个人先后砍对方一下的结果有什么区别吗?(假设互相的攻击都没有致死)

8

主题

267

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
发表于 2008-4-11 16:56:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

比如太阁四的战斗系统

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
发表于 2008-4-11 17:24:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

LSSSSSSSS...的不是有人说过吗,《三国志6》,
决策是一个回合一个回合的,
做了决策后,回合开始运行,就当是6秒吧。
6秒后再次进入决策阶段。

《三国志9》,《信长之野望--天下创世,革新》也可以算吧。
进行决策的时候,暂停,决策完毕,开始即时演算。
如果你10秒进行一次决策,就等于10秒一个回合。
这些游戏的战斗方式难道不是楼主想要的吗?

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2008-4-11 17:27:00 | 显示全部楼层

Re:问下有没有战斗的各个角色同时做行为决策的?

也许我的标题写的不对……因为出了同时决策外,还有一点是同时行动。另外似乎大家举的例子都是单机游戏,不知道在网络游戏里有没有先例?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-10 03:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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