¿Qué significa la secuencia de comandos del juego (Lua)?

9

He leído que Lua se usa a menudo para secuencias de comandos integradas y, en particular, para secuencias de comandos. Me resulta difícil imaginar cómo se usa exactamente. ¿Puede describir por qué y para qué características y para qué público se utiliza?

Esta pregunta no está dirigida específicamente a Lua, sino más bien a cualquier script integrado que tenga un propósito similar al de Lua .

¿Se utiliza para que los usuarios finales realicen ajustes personalizados? ¿Se usa para que los desarrolladores de juegos aceleren la creación de la lógica del juego (niveles, IA, ...)? ¿Se utiliza para codificar el código del marco del juego ya que las secuencias de comandos pueden ser más rápidas?

Básicamente, me pregunto qué tan profundo entre la configuración simple y la lógica de marco va tal uso de scripts. Y cuánto script se hace. ¿Algunas líneas de configuración o una cantidad considerable?

Gerenuk
fuente

Respuestas:

11

Existe un lenguaje de secuencias de comandos en un motor de juego para exponer su motor de juego de una manera interpretada de nivel superior.

Tome un juego como Skyrim, por ejemplo. Notarás que hay muchas misiones e interacciones que ocurren, y algunas de ellas tienen una lógica bastante impresionante incorporada, como un guardia que reacciona cuando te acercas a un elemento durante alguna escena. Estas cosas serían difíciles de expresar en un formato de datos puro y, por esta razón, las búsquedas y los comportamientos personalizados generalmente se expresan como scripts.

También hay muchos aspectos prácticos a considerar: los diseñadores de juegos que crean estos guiones a menudo trabajan en un nivel de abstracción más alto que los codificadores del motor del juego; no quieren preocuparse por la asignación de memoria, etc. Un lenguaje de secuencias de comandos es una buena opción para ellos, y con LUA, generalmente están llamando a una bonita fachada de alto nivel del motor. Tampoco desea volver a compilar su juego cada vez que quiera ajustar algún atributo minuto en un script.

Además de todo esto, permiten una fácil depuración, modificación y todas las otras cosas buenas que mencionaste.

Daniel B
fuente
3

¿Se utiliza para que los usuarios finales realicen ajustes personalizados?

Se puede usar para una amplia gama de propósitos, desde solo configuraciones hasta la implementación de la mayor parte de la lógica de gama alta del juego, por ejemplo, depende del juego, pero Lua es solo una secuencia de comandos incrustada. Las personas pueden usar eso tanto o tan poco como quieran.


fuente
1
Algunos juegos permiten a los usuarios finales implementar sus propios scripts. Junto con la API pública, los usuarios pueden implementar complementos, widgets, etc., que reaccionan a los eventos del juego.
Laiv
1
Estaba pensando en MMO rpgs :-)
Laiv
1
Los MMORPG de @Laiv IMO son una de esas cosas que parecen tan divertidas de implementar, pero similar a jugarlas durante mucho tiempo, se convierte en una rutina. El mundo del juego tiene que ser tan estático normalmente o debe haber una participación tan activa de los moderadores del juego. Creo que los juegos fuera de línea son mucho más divertidos de desarrollar porque puedes crear un mundo muy dinámico con una historia que realmente llega a su fin.
1
No no. Hace años solía jugar Allods Online. El juego tenía una pequeña API para que los jugadores implementaran complementos y widgets. Solo quería expandir su respuesta con algunos ejemplos :-)
Laiv
1
@Laiv ¡Oh, ya veo! Estoy en el proceso de eliminar mi cuenta, pero edité mi respuesta para que sea más corta y dulce. En el proceso, perdí un poco de información, pero mi edición anterior hablaba sobre cómo usaba personalmente las secuencias de comandos. En este momento estoy tratando de editar toda la información personal de mis respuestas.
2

Puede ser utilizado por personas que no sean programadores de juegos originales para modificar o ampliar la lógica del juego. Dichas personas pueden ser relativamente poco técnicas, por ejemplo, diseñadores de juegos o usuarios finales (jugadores).

Los scripts suelen ser lenguajes de nivel superior y, como tal, Lua es más fácil que C ++. El código escrito en scripts generalmente se puede modificar sin volver a compilar la aplicación principal (motor del juego), que es útil para que los diseñadores de juegos modifiquen rápidamente las escenas del juego.

PD: mejor haz esta pregunta en gamedev.stackexchange.com

Guarida
fuente