Estou lendo um livro sobre desenvolvimento de jogos ( Game Coding Complete, quarta edição ) e há um tópico "Atores" que apenas explica como usá-los brevemente, em vez de explicar o que é.
Veja como o livro apresenta esses atores:
Os jogos estão cheios de objetos que dão vida ao seu mundo. Um jogo da Segunda Guerra Mundial pode estar cheio de tanques e aviões, enquanto um jogo futurista de ficção científica pode ter robôs e naves espaciais. Como atores em um palco, esses objetos estão no centro da jogabilidade. Parece apropriado chamá-los de "atores do jogo", porque é exatamente isso que eles são.
Um ator de jogo é um objeto que representa uma única entidade no seu mundo de jogo. Pode ser uma coleta de munição, um tanque, um sofá, um NPC ou qualquer coisa que você possa imaginar. Em alguns casos, o próprio mundo pode até ser ator. É importante definir os parâmetros dos atores do jogo e garantir que eles sejam o mais flexíveis e reutilizáveis possível.
Existem tantas maneiras de definir um ator de jogo quanto existem jogos. Como tudo na programação de computadores, raramente existe uma solução perfeita.
Eu só conseguia entender muito poucas coisas: é uma abstração de tudo no jogo que pode executar ações; tem seu próprio estado; seu comportamento geralmente é implementado como uma máquina de estado. É isso. Estou voltando com a programação de sistemas para o desenvolvimento de jogos e, portanto, gostaria de saber em geral, o que o ator está no desenvolvimento de jogos, como usá-lo, como é usado em geral, que problema resolve, como e porque. Eu gostaria que a explicação fosse tal que uma criança pudesse entender.
Eu tentei encontrar essas informações no google, mas elas me encaminham para outros "atores": programação simultânea na maioria das vezes ou atores de jogos, mas sem uma boa explicação.
fonte
actor
, mas não estou satisfeito com ele: ele não traz quaisquer razões históricas ou práticas para a invenção de atores e qual o problema que resolve, não é apenas explicando o que ele pode ser.Actor
é realmente uma classe. docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…Respostas:
Como você mencionou, um ator pode ser literalmente qualquer coisa; árvores, NPCs, edifícios etc. Um termo semelhante é "entidade". Não precisa ter um comportamento no sentido tradicional, pode ser estático.
É apenas uma maneira de dizer "um objeto no jogo".
fonte
term
parecido comentity
, ok. Eu pensei que também tem significado para algo mais, pensei que é uma abstração maior do que apenas um sinônimo. Você poderia também dizer o que deveria ser um ator e o que não? Com o que devo operar para escolher isso?Actor
é realmente uma classe no Unreal Engine. Bem, ele estava de volta à versão 2. Portanto, pode não ser apenas um termo, dependendo do mecanismo que você está usando.Pelo meu entendimento, o termo é um efeito colateral da contratação de escritores para criar histórias para jogos. Como eles geralmente vêm do teatro ou da tela, estão acostumados aos termos
Actor
eProp
.Actors
sendo coisas que se movem e desempenham um papel real no jogo, eProps
são coisas como árvores, edifícios etc.Desde meus primeiros dias de codificação na faculdade, antes de termos permissão para usar um mecanismo como o Unity, tivemos que codificar nosso próprio mecanismo.
Actor
era uma classe base abstrata que tinha uma transformação, funções vazias do ciclo de vida e uma função chamadaAct()
que era nossa versão do UnityUpdate()
.Nosso loop principal do jogo seguiu basicamente:
A maioria dos mecanismos usa o conceito de entidade; portanto, a partir da sua leitura, basta traduzir
Actor
como estáEntity
na sua cabeça e você ficará bem.fonte
{{citation needed}}
Um termo "ator" é genérico o suficiente para ser usado no design de software muito antes de as pessoas sequer pensarem em contratar escritores para jogos (também era usado em UML etc, coisas que foram usadas para o desenvolvimento de negócios). O dicionário (MW) diz o seguinteDefinition of actor: 1 : one that acts : doer
:; Não vejo nenhuma conexão teatral aqui.