Convierte mapas de aventuras de texto generados por Trizbort en código fuente para el DAAD.
Project description
Triz2sce
Triz2sce versión 1.0.8b3 190226 (c) 2018 Pedro Fernández
Triz2sce.py es un script de Python 3.x que transforma un fichero generado con la utilidad para mapear aventuras Trizbort en un código fuente compatible con el compilador del DAAD. No es un diseñador visual de aventuras ni una aplicación para su desarrollo completo. Está concebido como herramienta para hacer prototipos iniciales de aventuras con rapidez y facilidad y, a su vez, como herramienta de apoyo a autores nóveles, ideal para su uso en talleres de aprendizaje.
Uso:
Usar “Python triz2sce.py -h” en una linea de comandos o powershell para ver las opciones.
El script requiere como argumentos un fichero de entrada (que debe ser un mapa generado por la utilidad Trizbort en formato XML, con soporte para la versión 1.7.0) y, opcionalmente, el nombre de un fichero de salida, que será un código fuente en formato .SCE compatible con la versión 2.40 del compilador del DAAD. Si no se especifica se creará un fichero con el mismo nombre y la extensión .SCE
La opción -p1 generará un listado SCE con los mensajes del sistema en primera persona. Por defecto éstos se crearán en segunda persona. La opción -e generará un listado SCE con los textos y el vocabulario en inglés. Por defecto se crearán en español.
Trizbort:
DAAD
Hasta el momento parece convertir correctamente:
Habitaciones, incluyendo sus descripciones y estableciendo la localidad de comienzo.
Conexiones comunes por puntos cardinales (N,S,E,O,NE,NO,SE,SO).
Conexiones up/down o in/out.
Conexiones de una sola dirección.
Objetos incluidos en las habitaciones.
Triz2sce añade por su cuenta una barra de estado con el nombre de la localidad actual y el número de turnos transcurridos en la aventura. También añade un listado automático de salidas y soporte para respuestas por defecto a los comandos “SALIDAS”, “MIRAR”, “EXAMINAR”, y “AYUDA”. Esto gastará un número variable de mensajes en la sección /MTX y las banderas 100 y 101.
Triz2sce usa los textos del cuadro de diálogo “map settings” (menu “tools”) como pantalla de presentación, créditos y texto de introducción a la aventura (añadiendo frases por defecto en caso de que estuviesen vacíos).
A su vez usará el campo “subtitle” de cada localidad como texto para su descripción corta en la barra de estado (máximo 26 caracteres). Si no lo hubiera usará el campo “name” y si éste fuera el elegido por defecto “Cave” lo cambiará por “Localidad xx”. A su vez usará el campo “description” para la descripción larga de la localidad en la ventana de texto de la aventura (usando de nuevo un texto por defecto “Descripción localidad xx” si no encontrase ninguno).
Igualmente triz2sce leerá, si los hubiera, los atributos [m], [f], [1], [2], [w] y [c] en el nombre de los objetos, entendiéndolos como masculino, fememnino, singular, plural, ropa y contenedor, y añadirá el artículo indeterminado correspondiente (un, uno, una, unas) al comienzo del texto de los objetos en la sección /OTX. Tanto si los hay como si no, entenderá la primera palabra del texto como la palabra de vocabulario para ese objeto y el texto completo como texto para su uso en listados.
Y por el momento triz2sce no puede manejarse con:
Textos personalizados en los extremos de las conexiones, así como el resto de características personalizables de dichas conexiones en Trizbort (puertas, oscuridad) que al fin y al cabo tampoco tienen un soporte universal en los distintos formatos de fichero a los que Trizbort puede exportar.
Conexiones con puntos intermedios en los espacios del mapa. Cualquier cosa que no sea una conexión directa entre una habitación y otra la ignorará.
HISTORIA
1.0.8b2 190312
Chequeos adicionales para evitar que el nombre de los objetos pueda ser una cadena nula o espacios en blanco.
1.0.8b1 190226
Añadido soporte para contenedores en inglés.
La palabra “todo” funciona también para meter y sacar objetos de los contenedores.
1.0.8b0 190223
Añadido soporte experimental para el atributo [c] (contenedor) (sólo en espñol, de momento)
1.0.7 181208
Arreglado: el script se colgaba si se cambiaba la posición por defecto de los objetos en una localidad sin añadir ningún objeto.
1.0.6 181205
Arreglado: el objeto dummy creado si el mapa no incluye objetos no tenía todos los atributos necesarios.
1.0.5 180916
Arreglado: extensión erronea al crear el fichero de salida.
1.0.4 180915
Parche para que el contador de turnos pase de 65535 a 0 en lugar de 65200 y algo.
1.0.3 180822
El fichero de salida es ahora un argumento opcional.
Añadida opción para la creación de plantillas de DAAD en inglés.
1.0.1 180420
Añadida forma imperativa pronominal al verbo “poner”
Añadido soporte al atributo [w] (que entenderá como “wearable”)
1.0 180404
Primer lanzamiento.
Beta 0.9.1 180402
Filtra acentos en el campo “author” antes de pasarlo a mayúsculas (las mayúsculas acentuadas no son admimtidas por el compilador del DAAD).
Añadida el verbo “AYUDA” al vocabulario e implementada su correspondiente acción.
Beta 0.9 180331
Añadida barra de estado que muestra el atributo “subtitle” de la localidad y el nº de turnos ejecutados durante el juego.
Añadido soporte para el verbo “EXAMINAR” con respuesta por defecto.
El texto de los objetos de la sección /OTX añade artículos indeterminados (un, unos, una, unas) en función de los atributos de los objetos.
Beta 0.6 180315
Listado de salidas deja de ser opcional (el aprendiz puede aprender a retirarlo manualmente con facilidad, lo que es más acorde con el carácter de herramienta de aprendizaje de triz2sce)
Se usan los textos del cuadro de diálogo “map settings” (menú tools) de trizbort como pantalla de presentación y créditos de la aventura.
Beta 0.5 181103
Números de vocabulario diferentes para las acciones EXAMINAR y MIRAR
Corregido bug por el que se producía un error al intentar convertir mapas sin objetos (a base de añadir un objeto dummy)
Añadido listado automático de salidas (opcional) que, ojo, gasta los flags 100 y 101
Triz2sce english doc
Triz2sce version 1.0.8b3 190226 (c) 2018 Pedro Fernández
Triz2sce is a Python 3.x script that transforms a file generated with the text-adventure mapping tool Trizbort into a source code compatible with the DAAD compiler. It’s not meant to be either an adventure visual designer or a complete development tool. It’s conceived as a fast and easy text-adventura prototyping tool, and also as a supporting tool for novel authors, specially suitable for learning workshops.
Usage:
Type “Python triz2sce.py -h” in a command line or powershell window to see the options.
The script requires as an argument a file (wwhich must be a map generated with the Trizbort utility in XML format) and, optionally, the name of an output file which will be a SCE formatted source code compatible with version 2.40 of the DAAD compiler. If it’s not specified, a file with the same name and a .SCE extension will be created.
Option -p1 will create a SCE listing with first-person system messages. Default is second-person. Option -e will create a SCE listing with english texts and vocabulary. Default is spanish.
Trizbort:
DAAD
So far it seems to convert correctly:
Rooms, including descriptions and setting the initial location.
Common cardinal points connections (N,S,E,W,NE,NW,SE,SW).
Up/down and in/out connections.
One way connections
Objects included in locations.
Trizio2sce adds on its own a status line with the current location name and the number of used turns. It also adds an automatic exits listing and support for default answers to the “EXITS”, “LOOK”, “EXAMINE” and “HELP” commands. This will use a variable amount of messages in the /MTX section and flags 100 and 101.
It will also use each location “subtitle” field as a text for its short description at the status line (max. 26 characters). If it wasn’t provided it will use the “name” field and if this was the default text “Cave” it will be changed to “Loaction xx”. In turn, the “description” field will form the long room description in the adventure text window (again using a default “Location xx description” if there wasn’t any)
Equally, triz2sce will read, if any, the [m], [f], [1], [2], [w] and [c] attributes in the objects’ name, understanding them as male, female, singular, plural, wearable and container, and will add the corresponding indefinite article at he start of the object text in the /OTX section. In any case it will use the first word in the text as its vocabulary word and the whole text as text for listings.
And for the moment trizio2sce cannot handle:
Personalized texts at the connections extremes.
Connections with intermediate points along the map. Anything other than a direct connection between a room and another will be ignored.
HISTORY
1.0.8.b2 190312
Extra-checks to avoid object names being null strings or white spaces.
1.0.8b1 190226
Added support for containers in english.
The word “all” now works when puting things in or getting them out from containers.
1.0.8b0 190223
Added experimental support for [c] (container) atribute in objects (spanish only)
1.0.7 181208
Fixed: Changing default position of objects in a room made script crash if no object were added.
1.0.6 181205
Fixed: Dummy object created if map does not include any object lacked some needed atributes.
1.0.5 180916
Fixed: wrong extension when creating output file.
1.0.4 180915
Fix the turns counter so it skips from 65535 to 0 instead of 65200 something.
1.0.3 180822
Output file is now an optional argument
Added option to create english DAAD templates.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.