Estoy leyendo un libro sobre desarrollo de juegos ( Game Coding Complete, Cuarta edición ) y hay un tema de "Actores" que simplemente explica cómo usarlos brevemente en lugar de explicar qué es.
Así es como el libro presenta a estos actores:
Los juegos están llenos de objetos que dan vida a tu mundo. Un juego de la Segunda Guerra Mundial podría estar lleno de tanques y aviones, mientras que un juego futurista de ciencia ficción podría tener robots y naves espaciales. Al igual que los actores en un escenario, estos objetos están en el corazón del juego. Parece apropiado que los llamemos "actores del juego" porque eso es exactamente lo que son.
Un actor de juegos es un objeto que representa una sola entidad en tu mundo de juego. Puede ser una munición, un tanque, un sofá, un NPC o cualquier cosa que se te ocurra. En algunos casos, el mundo mismo podría ser incluso un actor. Es importante definir los parámetros de los actores del juego y garantizar que sean lo más flexibles y reutilizables posible.
Hay tantas formas de definir un actor de juego como juegos. Como todo lo demás en programación de computadoras, rara vez hay una solución perfecta.
Solo pude entender algunas cosas: es una abstracción de todo en el juego que puede realizar acciones; tiene su propio estado; Su comportamiento generalmente se implementa como una máquina de estado. Eso es todo. Vengo con antecedentes de programación de sistemas para el desarrollo del juego, por lo que me gustaría saber en general, qué significa el actor en el desarrollo del juego, cómo usarlo, cómo se usa en general, qué problema resuelve, cómo y por qué. Me gustaría que la explicación sea tal que un niño pueda entender.
He tratado de encontrar esta información en Google, pero en cambio me dirige a otros "actores": la programación concurrente la mayor parte del tiempo o los actores del juego, pero sin una buena explicación.
fuente
actor
, pero no estoy satisfecho con él: no trae ningún razones históricas o prácticas para la invención de los actores y qué problema soluciona, se acaba de explicar lo que puede ser.Actor
es en realidad una clase. docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…Respuestas:
Como mencionaste, un actor puede ser literalmente cualquier cosa; árboles, NPC, edificios, etc. Un término similar es "entidad". No necesita tener un comportamiento en el sentido tradicional, puede ser estático.
Es solo una forma de decir "un objeto en el juego".
fuente
term
similar aentity
, está bien. He pensado que también tiene un significado para algo más, pensé que es una abstracción más grande que solo un sinónimo. ¿Podrías decir también qué debería ser actor y qué no? ¿Con qué debo operar para elegir esto?Actor
es en realidad una clase en Unreal Engine. Bueno, de todos modos fue en la versión 2. Por lo tanto, podría no ser solo un término dependiendo del motor que esté utilizando.Según tengo entendido, el término es un efecto secundario de contratar escritores para hacer las historias de los juegos. Como generalmente provienen del teatro o la pantalla, están acostumbrados a los términos
Actor
yProp
.Actors
son cosas que se mueven y juegan un papel real en el juego, yProps
cosas como árboles, edificios, etc.Desde mis primeros días de codificación en la universidad, antes de que se nos permitiera usar un motor como Unity, tuvimos que codificar nuestro propio motor.
Actor
era una clase base abstracta que tenía una transformación, funciones de ciclo de vida vacías, y una función llamadaAct()
que era nuestra versión de UnityUpdate()
.Nuestro bucle principal del juego básicamente siguió:
La mayoría de los motores usan el concepto Entidad, por lo que, a partir de su lectura, simplemente traduzca
Actor
comoEntity
en su cabeza y estará bien.fuente
{{citation needed}}
Un término "actor" es lo suficientemente genérico como para ser utilizado en el diseño de software mucho antes de que la gente pensara en contratar escritores para juegos (también, se utilizó en UML, etc., cosas que se usaron para el desarrollo empresarial). El diccionario (MW) dice lo siguiente:Definition of actor: 1 : one that acts : doer
; No veo ninguna conexión teatral aquí.