¿Un nuevo DAAD es posible?

Foro dedicado a la programación en todo tipo de sistemas clásicos.
Avatar de Usuario
Uto
MSX Turbo R
MSX Turbo R
Mensajes: 445
Registrado: 28 Abr 2014, 15:50
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: TV Games/Pong Clone
Gracias dadas: 5 veces
Gracias recibidas: 29 veces

¿Un nuevo DAAD es posible?

Mensajepor Uto » 12 Jun 2015, 17:29

Hola!

Desde hace mucho tiempo he estado dandole vueltas a la posibilidad de crear un nuevo PAW (si, luego cuento lo de DAAD) partiendo de Superglús. Para los que no lo sepáis, Superglús es un sistema de programacion estilo PAW que genera ejecutables para la máquina virtual Glulx, que tiene intérpretes en varias plataformas, pero que yo sepa ninguna de ellas es retro, entre otras cosas porque la máquina Glulx es una máquina de 32 bits.

Lo que hace Superglús es partir de un fichero en formato SCE (el que aceptaba el PAW de PC o CPC) y generar código ensamblador glulx, y luego une dicho código (que es específico para cada aventura) con una serie de ficheros también en ensamblador que tienen las cosas comunes, como el parser en sí, las rutinas de escribir texto, gráficos, etc.

La cuestión es que Superglús es más avanzado que PAW, incluso más avanzado que DAAD, y eso lo hace más potente, aunque no todo lo que se puede sacar hacer con Superglús sería "portable" a un Spectrum, por ejemplo, pero muchas cosas sí.

Cuando me he planteado qué debería hacer para hacer un fork de Superglús que generara código para Spectrum, había dos pasos:

1) Hacer que el compilador genere ensamblador de Z80 u otro lenguaje que luego pueda compilarse fácilmente a Z80 (por ejemplo en C para z88dk

2) Reconstruir las librerías del runtime básico en ese mismo lenguaje, ya sea ensamblador o C o lo que sea, de modo que al igual que en Superglús, una vez generado un fichero con las dos partes en asm/c se pueda pasar por un ensamblador o compilador para generar los juegos.

Pues bien, me temo que no estoy cualificado para lo segundo, aunque sí para lo primero. Por eso me pregunto... ¿alguien cualificado para lo primero querría colaborar en algo así?

Lo que propongo hacer ya lo he hecho para otra plataforma, es decir, ya he hecho otro runtime como el original de Superglús y he hecho un fork del compilador para que genere otro código, en este caso javascript, el resultado es ngPAWS (www.ngPAWS.com), que basicamente parte del código PAWs para generar un .js que puede ser jugado en un navegador. Quiero decir que tengo experiencia en hacerlo, pero no con un Spectrum.

Y ahora voy al tema del nuevo DAAD: si alguien se animara podríamos ir a por "un nuevo PAW" o podríamos ir a por "un nuevo DAAD", o al menos un mini DAAD para máquinas basadas en Z80. Al final sería cuestión de hacer el interprete/runtime con sus variaciones según la plataforma, y que el compilador genere la parte de base de datos necesaria. Afortunadamente Superglús ya incluye un preprocesador que pemite #ifdefs así que sería sencillo poner textos, gráficos, etc. diferentes según plataforma:

Código: Seleccionar todo

#ifdef Spectrum48
WRITE "Examinas la puerta y ves un pequeño orificio."
#elseifdef Spectrum128
WRITE "Examinas la puerta, y en la esquina superior ves un pequeño orificio."
#elseifdef CPC128
WRITE "Examinas la puerta, y en la esquina superior ves un pequeño orificio."
#endif


Bueno, ahí lo dejo, si alguien tiene dudas aquí estoy, y si queréis hablarlo más tranquilamente por IRC o por teléfono o similar, pues hablamos.

¡Ah! Ya se que existe inPAWS que permite trabajar con PAWS de una manera más cómoda, pero no deja de estar limitado a PAWs puro, y limitado al interprete original. Para el nuevo se me ocurre que se puede usar compresión para meter más juego o gráficos, aparte de dar soporte a cosas que Superglús o ngPAWS tienen como la indirección o simplemente no tener que andar definiendo mensajes en una tabla sino poder poner directamente WRITE 'loquesea'.
http://www.ngpaws.com
Twitter: @uto_dev

Avatar de Usuario
Demiurgo
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 601
Registrado: 26 Oct 2014, 11:04
Sistema Favorito: MSX
primer_sistema: (Otro)
consola_favorita: Vectrex
Primera consola: Sega Game Gear
Gracias dadas: 81 veces
Gracias recibidas: 199 veces

Re: ¿Un nuevo DAAD es posible?

Mensajepor Demiurgo » 12 Jun 2015, 19:21

Ojalá lo hagas... :-({|=

Hacer una aventurilla y que sea capaz de correr en los 4 ordenadores de 8 bits en que corrían las aventuras hechas con DAAD sería genial.

Y ya puestos, lo que sugerí hace 20 años, un diseñador visual en PC para crear el esqueleto de localidades y conexiones. ;)
Web del CAAD (Club de Aventuras AD): https://caad.club

Avatar de Usuario
explorer
MSX Turbo R
MSX Turbo R
Mensajes: 443
Registrado: 11 May 2014, 17:10
Sistema Favorito: Atari ST
primer_sistema: Atari 800XL/600XL
consola_favorita: Atari 2600
Primera consola: Atari 2600
Ubicación: Valladolid, España
Gracias dadas: 2 veces
Gracias recibidas: 162 veces
Contactar:

Re: ¿Un nuevo DAAD es posible?

Mensajepor explorer » 14 Jun 2015, 04:23

Generadores o ayudas para generar mapas para MUD hay unos cuantos...

Por ejemplo, MUD Map: A tool to create and organize user side maps for text-based games

Imagen

Avatar de Usuario
Demiurgo
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 601
Registrado: 26 Oct 2014, 11:04
Sistema Favorito: MSX
primer_sistema: (Otro)
consola_favorita: Vectrex
Primera consola: Sega Game Gear
Gracias dadas: 81 veces
Gracias recibidas: 199 veces

Re: ¿Un nuevo DAAD es posible?

Mensajepor Demiurgo » 14 Jun 2015, 10:59

Creo recordar que se hizo uno, pero no se continuó con el desarrollo porque se perdieron los fuentes. Lo importante de ese programa es que exportaba el mapeado creado al código del parser.
Web del CAAD (Club de Aventuras AD): https://caad.club


Volver a “Programación”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados