游戏开发中的演员是什么?


15

我正在阅读一本有关游戏开发的书(《游戏编码完整》,第四版),其中有一个“演员”主题,该主题只是简要介绍了如何使用它们,而不是解释它是什么。

这本书介绍了这些角色:

游戏充满了使您的世界栩栩如生的对象。第二次世界大战的游戏可能装满了坦克和飞机,而未来派的科幻游戏可能有机器人和飞船。就像舞台上的演员一样,这些对象是游戏玩法的核心。我们称他们为“游戏演员”似乎很恰当,因为那正是他们的身份。

游戏角色是代表游戏世界中单个实体的对象。它可能是弹药拾取器,坦克,沙发,NPC或您能想到的任何东西。在某些情况下,世界本身甚至可能是演员。定义游戏角色的参数并确保它们尽可能灵活和可重用非常重要。

定义游戏角色的方法与游戏一样多。像计算机编程中的其他所有内容一样,很少有完美的解决方案。

我只能了解很少的几件事:它是游戏中可以执行动作的所有事物的抽象;它有自己的状态;它的行为通常被实现为状态机。就是这个。我将以游戏开发的系统编程为背景,因此我想大致了解一下参与者在游戏开发中的意义,如何使用,如何使用,解决了什么问题,如何以及为什么。我希望孩子能理解这种解释。

我试图在Google上找到此信息,但它却将我引向另一个“演员”:大多数时间或游戏演员的并发编程,但没有很好的解释。


@Philipp我已经添加了这本书。尽管对此有一些非常简短的解释,actor但我不满意:它并没有带来任何历史或实践上的发明演员的原因以及它解决了什么问题,只是在解释它可以是什么。
维克托·波莱沃

1
在虚幻引擎中,an Actor实际上是一个类。docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…–
Almo

2
我相信大多数引擎都将其称为“实体”或“游戏对象”。在这种情况下,我从未听说过“演员”。
user253751 '17

7
您所引用的块状文本将很好地回答“演员是什么”的问题。
罗素·博罗戈夫

为了使事情更加混乱,在Actor模型中也有actor ,这显然是不同的。
Brian McCutchon

Answers:


40

正如您所提到的,演员实际上可以是任何事物。树木,NPC,建筑物等。类似的术语是“实体”。它不需要具有传统意义上的行为,它可以是静态的。

这只是说“游戏中的物体”的一种方式。


2
所以这term类似于entity,好吧。我认为它还具有更多含义,认为它比同义词更重要。您还可以说出演员应该做什么,什么不可以吗?选择该怎么办?
维克托·波勒沃

Actor实际上是虚幻引擎中的一类。好吧,无论如何,它早在版本2中就已存在。因此,这可能不仅仅是一个术语,具体取决于您所使用的引擎。
Almo

1
听起来游戏中的所有东西都是演员,这会使该词失去作用。我会说所有可以改变游戏状态的东西都是演员。如果一棵树仅是背景图像,那么它就不是演员,但是如果您可以将其砍掉并获得资源,那么它就是演员。另一方面,菜单会执行某些操作,但我不会将其归类为演员,它们不属于游戏世界(例如,在“升级完成”的Flash游戏中,菜单实际上是游戏世界的一部分)。
同义词

@syntonym问题中带引号的文本的第二段指出,任何事物都可以是演员,甚至是沙发。而且,并非所有事物都是演员,例如,粒子不是。
巴林特

@Bálint有趣,我也认为粒子也是演员。他们必须在更新上打勾,他们必须在思考(物理学),他们有一个状态。是不是?
维克托·波勒沃

13

据我了解,该术语是聘请作家制作游戏故事的副作用。由于它们通常来自剧院或银幕,因此它们习惯于术语ActorPropActors是在游戏中移动并发挥真正作用的Props事物,并且是树木,建筑物等事物。

从我上大学的早期代码开始,在被允许使用Unity之类的引擎之前,我们必须先编写自己的引擎。Actor是一个抽象基类,它具有一个转换,空生命周期函数以及一个称为Act()Unity的版本的函数Update()

我们的主要游戏循环基本上遵循:

for(Actor actor in actors)
{ 
   actor.Act(); 
}

大多数引擎都使用Entity概念,因此从您的阅读来看,就像在脑海中翻译Actor一样Entity,您会感觉很好。


+1我喜欢它说明了一个事实,即您需要一个基类名称。
Vaillancourt

2
据我了解,该术语是雇用作家制作游戏故事的副作用。由于它们通常来自剧院或银幕,因此它们习惯于 {{citation needed}} “演员” 和“道具 ”一词。“演员”一词的通用性足以在软件设计中使用,甚至早在人们甚至考虑聘请游戏作家的时候(在UML等,用于业务开发的东西)。字典(MW)这样说:Definition of actor: 1 : one that acts : doer; 我在这里看不到任何戏剧联系。

公平地说,我的理解是我说的。您可能是对的,但在这种情况下人们至少习惯了演员和道具的观念,这为问问者提供了有用的解释。
斯蒂芬

我也想说,“演员”这个词不是来自雇用作家,而是可能来自游戏开发者对追逐好莱坞的早期渴望。:)
dash-tom-bang
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.