Sociales

RSS Twitter Facebook

martes, 16 de agosto de 2016

ConsolaViejuna: el script de la escena retro y homebrew #ZXdevs


La escena homebrew hierve en los últimos años con multitud de estudios y personas que se lanzan a desarrollar todos aquellos juegos que tienen en sus mentes. Quieren realizar sus sueños pero, una vez terminado el desarrollo, vienen las dificultades para distribuirlo dándole notoriedad. Es aquí donde ConsolaViejuna juega un papel destacado con un script que simplifica el proceso de búsqueda de juegos e instalación.

Inicio del proyecto

Todo empezó hace casi dos años, cuando las inquietudes blogueras aparecieron en mi vida, quería tener un blog propio, donde comentar algo y darle visibilidad en internet, soñaba con hacer un post cada día, no parar de generar contenido, tener miles de seguidores y todas esas milongas propias de un 'lamer' de la materia, nada más lejos de la realidad.

Tocaba elegir tema, ¿de qué hablo? ¿Qué digo, qué cuento? Por aquel entonces había adquirido una Raspberry Pi, aquel ordenador era un trasto la mar de atractivo y una buena idea era prepararla para que emulara los juegos de mi infancia, aquellas recreativas de 5 duros, donde me dejaba la paga cada domingo. Entonces y ahora sigo siendo un manco en cuanto habilidad con los juegos, pero qué buenos ratos pasaba. Me puse manos a la obra, investigué y leí durante varias horas, me di cuenta de que no era nada fácil, muchos archivos de configuración, roms que no funcionaban, una locura. Ya tenía un tema ideal del que escribir, cómo configurar una Raspberry Pi para poder emular los juegos de la infancia, ya tenía nombre, mi web se llamaría consolaviejuna.

Me puse manos a la obra, alojamiento, dominio, un wordpress instalado, elegir una apariencia, adaptar el tema visual a mi gusto, mucho trabajo, pero aprendí un montón. En días estaba publicando mi primer post, un buen comienzo.

Pasó el tiempo, y dejé algo de el lado el blog: el tiempo, los compromisos, perrería, vaguería, hasta que un día decidí hacerme una cuenta en Twitter, y eso me abrió el mundo hacia lo retro, empecer a seguir a desarrolladores, leer blogs muy interesantes, escuchar podcasts. Me di cuenta de que se hacían un montón de juegos para sistemas antiguos, era increíble el amor y las ganas que le ponían los desarrolladores, es algo que admiro y nunca deja de sorprenderme, lo hacen sin pedir nada a cambio, solo quieren que los juegues y los disfrutes, que pases un buen rato, me encantó la idea.

¿Qué podría hacer yo? ¿Qué aportaría al mundo hombrew? Mis conocimientos para hacer juegos son escasos, aunque la programación es mi medio de vida. Por aquel entonces seguía trasteando con una Raspberry Pi (esta vez el modelo 2), y me dije. ¿Porque no creo un script, una utilidad que automáticamente instale la escena retro en este miniordenador, que el usuario ejecute un comando y, por arte de magia, tenga un frontend cargado con todos los juegos de la escena retro española con sus carátulas y sus comentarios, todo ello dividido por categorías, donde las categorías serían los grupos de desarrolladores con sus juegos?

Había que ponerse manos a la obra, el script de la escena retro acababa de nacer.

Trayectoria

Lo primero que hice fue pedir permisos a los desarrolladores, iba a incluir sus juegos y aunque muchos de ellos en sus condiciones indican que los puedes distribuir sin ningún problema, me pareció que lo más correcto era hablar con ellos, en primera instancia hablé con Esp Soft, The Mojon Twins, Retroworks, RetrobytesProduction y Errazking, me contestaron todos fenomenalmente, me dijeron que podría añadirlos sin ningún tipo de problema.

Empecé con el desarrollo, primero hice un script para Raspberry Pi, que también funciona en Linux, y tuvo una buena aceptación, tras un tiempo me lié la manta a la cabeza y lo porté a windows.

Desarrollo en Linux y Raspberry Pi

Empecé con el script para Raspberry Pi, iba a usar la distrubución RetroPie, que ya trae los componentes necesarios y el frontend para cargar los juegos, sólo tenía que modificar algunos ficheros y descargar las roms homebrew, lo desarrolle en Bash Linux, mis conocimientos con el interpreté de comandos es bastante nulo, y eso que uso Linux en el día a día, pero aparte del dir y el ls poco más sabía, me empapé en la red, y poco a poco empecé a desarrollarlo, usé un interfaz amigable, el componente dialog de Linux te proporciona pantallas en modo texto la mar de elegantes.

