ObjetivoEl objetivo de este tutorial, es introducir a la gente en el uso del front-end Attract Mode. Conocer su estructura de datos, como editarla. Como configurar un emulador y como agregar nuevos emuladores, crear y editar las listas de rom para cada emulador.
IntroducciónAttract mode es un front-end gráfico, similar a otros ya existentes y más conocidos como puede ser Mala o Hyperspin. Su función es servir como un programa gráfico que permita lanzar emuladores mediante comandos y usando dispositivos como gamepad o CP en vez del clásico ratón y teclado del PC convencional.
Attract Mode se diferencia de otros front-end en ser open source. Está programado en C++ y basa su funcionalidad en la librería SFML, esto permite al front-end funcionar sobre diferentes plataformas, como linux, macOX, incluso, podemos encontrar port a RPI (Llinux ARM).
Además, Attract Mode se caracteriza por ser un front-end sumamente potente y de muy bajo recursos, con lo cual es ideal para equipos antiguos o modestos, pero que esto no los engañe, Attract mode no se queda atrás y tiene todo lo necesario para crear y mostrar vistosos layout, filtros, etc.
Requisitos-- conocimientos básicos/medios de windows.
--
Attract mode.--
Notepad ++ (opcional) Editor de archivos de texto.
--
7zip (opcional) Comprimir/descomprimir archivos.
Configurando el sistemaPodría comenzar de lleno hablando de Attract Mode, sin embargo la experiencia me ha enseñado que para poder configurar correctamente los diferentes emuladores, siempre se hace necesario hacer algunas modificaciones extras, ya sea creando un archivo BAT o configurando correctamente primero el emulador y esto, aunque parezca simple, a veces complica a los usuarios menos experimentados.
Así que he decidido comenzar por enseñar un par de trucos que nos servirán para hacer más simple estos extras.
1) Las extensiones. Microsoft, por defecto (no recuerdo bien en que versión de microsoft windows comenzaron a ocultar la extensión, creo que fue desde XP) oculta las extensiones de los archivos y los reemplaza con el icono del programa que él cree que es mejor para abrir dicho archivo. Supuestamente porque el usuario promedio encuentra muy complicado ver algo como ".txt" al final del nombre del archivo.
Visión de microsoft sobre como sería el mundo si se mostrará por defecto la extensión de los archivos.Lo primero que haremos será reconfigurar el "file explorer" de windows para que nos muestre las extensiones de los archivos.
- Clic en el menú de inicio.
- Escribir "file options" en la barra de búsqueda de programas.
En windows XP, como no tiene barra de búsqueda, pueden ir a "menú de inicio" -> "control panel" -> "Appearance and Personalization" -> "Folder Options"
- En la ventana que se abrirá, nos vamos a la pestaña "View" y ahí buscamos y desmarcamos la opción que dice "Hide extensions for known file types"
2) Command shell o la famosa ventanita negra con letras blancas. Windows es un OS gráfico que nos tiene acostumbrados a controlar todo con el clic de un mouse. Sin embargo, cuando se trata de comunicar dos programas, como es el caso de un front-end que debe lanzar al emulador, es necesario meternos de lleno con lo comandos. Y la forma que tenemos de interactuar con los comandos, es con "Command shell".
Típica Command shell, uso del comando "dir" y su respectiva salida.Abrir el Command Shell de windows es tan fácil como buscar el programa "CMS" en la barra de búsqueda de windows, sin embargo, una vez abierta esta aplicación se hace necesario navegar por nuestro PC mediante comandos para llegar al directorio donde queremos trabajar y eso, puede resultar engorroso para muchos usuario. Así que por comodidad vamos a agregar una opción para lanzar el command shell en la ubicación que deseemos mediante el menú contextual (ese que sale con el botón derecho del mouse)
-- windows 7 en adelante, mientras mantenemos la tecla "shift" presionada hacemos clic derecho sobre el directorio que queremos y buscamos la opción "Open Command windows here" (Abrir ventana de comandos aquí).
-- window XP. El truco anterior no funciona con los windows antiguos, así que tendremos que agregar dicha opción por nosotros mismos.
Por cierto, este truco si funciona con los windows actuales, solo que considero que la opción de arriba es más fácil, pero nada impide que usen esto con windows 7, 8 o 10.
----- Abran el notepad, ahí copian el siguiente texto:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\CommandPrompt]
@="Abrir terminal aqui"
[HKEY_CLASSES_ROOT\Directory\shell\CommandPrompt\Command]
@="cmd.exe /k cd %1"
----- Guarden el archivo y le colocan por nombre "terminal.reg".
----- Ejecuten el archivo "terminal.red" haciendo clic sobre él. Windows va a pedir una confirmación, le dicen "si" y luego debería salir un mensaje diciendo que se agregó con éxito.
----- Ahora, si hacen clic derecho sobre cualquier CARPETA les debería salir la opción de abrir el terminar
Abrir terminal aquí en menú contextual de windows XP.Primero pasos con Attract Mode.Obviamente, necesitamos descargar Attract Mode, lo podemos hacer desde su página oficial
aquíPara windows verán dos opciones, de 32 y 64 bit. Bajen la que mejor se acomode a su OS (los archivos de configuración que se generan son los mismos, así que la configuración que hagan con uno, les servirá para la otra sin problema). En este tutorial usaré la versión 2.0 para windows de 64 bit.
Una vez descargado el archivo, lo deberemos mover a la ruta definitiva donde queramos trabajar, esta ruta es completamente a gusto del consumidor.
Para este tutorial voy a crear un directorio en C: que se llamará "Attract" y que será la ruta donde voy a trabajar con el front-end. Así que copiamos el archivo que descargamos a "c:\attract" y lo descomprimimos.
-- Clic derecho sobre el archivo que descargamos ("attract-v2.0.0-win64.zip" en mi caso). menú "7-zip" -> "Extract here". (si no usan el programa 7zip, entonces clic derecho y la opción "Extract all ..." y siguen las instrucciones de la ventana)
Attract mode recién descomprimido. El directorio raíz sería "C:\attract".Al finalizar tendremos un único ejecutable "attract.exe" este es el archivo que debemos usar para correr el front-end. Un montón de archivo "cfg" que son los archivos de configuración y que no son más que archivos de texto plano (o sea, se pueden editar con notepad) y varias carpetas donde vamos a guardar cosas como los layout, listas de rom. etc.
Si ejecutamos el archivo "attract.exe" debería ejecutarse el front-end. y al ser la primera vez que lo ejecutamos, la primera ventana que nos recibirá será una pantalla negra con letras, donde pedirá que indiquemos el idioma a usar. Obviamente voy a seleccionar "español" (nos movemos con las flechas "up" y "down" y aceptamos con "enter") y ahora nos saldrá el menú principal de attract.
Nota: Pueden salir del emulador con la tecla "ESC"Primeras configuracionesAntes de comenzar a configurar, quiero comentar que existen 2 formas de hacerlo. La primera, la más amigable sería usar los menú de Attract. La segunda sería editar directamente los archivos de configuración.
Personalmente encuentro mucho más amigable y potente la segunda opción y será la que usaré mayoritariamente a lo largo de este tutorial. Sin embargo, los primeros pasos los haré con los menú del programa, para que aprendan como se usan.
--Emuladores: Acá se configuran la forma en la cual Attract lanzará cada emulador, como la ruta al emulador en si, los parámetros, la ruta a las rom, etc.
-- Pantallas: Acá se configuran los diferentes layout o temas que queramos usar. Ojo que está opción no es para crearlos, si no, para configurarlos, por ejemplo, hacer que tal o cual tema vaya con cual emulador o modificar la forma de funcionar del tema si este lo permite.
-- Controles: La configuración de las teclas, gamepad y botones que vayamos a usar para controlar el front-end. Ojo, no confundir con la configuración de los controles de los emuladores, que eso es otra cosa y lo veremos más adelante.
-- Sonido: Permite asociar archivos de sonido a ciertas acciones, como podría ser cambiar de emulador, etc. Además acá se configura el volumen de los vídeos que usemos como SNAP.
-- Intro: Cambiar el comportamiento que tendrá Attract al iniciarse, como puede ser el vídeo de entrada.
-- Protector de pantalla: Creo que el propio nombre es auto-explicativo
-- Plug-ins Acá se configuran los script para añadir funcionalidades extras. Lo veremos con calma más adelante
-- Scraper Acá tenemos las opciones del Scraper, que es la base de datos desde donde podemos obtener información de los juegos, como puede ser nombre, controles, año de lanzamiento, o las artes para las Snap, wheel, etc.
-- General Opciones general del front-end como podría ser el idioma, fuente de texto por defecto, etc.
-- Volver: La opción para salir del menú
Como comentaba antes, por defecto podemos movernos por los menú con las 4 flechas de dirección, la tecla "
Enter" se usa como "ACEPTAR" y la tecla "ESC" sirve para salir/cancelar.
Lo primero que haremos, será movernos al menú "Controles" y entrar con "
enter". El menú cambiará y nos mostrará un listado de acciones donde podemos asignar una o varias teclas/botones a cada acción.
Como yo quiero poder controlar los menú desde mi gamepad en vez de hacerlo con el teclado, tendré que modificar las siguientes acciones:
--Seleccionar: Es la acción "Aceptar", vemos que por defecto está asignada a "enter" y a "Left control".
Para modificarla, simplemente le damos a "enter" y el menú volverá a cambiar y nos mostrará una lista de todos las teclas/botones que están asociados a esta acción.
Si queremos agregar uno nuevo, nos movemos hasta la opción "agregar control" y le damos a "enter". Ahora, debemos presionar la tecla o botón que queremos usar, en mi caso, será el botón 0 del gamepad 0.
Si nos equivocamos, podemos borrar el control, simplemente seleccionadolo y presionando "enter" y luego volvemos a "agregar control".
Para finalizar, le damos a la opción y volver y listo.
Además de la acción "seleccionar" debemos modificar las acciones: "Arriba", "Abajo", "pantalla previa", "pantalla siguiente", "salir" y "configuración" (que se usa para abrir este menú)
Al finalizar, mi menú se ve así:
Por ejemplo, la acción "arriba" dice "up O joy0 UP" y eso significa que puedo subir, tanto con la tecla "up" del teclado, como con la cruceta de mi gamepad 0.
Para finalizar, simplemente nos vamos abajo de todo y le damos a la opción "volver"
Configurando nuestro primer EmuladorAhora que podemos navegar por los menú de Attract Mode usando nuestro gamepad, llegó la hora de configurar nuestro primer emulador. En mi caso usaré un mame común y corriente, la versión 151.
Lo políticamente correcto, sería primero configurar mame y asegurarnos que funcione, pero como eso alargaría mucho más el tutorial lo dejaré para otro capitulo y partiré de la base que ya tenemos correctamente funcionando mame en nuestro PC, con algunas rom, bios y todo lo que sea necesario.
En el menú principal de Attract nos vamos a la opción "emuladores", veremos que por defecto ya vienen varios emuladores preconfigurados, en esa lista buscaremos la opción "mame".
opciones preconfiguradas de Attract para Mame.Podemos ver que por defecto, Attract Mode espera encontrar a mame y sus rom en la ruta "$HOME/mame/mame" donde "$HOME" es la carpeta del usuario, por defecto sería "C:\Users\<Nombre del usario>\". Podemos entonces, mover nuestro emulador a ese lugar o cambiar las rutas.
En mi caso, cambiaré las rutas para que apunten a donde tengo mis archivos de mame:
Nombre del emulador: no hay mucho que decir, salvo que no lo podemos cambiar, por lo menos no desde aquí.
Ejecutable: Ruta al emulador.
yo cambiaré "$HOME/mame/mame" por "C:\Afrodita\juegos\mame\mame_151HLSL\mame64.exe" noten que además debí agregar el nombre del archivo ejecutable, o sea, debí agregar al final "mame64.exe"
Argumentos: Argumentos o parámetros que Attract debe pasarle al emulador, en este caso sería el nombre de la rom, así que dejamos el valor por defecto "[name]"
Ruta(s) de roms: La ruta a donde tengamos las rom para mame.
Extensión(es) de rom: La extensión con la cual debe buscar, por defecto busca todos los archivos que sean .zip, .7z y los directorios. Yo voy a eliminar la opción de directorio y dejaré solo los .zip y .7z (noten que las diferentes opciones se separan por un punto y coma)
Identificador de sistema, fuente de información y Archivo adicionales se usan para que Attract Mode pueda buscar información de los juegos, tal como el nombre completo, año de lanzamiento, artes, etc. De momento dejamos esto tal cual está.
Tiempo mínimo de ejecución Attract-Mode esperará después de ejecutar este emulador hasta que haya transcurrido el tiempo mínimo de ejecución y pasará a ejecución de fondo
Tecla rápida de salida: Acá podemos hacer que Attract Mode cierre el emulador al presionar la tecla/botón que asignemos, ideal para aquellos emuladores que no se cierran con ESC, o que requieren el uso de un mouse, etc.
Flyer, Marquee, snap, wheel y agregar tema se usan para agregar las artes, de momento no veremos nada de esto, salvo decir que yo coloqué las rutas a las SNAP de mame.
Suprimir este emulador: Se usa para borrar este emulador del front-end.
Generar lista de rom: Esta es posiblemente la opción más importante que tenemos a la hora de crear o configurar un emulador. Una vez hayamos configurado todo el resto de las opicones y rutas, entonces debemos venir a esta opción y darle "aceptar".
Esta opción buscará todas las rom que existan en el directorio rom y las agregará a la base de datos de Attract, además, si tenemos correctamente configurada la opción de Fuente de información, entonces Attract cambiará el nombre de la rom por el nombre del juego y agregará toda información adicional como podría ser el número de jugadores, año de lanzamiento, etc.
Así quedó mi ventana de configuración. Para finalizar le damos a la opción "Generar lista de rom" y saldrá un contador de avance. Cuando terminé, tendremos creada la base de datos de ese emulador.
Ahora, si salimos de los menú veremos que tenemos un sistema o emulador funcionado.
Cambiando e Layout.Luego de tener funcionando el front-end y a lo menos un emulador, lo siguiente sería configurar un poco los temas o layout.
Nuevamente, la forma simple de hacerlo, es tirar de los menú que trae Attract. Así que abrimos el menú (tecla "tabular" por defecto) y nos vamos a la opción "pantallas".
Dentro de pantallas veremos una lista de los sistemas (emuladores) que tenemos funcionando, de momento solo nos saldría "Mame" y una opción para agregar más "pantallas" y en este punto quiero detenerme un segundo.
Lo normal es tener una pantalla (tema o layout) por sistema (o emulador) sin embargo, es posible agregar más de una pantalla a un mismo emulador con diferentes opciones, por ejemplo, podría tener una pantalla diferente para los juegos favoritos. De ahí que podamos crear más pantallas que la cantidad de sistemas que tenemos. Esto lo veremos más adelante, de momento, solo me concentraré en que un sistema (o emulador) deberá tener una pantalla (o layout) asociado.
Seleccionamos la opción "mame" y en el siguiente menú, le daremos "enter" a la opción "Tema". notaremos que la opción "tema" se remarcar por un cuadro y usando las flechas del teclado podremos cambiar el tema de la pantalla. Los temas que podemos seleccionar serán aquellos que tengamos en el directorio "layouts" dentro del directorio raíz de Attract.
Seleccionemos el valor "basic" y salgamos con el la opción "volver" o con la tecla "Esc" y veremos que la pantalla ahora es diferente.
Ahora pueden probar cambiando los temas y viendo cual les gusta más. También pueden descargar temas de internet y si los colocan en el directorio "layouts" les saldrá la opción de seleccionarlo en el menú "temas".
Opciones del menú pantalla:
Nombre: Nombre de la pantalla, normalmente será el mismo nombre del sistema.
Tema: el layout propiamente tal que usará la pantalla.
Colección/lista de rom: Básicamente el archivo de base de datos de los juegos que deberá mostrar esta pantalla.
Show en cycle y show en menu: Estás opciones, le dicen a Attract si esta pantalla puede ser modificada por las acciones "siguiente/anterior pantalla".
Como comentaba más arriba, es posible tener diferentes pantallas con diferentes listas de juegos o filtros. Así por ejemplo podemos tener una pantalla para los juegos favoritos, otra para los retos, etc. Y claro, podemos asociar botones o teclas para cambia/ciclar entre ellos.
Por ejemplo, podría usar la palanca para cambiar entre sistemas/emuladores y luego asignar unos botones para cambiar entre las diferentes listas de ese emulador como podría ser favoritos, retos, etc.
Agrego, que esto se puede hacer de manera más simple usando solo los filtros, pero la ventaja de hacerlo como pantalla, es que podemos modificar el tema por cada lista de juegos. Cosa que si solo tiramos de filtro no podríamos hacer.
Filtro Global, filtro y agregar filto: Este apartado merece (y espero poder escribir) un tutorial completo, pero en resumen diré que acá podemos modificar el comportamiento de los filtros por defecto para esta pantalla. Así por ejemplo, podría configurar una pantalla para que solo muestre los juegos favoritos o los juegos que no son clones, etc.
Opciones de temas: Algunos layout permiten modificar ciertos parámetros que alteran su funcionamiento. Sin embargo esto depende del layout.
Por ejemplo, el layout "basic" no tiene ningún parámetro, pero si seleccionamos el layout "orbit" en la opción "tema", veremos que hay un montón de opciones, entre las cuales tenemos una que dice "background" y que nos permite asignar una imagen de fondo, pero claro, esto solo funcionará si el layout seleccionado en tema es el orbit.
Por supuesto que ahora nos tocaría hacer algo con ese layout, aprender a editar la base de datos de rom y un montón de otras cosas, pero eso quedará para futuras entregas de este tutorial.