FANDOM

1.041 Páginas

Action Code Script (ACS) es el lenguaje de programación que se creó para Hexen y que fue ampliado en gran medida por ZDoom. ACS permite a los diseñadores de niveles desarrollar eventos durante el juego, por lo que la creación de entornos interactivos, incluso en el arcaico motor de Doom, puede hacerse en forma infinitamente más abierta.

Con comandos muy básicos, un autor puede modificar la estructura de un nivel en formas tales como la subida y bajada de pisos por separado, simultáneamente, en las mismas o en opuestas direcciones, y para cualquier altura o profundidad.

Uno puede incluso utilizar paredes que se mueven, que cumplan con ciertos criterios (véase Polyobject). Las texturas mostradas en los pisos y paredes se pueden cambiar.

Los monstruos, y cualesquiera otros actores para el caso, pueden ser insertados, eliminados, controlados, tienen muchas de sus propiedades alteradas e incluso pueden perseguir "objetivos" a través de una forma limitada de IA. El uso de ACS abre muchas posibilidades para el diseño de los niveles, sobre todo si la persona que lo usa es talentosa, paciente e imaginativa.

Aspectos técnicos

Un poco más técnicamente, un lenguaje de programación es una forma limitada de lenguaje de programación; su código toma la forma de una lista de comandos para ser interpretada por un motor específico.

ACS se estructura en forma muy similar a C / C++ (es incluso commentable1 , como se muestra en el ejemplo a continuación). Una secuencia de comandos, que se compone en un editor de texto de algún tipo, contiene comandos, declaraciones de variables y llamadas posiblemente incluso a otras secuencias de comandos (como las subrutinas en un lenguaje de programación).

Los elementos de nivel superior para reconocer son scripts y sus tipos de secuencias de comandos, que son los eventos que desencadenan la secuencia de comandos contenidas en un script determinado. Una secuencia de comandos se inicia escribiendo algo como lo siguiente:

// This is a comment
int AvailableToAllScripts = 101;
int ICanMakeArraysLOL[3] = {3,6,9};

SCRIPT 1 OPEN {
    if (AvailableToAllScripts == 101){
        restart;
    }
}

Tenga en cuenta que una secuencia de comandos se define algo así como una función en C. "OPEN", como se usa en este ejemplo, es un tipo de script que dice a ZDoom que el script se va a ejecutar al arrancar el nivel. Las variables se dimensionan, como en muchos lenguajes de programación. Las Matrices o variables en las que se pueden almacenar muchos valores con un índice que las de diferencia entre ellas (por ejemplo ICanMakeArraysLOL[2] = 9), son válidas.

Una variable destinada a estar disponible para todas las sub-secuencias de comandos debe ser declarada fuera de todos los sub-scripts. Tenga en cuenta también que ACS soporta sentencias condicionales, y por lo tanto bucles con sentencias condicionales. Es compatible con la mayoría (si no todas) las implementaciones C / C ++ de sentencias condicionales y bucles.

Repetir un script sin una demora causará que ZDoom rescinda de forma automática el guión, sin embargo, porque no va a dar ninguna otra cosa en el mapa la oportunidad de correr. Cuando esto ocurre, se generará un mensaje como el siguiente:

Runaway script 1 terminated

Véase también

Notas al pie

1.   commentable: capaz de ser marcado con un comentario.

Fuente

  • Este artículo incorpora texto del artículo ACS del proyecto de documentación ZDoom de contenido abierto.

¡Interferencia de bloqueo de anuncios detectada!


Wikia es un sitio libre de uso que hace dinero de la publicidad. Contamos con una experiencia modificada para los visitantes que utilizan el bloqueo de anuncios

Wikia no es accesible si se han hecho aún más modificaciones. Si se quita el bloqueador de anuncios personalizado, la página cargará como se esperaba.

También en FANDOM

Wiki al azar