O que significa script de jogo (Lua)?

9

Eu li que Lua é frequentemente usado para scripts incorporados e, em particular, jogos para scripts. Acho difícil imaginar como é usado exatamente. Você pode descrever por que e para quais recursos e para qual público-alvo é usado?

Essas perguntas não estão abordando especificamente Lua, mas qualquer script incorporado que atenda a um propósito semelhante ao script Lua .

É usado para usuários finais fazer ajustes personalizados? É usado para desenvolvedores de jogos para acelerar a criação da lógica do jogo (níveis, IA, ...)? É usado para criar código de estrutura de jogo de script, já que o script pode ser mais rápido?

Basicamente, estou me perguntando o quão profundo entre a configuração simples e a lógica da estrutura é o uso de scripts. E quanto de script é feito. Algumas linhas de configuração ou uma quantidade considerável?

Gerenuk
fonte

Respostas:

11

Existe uma linguagem de script em um mecanismo de jogo para expor seu mecanismo de jogo de maneira interpretada e de nível superior.

Tome um jogo como Skyrim, por exemplo. Você notará que existem muitas missões e interações que ocorrem, e algumas delas têm uma lógica bastante impressionante embutida nelas, como um guarda reagindo a você chegando perto de um item durante alguma cena. Seria difícil expressar essas coisas em um formato de dados puro e, por esse motivo, missões e comportamentos personalizados geralmente são expressos como scripts.

Também há muitos aspectos práticos a serem considerados - os designers de jogos que criam esses scripts geralmente trabalham com um nível de abstração mais alto do que os codificadores de mecanismo de jogo; eles não querem se preocupar com a alocação de memória etc. Uma linguagem de script é uma boa opção para eles e, com o LUA, eles normalmente estão chamando uma boa fachada de alto nível do mecanismo. Você também não deseja recompilar seu jogo toda vez que quiser ajustar algum atributo minucioso em um script.

Além disso, eles permitem fácil depuração, modificação e todas as outras coisas legais que você mencionou.

Daniel B
fonte
3

É usado para usuários finais fazer ajustes personalizados?

Ele pode ser usado para uma ampla variedade de finalidades, desde apenas configurações até a implementação da maior parte da lógica de ponta do jogo, por exemplo, depende do jogo, mas Lua é apenas um script incorporado. As pessoas podem usar isso o quanto quiserem.


fonte
11
Alguns jogos permitem que os usuários finais implementem seus próprios scripts. Juntamente com a API pública, os usuários podem implementar complementos, widgets, etc., que reagem aos eventos do jogo.
LAIV
11
Eu estava pensando em RPGs MMO :-)
LAIV
11
Os MMORPGs do @Laiv IMO são uma daquelas coisas que parecem tão divertidas de implementar, mas, semelhante a jogá-las por um longo tempo, se transformam em algo tão complicado. O mundo do jogo tem que ser tão estático normalmente ou deve haver um envolvimento tão ativo dos moderadores do jogo. Eu acho que os jogos offline são muito mais divertidos de se desenvolver, porque você pode criar um mundo muito dinâmico com uma história que chega ao fim.
11
Não não. Anos atrás, eu costumava jogar Allods Online. O jogo tinha uma pequena API para os jogadores implementarem complementos e widgets. Apenas queria expandir sua resposta com alguns exemplos :-)
LAIV
11
@ Laiv Oh, eu vejo! Estou no processo de excluir minha conta, mas editei minha resposta para torná-la mais curta e mais doce. No processo, perdi um pouco de informação, mas minha edição anterior falou sobre como eu usei o script pessoalmente. No momento, estou tentando editar todas as informações pessoais de minhas respostas.
2

Pode ser usado por pessoas que não sejam programadores de jogos originais para modificar ou estender a lógica do jogo. Essas pessoas podem ser relativamente não técnicas, por exemplo, designers de jogos ou usuários finais (jogadores).

Os scripts geralmente são linguagens de nível superior e, como tal, Lua é mais fácil que o C ++. O código escrito em scripts geralmente pode ser modificado sem recompilar o aplicativo principal (mecanismo de jogo), útil para os designers de jogos ajustarem rapidamente as cenas do jogo.

PS: melhor fazer esta pergunta em gamedev.stackexchange.com

Den
fonte