CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 22 Sep 2020 22:41

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 24 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 13 Sep 2010 11:56 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
Este post va a tratar de explicar como convertir una aventura de PAW a Superglús.


Aviso 1: Notese que la aventura convertida no usará la librería de inicio de Superglús, sino la de PAW, lo cual implica que desaparecen todas las capacidades, respuestas por defecto, etc. que la librería de Superglús ofrece de serie. En si, estas conversiones ni siquiera pueden ser consideradas "juegos de Superglús" de la misma manera que un juego hecho con Inform 6, pero sin usar la libreria de Inform, puede considerarse propiamente un "juego de Inform". Este procedimiento NO es la mejor manera de usar Superglús para hacer un remake, solo una conversión pura para permitir ejecutar en glulx y usar funcionalidades modernas (como la salida textual, para los lectores para ciegos).

Aviso 2: La conversión perderá los gráficos y colores de los textos.

Herramientas necesarias

Inpaws: http://inpaws.speccy.org/index.html

Formato de origen

Necesitamos la aevntura en un formato que inpaws pueda leer, por ejemplo, .SNA.

Convirtiendo a inPAWS
Teniendo inpaws y el fichero SNA en la misma carpeta tecleamos:

Código:
inpaws e fichero.sna -o fichero.inp


Y obtendremos un fichero llamado "fichero.inp"

Caracteres raros
Si abrimos este fichero generado con un editor de textos encontraremos cosas raras en los textos, cosas como "est@ cerrado". Esto es porque el Spectrum no tenía caracteres acentuados, y en su lugar PAW utilizaba otros caracteres. Para solucionar este problema basta con añadir estás lineas al principio del fichero .INP:
Código:
SUBCHAR "@" "á";
SUBCHAR "#" "é";
SUBCHAR "$" "í";
SUBCHAR "%" "ó";
SUBCHAR "&" "ú";
SUBCHAR "|" "ñ";
SUBCHAR "[" "¡";
SUBCHAR "]" "¿";


Si encontrarais algún otro caracter que no estuviera en esta lista, bastaría con añadir mas lineas "SUBCHAR" con la substitución adecuada.

El Vocabulario - Opcion A

El siguiente problema es el vocabulario. Superglús espera 10 caracteres por palabra y en PAWS solo había 5, por lo que hay que "alargar" las palabras del vocabulario. Buscamos la sección "VOCABULARY" y empezamos a arreglarlo.

Recomendaciones:

1) Dejad las palabras cortas y añadir nuevas versiones largas, es decir, si os encontráis "EMPUJ", no cambiéis "EMPUJ" por "EMPUJAR", sino que añadid la palabra para que quede "EMPUJ", "EMPUJAR". No recomiendo ampliarlas porque después en la tabla de respuestas se utilizan acortadas, y si las cambiáis tendréis que hacer cambios también en la tabla de respuestas, doblando el trabajo. Simplemente creamos sinonimos "largos" de las palabras para que funcione todo cuando se escriba bien.

2) Prestad atención a los verbos, para añadir la versión en infinitivo, muchas veces quedan cortados justo por la letra adecuada, es decir, lo que en PAW funcionaba, por ejemplo "ENTRA" (que valia tanto para "entrar" como para "entra") ahora debe desdoblarse: "ENTRA", "ENTRAR"

3) Si no tenéis claro como ampliar una palabra buscad en el fichero, a veces las cosas no son tan obvias como parece "ESCAL" puede ser "ESCALERA" pero podría ser "ESCALA", y "VENTA" que parece ser "VENTANA" podría ser "VENTANAL".


El Vocabulario - Opcion B
Si no nos importa que las palabras queden en 5 caracteres como en PAW, hay una alternativa:

1) Vamos a la carpeta donde esta instalado Superglús, entramos en la carpeta "pgl" y editamos el fichero interpre.pgl con nuestro editor preferido.

2) Buscamos la linea que pone: ":extpal_while_hay_palabra"

3) Justo debajo hay una línea que tiene un "9", lo cambiamos por un "4" y grabamos.

A partir de ese momento Superglús solo leerá 5 caracteres de cada palabra, por lo cual funcionara.

Atención: hacer esto hará que Superglús no funcione con la libreria base de Superglus, así que para volver a trabajar con aventuras modernas, hay que volver a poner el 9.

Mensajes del sistema
PAW no requiere tantos mensajes del sistema como Superglús, para que la cosa funcione hay que añadir, al apartado SYSMESSAGES, lo siguiente:
Código:
  54: "Fichero no encontrado.";
  55: "Fichero corrupto.";
  56: "Error de E/S. Fichero no grabado.";
  57: "Directorio lleno.";
  58: "Disco lleno.";
  59: "Nombre de fichero no válido.";
  60: "Nombre del fichero:¬";
  61: "¿Disculpa?";
  62: "¿Perdón? Por favor prueba con otras palabras.";
  63: "Aquí¬";
  64: "está¬";
  65: "están¬";