La potencia de bash es muy grande, puedes hacer casi cualquier cosa (si sabes hacerlo claro), por ponerte un ejemplo, me sorprendió que, con una línea de código, puedes hacer una barra de progreso de un archivo descargándose. El script empezó a crecer y tuve que empezar a organizarlo, estructurarlo para no perderme entre tantas líneas de código.


Pantalla de inicio en script de la escena retro española en Linux y Raspberry Pi

Script en Bash Linux de la escena retro española

Una vez desarrollado el cuerpo principal del script, añadir nuevas categorías y juegos es bastante sencillo. Luego toca probar y testear, lo pruebo en mi propio equipo que tiene Linux y en varias Raspberry Pi que tengo para trastear.


Pantalla de inicio en script de la escena retro española en Linux y Raspberry Pi

Como herramientas uso un editor de texto llamado Gedit, para alojar el proyecto uso Git, así puedo retomarlo cuando quiera y donde quiera.

Desarrollo en Windows

Pasado un tiempo, se me pasó por la cabeza portar el script de la escena retro española a windows, es algo que llevaba pensando tiempo, pero me echaba para atrás el no saber cómo llevarlo a cabo, llevo casi dos años sin tocar windows y pensé que me costaría bastante, pero era consciente que el script tendría una mayor aceptación, casi el 98% de los usuarios usa este sistema operativo. Me puse manos a la obra y decidí a usar al herramienta NSIS, un instalador de programas Open Source que tiene su propio lenguaje. Tocaba otra vez mirar documentación, ejemplos, how to's, etc.


Me eché las manos a la cabeza, no lo tendría terminado en mucho tiempo, pero no me desanimé y me puse manos a la obra. Estaba de vacaciones, tenía alguna mañana y tarde disponible completamente, aproveché y me quedé sorprendido que en sólo cuatro días lo tuviera terminado, acabado y lo mejor de todo, funcionando.


Compilador NSIS, que crea el el ejecutable del instalador en windows

El lenguaje de NSIS es bastante sencillo, y hay multitud de ejemplos en la red, permite estructuras de control, detección de directorios, me ha encantado. Para el instalador de Windows he usado el frontend EmulationStation, los emuladores Vice, WinApe, y el emulador multipropósito retroarch, muy potente. En total el instalador no ocupa más de 75 MB. Lo he estado testando en Windows 7, 8 y 10 en 32 y 64 bits, por lo general funciona bien, aunque hay problemas en equipos con tarjetas gráficas integradas Intel si son muy antiguas.


Pantalla de inicio del instalador de la escena retro española en windows

Cómo herramientas he usado NSIS de NullSoft y cómo editor del script un Notepad++.

Planes futuros

Sin duda, esto no ha echo nada más que empezar, aún tengo mucho trabajo por delante, aun me quedan por añadir a varios desarrolladores a los que he pedido permiso, tales cómo Retroworks, Errazking y RetrobytesProduction, la revista 'Yo tenía un juego' me ha ofrecido sus juegos. También quiero añadir una categoría donde estarán aquellos desarrolladores que tienen sólo uno o dos juegos, esa categoría se llamará Enciclopedia Hombrew, a los que tengo que agradecer que me hayan cedido el uso de su logo y alguna de sus descripciones de sus juegos, y como meta final me gustaría añadir la categoría Locomalito.


Front-end con la descripción de los juegos de Esp Soft.Comunidad

Sin duda es una de las mejores experiencias que me llevo, es increíble como gente que no te conoce de nada, te presta su ayuda, ya sea en forma de agradecimientos, consejos o juegos. En primera instancia cuando pedí permiso y posteriormente cuando publiqué el script. Sobre todo he notado que en Windows ha tenido una mayor aceptación, no todos somos unos 'frikis' locos que usamos cómo religión el Bash de Linux ;)

Mi ilusión, que se instale, que se use, que se jueguen los juegos, que se interesen por los desarroladores, sobre todo que quien lo instale, pase un buen rato y pueda olvidarse por un momento de otros problemas.

Agradecimientos

Son tantos, a vosotros ZXDevs por el interés (sabéis que tenéis reservado un espacio en el instalador con Run&Plunder y los que vengan), a The Mojon Twins, EspSoft, Retroworks, RetroBytes Production, a los creadores de la Enciclopedia Homebrew a la revista 'Yo tenía un juego' (disculpas si se me olvida alguien) y sobre todo a aquellas personas que están a mi lado día a día, sobre todo por si les he robado un poco de su tiempo.

Instala el Script

Script para Linux y Raspberry
Instalador para windows