Я читаю книгу о разработке игр ( Game Coding Complete, четвертое издание ), и есть тема «Актеры», в которой просто объясняется, как их использовать кратко, вместо того, чтобы объяснять, что это такое.
Вот как книга представляет этих актеров:
Игры полны объектов, которые оживляют ваш мир. Игра Второй мировой войны может быть полна танков и самолетов, а в футуристической научно-фантастической игре могут быть роботы и космические корабли. Подобно актерам на сцене, эти объекты лежат в основе игрового процесса. Кажется уместным, что мы называем их «игровыми актерами», потому что это именно то, что они есть.
Игровой актер - это объект, представляющий единую сущность в вашем игровом мире. Это может быть пикап с боеприпасами, танк, кушетка, неигровой персонаж или что-нибудь еще, о чем вы только можете подумать. В некоторых случаях сам мир может быть даже актером. Важно определить параметры игровых актеров и обеспечить их максимальную гибкость и возможность повторного использования.
Существует так много способов определения игрового актера, как и игр. Как и все остальное в компьютерном программировании, редко бывает идеальное решение.
Я мог понять только несколько вещей: это абстракция всего в игре, которая может выполнять действия; у него свое государство; это поведение обычно реализуется как конечный автомат. Это оно. Я прихожу с опытом системного программирования в разработку игр, и поэтому мне хотелось бы узнать в целом, что означает актер в разработке игр, как его использовать, как он используется в целом, какую проблему он решает, как и Почему. Я хотел бы, чтобы объяснение было таким, чтобы ребенок мог понять.
Я пытался найти эту информацию в Google, но вместо этого она направляет меня к другим «актерам»: параллельное программирование большую часть времени или игровые актеры, но без хорошего объяснения.
источник
actor
но я не доволен этим: он не приносит никаких исторических или практических причин изобретения актеров и какой проблемы он решает, есть просто объяснить , что это может быть.Actor
на самом деле класс. docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…Ответы:
Как вы упомянули, актер может быть буквально чем угодно; деревья, неигровые персонажи, здания и т. д. Аналогичный термин "сущность". Это не должно иметь поведение в традиционном смысле, оно может быть статичным.
Это просто способ сказать «объект в игре».
источник
term
похоже наentity
, хорошо. Я думал, что это также означает нечто большее, думал, что это большая абстракция, чем просто синоним. Не могли бы вы также сказать, что должно быть актером, а что нет? Что я должен использовать, чтобы выбрать это?Actor
на самом деле класс в Unreal Engine. Ну, в любом случае это было в версии 2. Так что это может быть не просто термин в зависимости от того, какой движок вы используете.Насколько я понимаю, этот термин является побочным эффектом найма авторов для создания историй для игр. Поскольку они обычно приходят из театра или с экрана, они привыкли к условиям
Actor
иProp
.Actors
быть вещами, которые движутся и играют реальную роль в игре, иProps
такими вещами, как деревья, здания и т. д.С первых дней написания кода в колледже, до того, как нам разрешили использовать такой движок, как Unity, нам приходилось кодировать наш собственный движок.
Actor
был абстрактный базовый класс, который имел преобразование, пустые функции жизненного цикла и функцию,Act()
которая была нашей версией UnityUpdate()
.Наш основной игровой цикл в основном следовал:
Большинство движков используют концепцию Entity, поэтому из вашего чтения просто переводите,
Actor
какEntity
в своей голове, и все будет в порядке.источник
{{citation needed}}
Термин «актер» достаточно универсален, чтобы его можно было использовать в разработке программного обеспечения задолго до того, как люди даже подумали о найме авторов для игр (также он использовался в UML и т. Д., Вещи, которые были использованы для развития бизнеса). Словарь (MW) говорит этоDefinition of actor: 1 : one that acts : doer
:; Я не вижу здесь никакой театральной связи.