Importante: Si nos encontramos que nuestra aventura ya tiene mensajes con numero superior al 53, deberemos cambiarles el numero, poniéndolos detrás de estos, con el numero aumentado en 12 (el 54 pasa a ser el 66, el 55 el 67, etc.). Después debemos buscar uno por uno en el fichero los sitios donde se mostraban esos mensajes, y reemplazar el numero. Por ejemplo habría que buscar donde aparece "SYSMESS 54" para cambiarlo por "SYSMESS 66" y así sucesivamente.

Exportar a Superglus

Una vez hecho todo esto, debería funcionar la siguiente orden:
Código:
inpaws ct fichero.inp


Con lo que obtendríamos un fichero llamado fichero.inp.txp que podríamos abrir con Superglús y compilarlo.

Si inPAWS nos da algún error, leedlo cuidadosamente para tratar de entenderlo y arreglarlo. No puedo dar desde aquí detalles para cada error posible :)

Parcheando la salida de inPAWS
InPAWS comete un error al exportar a Superglús, que es poner un comentario en la linea /STX, que confunde al IDE de Superglús, para poder ver la solapa de mensajes del sistema en Superglús, debemos editar el ficher txp, y quitar el comentario de dicha linea, es decir, dejar "/STX" a secas.

Condactos rebeldes
Al compilar con Superglús, puede ocurrir que fallen algunos condactos, concretamente los más posibles son EXTERN, PROTECT y BEEP. En general basta con borrar las lineas donde aparecen para hacer que la aventura compile. En el caso de EXTERN perderemos el efecto que se hiciera al llamarlo, PROTECT ni tiene sentido en glulx, y BEEP se trata de otra manera, por lo que perderiamos el pitido correspondiente.

Afinando
Las comprobaciones sobre el flag 56 o 57 no son validas, hay que comprobar los atributos de objeto en su lugar, así que conviene comprobar si en el fichero .inp hay alguna referencia al 56 o al 57, comprobar que se trata de accesos a dichos flag, y en su caso tratar de entenderlos para sustituirlos por comprobaciones sobre los atributos de objeto que corresponden según funciona en Superglús.

Además, en las versiones iniciales de PAWS los flags 11 al 28 los podia usar el programador, pero en Superglus los flags 11 a 28 son reservados, y lo que es peor, los flags 11 y 12 son usados para asuntos internos de Superglús. En principio el uso del flag 11 no es peligroso, pero el 12 sí, por lo que hay que ver donde se usa y utilizar otro que este libre (si no esta claro, usar el 28).


Pruebas
Conviene realizar pruebas, probarlo con la solución a mano, etc. A veces hay problemas inesperados en las conversiones, y a veces problemas estéticos (en el ejemplo adjunto, se usaban 32 asteriscos en el Spectrum para separar la descripcion de localidad del resto, al convertir esos 32 asteriscos, aparte de convertirse en interrogaciones, no cubren una linea completa, con lo que queda raro.

Ejemplo
Tenéis un ejemplo de lo anteriormente dicho aquí:

http://www.megaupload.com/?d=CM6T6KCW

Es una conversion de Excessus de Carlos Sisí (de la version arreglada). Nota: no he comprobado si es acabable, solo pretendo hacer un ejemplo, no una versión :)

Graficos

Os recomiendo echar un ojo a PAWGR (http://www.caad.es/modulos.php?modulo=descarga&id=588) para extraer los gráficos de un fichero sna. Ponerlos después en Superglús será trivial, aunque recomiendo que se les aumente el tamañoc on Gimp/Photoshop (256x192 es bastante pequeño para las resoluciones modernas).

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 11:59 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
Por favor, si algun admin pudiera hacer este post "sticky" sería de agradecer :)

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 13:02 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Sep 2004 12:53
Mensajes: 1150
Hecho.

_________________
- Lenko -


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 13:09 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 23 Abr 2004 08:49
Mensajes: 2986
Ubicación: España (Galicia)
Hola !

Además, una línea que empieza con '+' hace suponer a Superglús que hay alguna macro, y si se incluye ese caracter como primer caracter de una línea, se quejará de que falta la macro inicial.

Así, cámbiese el '+' por otro caracter, como '$', o lo que sea más apropiado en cada caso.

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 16:18 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Sólo apuntar (no es por desmerecer el trabajo de Uto) una alternativa que existe desde hace ya 10 años: PAWSEZ.

