MKJUGAR.BAT
domingo, 12 de enero de 2025
Presentación
Me encanta la automatización, creo que mejora la productividad y si está bien programada, es útil, es algo que creo desde que comencé a usar un ordenador, de hecho es algo que vengo haciendo desde que uso un ordenador.
Jugar.bat
Alguna vez me preguntan (El amigo Alfonsitor casi me insultó por ello una vez xD) que por qué tiro de .bats y no de dosbox.conf / por juego, la respuesta es bien sencilla, cuando empecé a usar .bats para automatizar la presentación e información de los disquetes, no existía DOSBox (No existía ni Windows 98 xD), la idea era sencilla, creaba un .bat que funcionase como lanzador de un juego X en algún disquete, pero además debía contener alguna información "valiosa o relevante" sobre el mismo por si estaba largo tiempo sin acceder a ese Floppy.
Jugar.bat de los 90.
Desde el 486 a 66mhz de mi tío los "JUGAR.BAT" se veían así:
@echo off @echo Prince of persia @echo Si usas prince.exe megahit activas los trucos. @pause @prince
o asì:
@echo off @echo Blood @echo NOCAPINMYASS = Modo inmortal, LARA CROFT = Todas las Armas, JOJO = Mareo @pause @blood
Es decir, mostraba información relevante para mi yo de hace 30 años, alguna de esa información no era tan fácil de recabar a mediados de los 90 ya que Internet estaba aún en pañales.
Luego durante la época en la que realmente usé Win3.11 ya dejé un poco esta costumbre porque podía crear archivos .PIF y grupos específicos por ejemplo:
- Creaba un grupo de programas llamado Prince of Persia.
- Creaba el acceso directo pif al ejecutable del juego.
- Creaba otro acceso directo pif al ejecutable (con el truco) del juego.
- Creaba un archivo en Bloc de Notas o Write con la información relevante.
Y luego, sin previo aviso los sistemas Windows dejaron de soportar software de MS-DOS y hubo que tirar de DOSBox.
jugar.bat de OPCG
Old PC Games es un recopilatorio en CD del que sólo existen 2 copias (1 viva, que se sepa) xD con abandonware a finales de los 90 y principios de los 2000.
Bajaba muchos juegos de la selva del camaleón y sitios de abandonware, descomprimía y creaba un archivo JUGAR.BAT con info, luego volvía a comprimir y los añadía de nuevo sin contraseña, con el programa autoextraible de WinZIP y con el JUGAR.BAT nuevecito.
Eran del mismo tipo que los mostrados anteriormente pero incluían OPCG en el título escrito con ASCIIART (Con alguna web, recuerdo).
Jugar.bat de dosbox
Al principio no os voy a engañar me harté de usar front-ends y cosas pero echaba de menos la experiencia original así que retomé lo de escribir archivos .bat muy similares a los mostrados antes sencillos pero con otra motivación, la desaparición de la información según iban cerrando las webs de los juegos o estudios:
Jugar.bat de la serie CacaWare
Vamos a poner de ejemplo los juegos de la serie CacaWare:
El PC Rally no ponía los controles por defecto por ningún lado y me pareció correcto anunciar que era esquema QAOP antes de arrancar, esto y que ya había configurado el audio para DOSBox estándar.
El Tokenkai tenía su argumento perdido en The Internet Archive, así que se recuperó y se añadió al jugar.bat.
Jugar leía lo que había en cacaware.nfo, luego iniciaba el juego. Es decir, se generaban 2 archivos.
- Jugar.bat (Iniciaba el juego)
- cacaware.nfo ("Pantalla" de info)
Todo por la preservación y si bien la preservación es importante, esto me estaba duplicando el trabajo y no estaba automatizando ni siendo productivo. Es por esto que se empezó a diseñar la segunda versión del script que genera los "JUGAR.BAT" de la serie.
Por ejemplo, así se veía el JUGAR.BAT del juego ALADINO.
Jugar.bat (2.x) de la serie CacaWare
Tras la segunda temporada me di cuenta de algo, tenía que duplicar o triplicar trabajo a veces, tenía que escribir en el la entrada del blog, para luego venir con el editor de MS-DOS y pegar el texto también allí y formatearlo, etc.
Además estaba compartiendo algunos juegos en el grupo de Telegram que no tenían análisis, bien porque no encontré la suficiente información o simplemente porque no quería analizarlo si no jugarlo. Así que pensé que sería más fácil que el JUGAR.BAT mostrase información útil sobre los archivos del directorio y que cada usuario descubriese por sí mismo.
Esa fue la idea desde el primer momento, por ejemplo os pongo esta captura de las primeras versiones: (Spoiler)
Pero aquí había que añadir los archivos interesantes manualmente, así que decidí automatizarlo (y estilizarlo) en las siguientes versiones.
El script MKJUGAR busca una gran cantidad de archivos y extensiones y en base a eso crea un "JUGAR.BAT" personalizado en un único archivo (Sin necesidad de CACAWARE.NFO) además al ser sólo para DOSBox aproveché los colorines para darle un toque más cool jejejjee.
Por ejemplo en el siguiente juego (ONE MUST FALL: 2097) que publiqué en el grupo de Telegram esto muestra "JUGAR.BAT"
Dándonos gran cantidad de información sobre lo que contiene el directorio del juego por si necesitamos mirar.
¿Cómo funciona?
Archivos encontrados (Línea 1)
Básicamente son muchos IF (DOSBox no admite FOR DO)
- Si existe un archivo se aplica la variable.
- Si no existe no cambia la variable actual.
Por eso primero se buscan archivos genéricos (Por ejemplo *.txt) y luego específicos (Por ejemplo LEEME.TXT). Al principio la variable nos pondría que nos encontró archivos *.txt pero luego según corre el script nos indicaría que ecocntró LEEME.TXT.
Hay varias docenas de posibilidades, incluyendo archivos TXT, BAT, WRI, RTF, DOC e incluso algunos ejecutables.
Archivos encontrados (Línea 2)
Exactamente igual que en el caso anterior pero con nombres de archivos de configuración. (SETUP.EXE, SETUP.BAT, SETUP.COM, etc).
Archivos encontrados (Línea 3)
El archiconocido FILE_ID.DIZ, este archivo suele mostrar información útil sobre la versión del programa, etc. Si no sabes lo que es este archivo te enlazo wikipedia:
Archivos encontrados (Línea 4)
Para esta línea debemos interactuar nosotros antes de publicar el juego. Buscará lo siguiente:
- teclas.txt (Sólo si ponemos controles) Creado por mi en todo caso.
- historia.txt (Si incluye la historia) Creado por mi en todo caso e incluyendo las teclas.
- manual.* (Si es un manual completo)
- Si existe una carpeta llamada MANUAL\ con archivos.
- Si existe un archio PDF en la carpeta MANUAL\ (Esto lo añado yo en todo caso)
Ahora en el caso de Tokenkai, por ejemplo, hubiera copiado/pegado la historia en un archivo historia.txt y ya. Me despreocupo porque sé que cuando lance MKJUGAR.BAT va a reconocer el archivo historia.txt
Archivos encontrados (Línea 5)
En este caso busca en los directorios .FLOPPY\ e .ISO\ buscando archivos de imágenes de disquette o CD, es bastante útil para saber si un juego se ha lanzado (Al menos en el formato que uso en Cacaware) con respectiva imagen.
Conclusión.
Me he divertido muchísimo creando y mejorando el SCRIPT. Sr. Polilla decía que me iba a aburrir tras crearlo pero la verdad es que bueno... quizás para la Temporada 4 se me ocurra otra cosa :-D
A parte he dejado 4 líneas en blanco por si hay que añadir un choice como en el siguiente caso: (SPOILER)
También puede usarse para ofrecer información adicional al jugador como en el siguiente caso: (SPOILER)
Espero que la lectura os haya sido de agrado y si queréis jugar con MKJUGAR.BAT sólo tenéis que pedírmelo en nuestro grupo de Telegram para tener la versión más actualizada.
¡Un saludo a todos!
---
Etiquetas: #DOS#retro #informatica #batch