- Intérprete PAW-like
- Entorno de desarrollo integrado (IDE)
- Editor de bases de datos gráficas
- Instalación de los requisitos en Windows
- Agradecimientos
Requisitos:
- Python versión 2.X superior a 2.5, ó 3.X superior a 3.2
- Recomendado: PyGame versión 1.X ó 2.X (necesario para que tenga interfaz gráfica)
- Opcional: PyQt versión 4.X ó 5.X (necesario para el diálogo de elección de fichero o carpeta que se desea ejecutar)
Modo de uso básico:
Hacer doble click sobre interprete.py
en caso de tener instalados los requisitos (necesitarás tener instalado también PyQt para utilizar el intérprete de esta manera), o bien sobre Intérprete NAPS.bat
en caso de disponer de la versión portable para Windows de NAPS.
Acto seguido, se mostrará un diálogo pidiendo que selecciones lo que deseas ejecutar, de entre las siguientes opciones: la carpeta donde están contenidos los ficheros del juego, el fichero de base de datos a ejecutar (de PAWS con extensión .PDB, de SWAN con extensión .ADB, o de DAAD con extensión .DDB), el fichero de snapshot (con extensión .SNA) de ZX Spectrum del juego de Quill o PAWS que quieras ejecutar, o bien el fichero de código fuente de PAWS o DAAD que quieras ejecutar (en formato SCE para PAWS o DAAD, o bien DSF de DAAD Reborn Compiler).
Si lo que quieres es jugar, siempre que puedas utiliza la primera opción de las mencionadas antes: la de elegir la carpeta donde están los ficheros del juego. Esta es la opción ideal para jugar, la más completa y fidedigna en cuanto a jugabilidad, en la cual el intérprete mostrará la imagen de portada si el juego tiene una, te pedirá elegir parte en caso de que la aventura tenga más de una, cargará y utilizará automáticamente los mejores gráficos disponibles para esa parte, y también la fuente tipográfica que proporcione la aventura. En el sistema SWAN, sólo esta opción permitirá la transición automática transparente entre partes, y sólo con ésta se podrá jugar a las partes de la segunda en adelante, que no funcionan como se espera si se intentan ejecutar directamente.
Por tanto, para jugar en tu sistema operativo moderno (normalmente Windows o Linux) cualquiera de los juegos hechos con SWAN (como Mindfighter y Titan Find) o con DAAD (como los juegos de Aventuras AD, y los que se publicaron posteriormente, tras la liberación en 2013 de las herramientas de DAAD), antes deberías haber guardado todos los ficheros de la aventura juntos en una carpeta, y luego tan sólo debes elegir esa carpeta en el intérprete de NAPS para ejecutar el juego.
Uso desde línea de comandos:
python interprete.py [-h|--help] [-c|--columns 32..42] [--conversion módulo] [-D|--debug] [-g|--gui pygame|stdio|telegram] [-s|--scale 1..9] [--system quill|paws|swan|daad] bd_cf_o_carpeta [bd_o_carpeta_gráficos]
Ejemplos bajo Windows:
python interprete.py -g stdio -c 42 ..\disappearance\disappearance.sna
python interprete.py --scale 3 C:\Juegos\templos\amiga
python interprete.py C:\Juegos\MindFighter\mindf000.adb
Ejemplos bajos Linux:
python interprete.py -D ../jabato/dos/
python3 interprete.py --gui pygame ../original/PART2.DDB ../pngs_original_parte2/
./interprete.py ~/Juegos/Cozumel/amiga ~/Juegos/Cozumel/st/PART1.DAT
naps/interprete.py proyecto/misterioso.sce -s3
./interprete.py -g telegram juegos/firfurcio/firfurcio.sna --conversion conv/firfurcio.py
Parámetros:
bd_cf_o_carpeta
(obligatorio) Base de datos, snapshot SNA, código fuente, o carpeta a ejecutar; de Quill/PAWS/SWAN/DAADbd_o_carpeta_gráficos
(opcional) Base de datos gráfica para las imágenes, o carpeta de la que tomarlas (con nombre pic###.png)--help
(opcional) Muestra ayuda sobre los parámetros de línea de comandos--columns
(opcional) Cambia el número de columnas a usar cuando se imita la plataforma Spectrum, desde 32 hasta 42 (valor por defecto en interfaz pygame, en la stdio por defecto es sin límite)--conversion
(opcional) Actualiza el diccionario de conversión de caracteres (usado al cargar bases de datos de PAWS para Spectrum) con los valores del diccionario conversion del fichero de módulo Python dado, y el de conversión de secuencias de caracteres (usado en la interfaz de Telegram) con los valores del diccionario secuencias de dicho módulo--debug
(opcional) Ejecuta la base de datos en modo depuración: ejecutando los condactos paso a paso, mientras muestra el valor de las banderas--gui
(opcional) Elige la interfaz gráfica a utilizar. Opciones posibles: pygame (interfaz gráfica con PyGame), stdio (interfaz sólo texto, usando la entrada y salida estándar) y telegram (interfaz para el bot de Telegram)--scale
(opcional) Elige el factor de escalado de la ventana, desde 1 hasta 9, con lo que ampliará todo hasta ese número de veces sin superar la resolución de pantalla. El valor por defecto será el factor máximo dentro de la resolución de pantalla--system
(opcional) Elige el sistema con el que tratar de cargar la base de datos, snapshot SNA, código fuente, o carpeta dado. El funcionamiento por defecto es autodetectar el sistema a utilizar, probando varios en caso necesario
Requisitos:
- Python versión 2.X superior a 2.5, ó 3.X superior a 3.2
- PyQt versión 4.X ó 5.X
Modo de uso básico:
Hacer doble click sobre ide_pyqt.py
en caso de tener instalados los requisitos, o bien sobre IDE y depurador NAPS.bat
en caso de disponer de la versión portable para Windows de NAPS.
Uso desde línea de comandos:
python ide_pyqt.py [-h|--help] [-ne|--no-entry-end] [-r|--run] [--theme dark|light] [bd_o_codigo] [bd_o_carpeta_gráficos]
Parámetros:
bd_o_codigo
(opcional) Base de datos, snapshot SNA, o código fuente; de Quill/PAWS/SWAN/DAAD a cargarbd_o_carpeta_gráficos
(opcional) Base de datos gráfica que usar para las imágenes al depurar, o carpeta de la que tomarlas (con nombre pic###.png)--help
(opcional) Muestra ayuda sobre los parámetros de línea de comandos--no-entry-end
(opcional) Omite en entradas de proceso los condactos que haya detrás de los que cambian el flujo de ejecución incondicionalmente (como DONE). Muy útil para bases de datos optimizadas por NAPS o DRC (lo hace si no se activa el modo clásico), que omiten marcas de fin de entrada cuando hay algún condacto así, y descartan los condactos que haya después--run
(opcional) Ejecuta la base de datos pasada como parámetro directamente, depurando por pasos--theme
(opcional) Elige el tema de colores para el IDE. Opciones posibles: dark (tema oscuro, opción por defecto), y light (tema claro, con estética clásica)
Requisitos:
- Python versión 2.X superior a 2.5, ó 3.X superior a 3.2
- PyQt versión 4.X ó 5.X
Modo de uso básico:
Hacer doble click sobre edita_bd_pics.py
en caso de tener instalados los requisitos, o bien sobre Editor BD gráficas.bat
en caso de disponer de la versión portable para Windows de NAPS.
Uso desde línea de comandos:
edita_bd_pics.py [bd_gráfica]
Parámetros:
bd_gráfica
(opcional) Base de datos gráfica de DAAD a importar
Nótese que no es necesario instalar nada en Windows para utilizar NAPS, porque basta con descargar una versión portable de NAPS (desde https://github.com/daad-adventure-writer/NAPS/releases), descomprimirla donde se quiera, y así ya se podrá ejecutar NAPS desde esa carpeta recién descomprimida. Al ser portable, esa carpeta luego se puede mover a cualquier otro lugar y seguirá funcionando NAPS desde allí.
- Instalar Python 3.X descargando un instalador desde esta web: https://www.python.org/downloads/windows/
- Abrir el Símbolo del sistema
- Ejecutar allí estos comandos:
- pip install pygame
- pip install pyqt5
La siguiente es una lista de personas que han tenido influencia en el desarrollo de estas herramientas, a las cuales estoy agradecido:
- A Ximo Company por darme motivación, ideas y recomendaciones para que NAPS sea más amigable, para que funcione en Windows también, y sobre todo por desarrollar la integración de NAPS en EAAD bajo DAAD Ready.
- A José Luis Cebrián por su apertura para compartir conocimientos sobre el funcionamiento de DAAD, y por su cooperación en detectar comportamiento incorrecto en NAPS que pasé por alto o desconocía cómo solventar, y a menudo indicarme con detalle cómo solucionarlo.
- A Uto por su ayuda en numerosas ocasiones investigando las "técnicas secretas" de DAAD, muchas veces a base de pruebas reiteradas e ingeniería inversa. Y por ser ejemplo e inspiración como autor prolífico.
- A dddddd por compartir sus descubrimientos técnicos poco o nada documentados de PAWS, y motivarme para añadir características a NAPS. Fue por él que implementé la interfaz del intérprete para manejarlo por entrada y salida estándar.
- A NatyPC como ejemplo e inspiración con su intérprete para MSX y sus investigaciones del formato de las bases de datos gráficas de DAAD.
- A Joan CiberSheep y Pedro Fernández por reportarme errores detalladamente para poderlos solucionar.
- A los diferentes autores de aventuras conversacionales que me compartieron bases de datos y código fuente para probar e implementar diferentes características en NAPS.
Esta lista desde luego no pretende ser completa, dado que es fácil haber pasado a alguien por alto.