Se encuentra en la sección de descargas. Y, entre otras cosas, permite una conversión algo más "pura" que el, llamémosle MUCOSA (Método Uto de Conversión de Originales-aventuras al Superglús Actual). :mrgreen:

Un par de ventajas de usar PAWSEZ: se mantiene el texto con colorines y no hay que andar retocando el diccionario.

La versión de PAWSEZ de la zona de descargas es la 0.5 que yo amplié y corregí basándome en la que publicó originalmente Zak. En el "leeme.txt" del paquete está explicado en detalle el proceso de conversión. Que, también, como en el caso de lo de Uto, requiere algún que otro ajuste manual.

En cualquier caso, lo dicho, no es un método mejor (ni peor) que el que apunta Uto. Es otra alternativa.

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 16:48 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
baltasarq escribió:
Hola !

Además, una línea que empieza con '+' hace suponer a Superglús que hay alguna macro, y si se incluye ese caracter como primer caracter de una línea, se quejará de que falta la macro inicial.

Así, cámbiese el '+' por otro caracter, como '$', o lo que sea más apropiado en cada caso.


Cierto, olvide decir eso, aunque eso no pasa en todas. En concreto ese "+" es el cursor que eligio Carlos Sisí:

Código:
>COGER TODO+


Efectivamente he tenido que cambiar eso para compilar correctamente, también se puede dejar vacío ese mensaje.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 16:55 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
JSJ escribió:
En cualquier caso, lo dicho, no es un método mejor (ni peor) que el que apunta Uto. Es otra alternativa.


Yo particularmente no recomendaría usar PAWSEZ, por la misma razón que no recomendaría usar Paguaglús: existen varios comandos de PAW que no se comportan exactamente como dice la guía tecnica, y casos en que la guía técnica es vaga o incompleta (es decir, el condacto sí hace lo que dice, pero además hace otras cosas). En estos casos, había muchos que, aunque por regla general no se nota, resulta que fallan en determinadas circunstancias.

En Superglús, a través de los tiempos, y muy especialmente recientemente gracias a Mastodon cuando se lio con lo de inPAWS, se encontraron muchos de estos casos y se corrigieron para que funcionaran exactamente como en PAW. No quiero desmerecer ni el trabajo de Zak ni el que puedas haber puesto tu después JSJ, pero es bastante probable que haya condactos no del todo compatibles, y eso puede hacer fallar el juego en determinados casos.

De todos modos entiendo que convertir un juego, aunque lleve 40 minutos o 30 o lo que sea, también requiere, si se quiere hacer bien, un betatesting posterior, porque ni Superglús, ni PAWSEZ, son clones perfectos de PAW, y al final algun fallo puede hacer la aventura interminable o injugable, y esto pasará con Superglús, con PAWSEZ, con Paguaglus, etc.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 18:47 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1677
Ubicación: Argentina
Leyendo este post me doy cuenta que esta conversión no es difícil, pero lleva tiempo especialmente dependiendo de la longitud de la aventura al corregir manualmente el vocabulario.
Doy la razón a Uto cuando dice que ninguna herramienta automática es perfecta y que para evitar fallos que puedan llegar a impedir terminar o dificultar jugar la aventura debe hacerse un betatesting posterior.
Para solucionar lo del signo + que dice Balta, se me ocurre que al principio de la línea se podrían poner uno o más caracteres antes del más y establecer el color de los mismos del mismo color de fondo, o si Superglús permite al igual que otros lenguajes de programación, poner el signo + entre comillas tal como una leyenda que deba aparecer.

¡Saludos!


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 20:17 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Uto escribió:
En Superglús, a través de los tiempos, y muy especialmente recientemente gracias a Mastodon cuando se lio con lo de inPAWS, se encontraron muchos de estos casos y se corrigieron para que funcionaran exactamente como en PAW. No quiero desmerecer ni el trabajo de Zak ni el que puedas haber puesto tu después JSJ, pero es bastante probable que haya condactos no del todo compatibles, y eso puede hacer fallar el juego en determinados casos.


Yo sólo puedo comentar que PAWSEZ ha sido usada con éxito para convertir varias aventuras en su día: la Caverna, las 2 partes de Historias de Medialand y las 3 partes de Memorias de un Hobbit. Al menos.

En su día se probó y reprobó para que todo funcionase correctamente. Los condactos emulan las especificaciones de la Guía Técnica.

La compatibilidad de PAWSEZ no se puede asegurar al 100%, evidentemente porque no se han convertido con ella el 100% de aventuras de PAW. Pero la de Superglús tampoco. Ya el sólo hecho de tener que retocar a mano el diccionario me parece un proceso que puede meter "bugs". En este sentido PAWSEZ está más automatizada. Eso por no mencionar los temas que comentas de los "flags" de objetos.

Y si, evidentemente, la parte más sencilla del trabajo es convertir la aventura (los 40 y pico minutos esos). Pero es que luego hay que probarla y reprobarla hasta ver que es jugable.

Según la complejidad de la aventura, con ambos métodos, se pueden perder características.

En cualquier caso yo sólo quería poner de relieve que ya había HACE 10 AÑOS un método para trasladar aventuras de PAWS a sistemas modernos (máquina-Z / Glulx). Y, hasta ahora, nadie se había planteado (excepto Zak y yo mismo) el hacer conversiones de ese tipo.

Me alegra que se reabra el tema. A ver si alguno se anima y, en breve, tenemos un repositorio amplio de viejas "joyas" convertidas. :mrgreen:

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 20:54 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 23 Abr 2004 08:49
Mensajes: 2986
Ubicación: España (Galicia)
Hola !

Yo me planteo convertir "Estación acuario". En su momento intenté comentarla, y llegó un momento tal que me atasqué totalmente. Con el código fuente, es posible publicar una solución completa, y convertirla a Superglús para que todo el mundo la disfrute en una plataforma actual.

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 23:07 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
JSJ escribió:
En cualquier caso yo sólo quería poner de relieve que ya había HACE 10 AÑOS un método para trasladar aventuras de PAWS a sistemas modernos (máquina-Z / Glulx). Y, hasta ahora, nadie se había planteado (excepto Zak y yo mismo) el hacer conversiones de ese tipo.

Me alegra que se reabra el tema. A ver si alguno se anima y, en breve, tenemos un repositorio amplio de viejas "joyas" convertidas. :mrgreen:


A mi es que me parece que la conversión tiene poca utilidad. Se trata de aventuras antiguas muy limitadas, sacadas de su entorno "spectrumiano" resultan pobres. Es obvio que permiten tanto a jugadores ciegos como a los que no se llevan bien con los emuladores jugar a esas aventuras, pero no tengo muy claro que eso sea bueno (estamos rompiendo la obra tal y como se hizo, quitandole los graficos en muchos casos, el color, y sobre todo el contexto).

Otra cosa es coger una de esas aventuras y hacer un remake usando Superglús, pero eso es otra historia, al menos habría que hacer un "merge" del código extraido con la libreria de Superglus, para modernizar el asunto un poco, "remasterizar" los graficos, etc.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 13 Sep 2010 23:30 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 10 Sep 2004 00:17
Mensajes: 3093
Ubicación: Chile
Uto escribió:
Otra cosa es coger una de esas aventuras y hacer un remake usando Superglús, pero eso es otra historia, al menos habría que hacer un "merge" del código extraido con la libreria de Superglus, para modernizar el asunto un poco, "remasterizar" los graficos, etc.

Jamás mejor explicada la diferencia entre "portar" a una nueva plataforma (con todas las limitaciones ya anotadas) versus "recrear" en una nueva plataforma (alias remake) 8)

_________________
[Incanus] - Sígueme en itch.io
El Escritorio - Blog Aventurero y Literario


Arriba
 Perfil  
 
NotaPublicado: 14 Sep 2010 09:17 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Uto escribió:
A mi es que me parece que la conversión tiene poca utilidad. Se trata de aventuras antiguas muy limitadas, sacadas de su entorno "spectrumiano" resultan pobres.


Totalmente de acuerdo. Lo que no sé es porque entonces te has tomado la molestia de hacer un "tutorial" de conversión de PAW a Superglús... :mrgreen: :mrgreen: :mrgreen:

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
NotaPublicado: 14 Sep 2010 11:58 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
JSJ escribió:
Uto escribió:
A mi es que me parece que la conversión tiene poca utilidad. Se trata de aventuras antiguas muy limitadas, sacadas de su entorno "spectrumiano" resultan pobres.


Totalmente de acuerdo. Lo que no sé es porque entonces te has tomado la molestia de hacer un "tutorial" de conversión de PAW a Superglús... :mrgreen: :mrgreen: :mrgreen:


Porque me costaba menos que hacer que Superglus retro-soporte 5 caracteres, cosa que además no cuadraba con el proyecto en si, y porque Baltasar me lo iba a pedir XD

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 14 Sep 2010 15:17 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 22:29
Mensajes: 1592
Ubicación: R.I.P.
Uto escribió:
y porque Baltasar me lo iba a pedir XD


Esta última es una poderosa razón. No sea que se te mosquee y lo tengas enojado un dia de estos a la puerta de tu casa... ¡no veas como son los gallegos! (y no digamos las gallegas)... :lol: :lol: :lol:

_________________

"Tengo tres perros peligrosos: la ingratitud, la soberbia y la envidia. Cuando muerden dejan una herida profunda. (Martín Lutero)"


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 24 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM