sábado, 14 de junio de 2014

Pretty Kingdom Published!!!

Bueno, pues un año más, muy contentos de haber concluido con éxito nuestro propósito de publicar un juego en el concurso MSXDev. Como ya sabréis algunos, se trata del juego Pretty Kingdom, un juego tipo puzzle con algo de arcade, muy colorista (gracias al trabajo de Dario Fas) y con una música fantástica del maestro Wyz que rezuma puro Konami por todos sus costados.


En cuanto al desarrollo...

Los tiempos se han llevado con calma, lo cual se agradece y mucho. No hemos sufrido estrés por hacer el juego, la verdad. No como en MonsterHunter que fue terrible :)
Sin embargo, le hemos dedicado constancia y no lo hemos dejado estar desde que publicamos la entrada en el concurso y esto creo que es clave.

En cuanto a lo técnico, el juego se trata de una ROM de 32Kb. Lo normal. Bueno, la verdad es que viniendo de programar los MegaROM, se ha sufrido y mucho esto de los 32Kb que se terminan enseguida. Hubo que pensar bastante bien como codificar las pantallas para que ocupasen lo mínimo posible. Todo byte que se ha introducido esta metido con el horror de que la ROM se pase de tamaño :)

El juego se ha desarrollado usando SDCC. La lógica del juego pues está en C y luego las rutinas de acceso a BIOS, música, sonido, gráficos en Ensamblador embebido.
Los gráficos los exportamos de photoshop a formato un formato gráfico comprimido MSX. La música nos la pasaban en formato .wyz y con una tool de NLKEngine se empaquetaba, se preparaban unas cabeceras y se dejaba lista para usarse dentro del engine del juego.
Construimos un pequeño editor para las pantallas, montado con NLKEngine y que machacaba la ROM para poder probarlos con el emulador y básicamente, esa era nuestra suite de desarrollo.

A última hora, probando ya el juego en MSXs de verdad, vimos cosas maravillosas que en emulador no ocurrían, lo cual, me sorprende y aún hace más mágico el universo retro y sus retro ordenadores que nunca podrán copiarse al 100%.

Pero ya está! publicado :) Esperamos que os guste y que consigáis llegar hasta el final del juego ... porque tiene final .. y no es un "GameOver" .. lo prometo! jajajaja  :)

Os dejo un vídeo:


Descargar la ROM para MSX

Entrada a la ficha en la página oficial del concurso MSXDev 

sábado, 7 de junio de 2014

GAMEREADER Resurrection!

Un poco de historia .. que sino no tiene gracia esto :)



Intenciones

Con el propósito del proyecto MSX-VR .. ese en el que ando liado. Pues tenía en mente el hecho de poder conectar cartuchos de MSX real a los dispositivos o dispositivo hardware final que ejecutara todo el código del proyecto (véase un Android o un Rasberry o un Windows o un Linux o lo que sea)

Llevaba tiempo detrás de uno de esos "cacharritos" que sacó ASCII y más tarde SUNRISE ... y hace un par de semanas pues, se me dio la oportunidad de conseguir uno. Y eso hice, lo adquirí por un módico precio.

Lo cierto es que, cuando lo adquirí, no pensaba encontrarme tan solo en el fascinante mundo de entender el artilugio este ... pero vamos .. la soledad fue total XD .. menos mal que la gente te anima y apoya por la causa .. pero lo que es documentación o una mera pista de por donde van los tiros .. cero patatero.

Para decir verdad, el aparato este viene con un driver para Windows 32 bits hasta el XP. Y claro, de esto hace unos años y hoy en día pues ya están los Windows 64 bits y el Windows 7 y el Windows 8 .. pero no solo esto .. pues que también están los Android, los iOS, los Mac y los Linux y lo que venga bien.

Así que mi objetivo era ... entender este aparato y conseguir hacerlo funcionar en múltiples plataformas.

29 de Mayo

El aparato llega a casa y antes de tirarme a saco a mirar a bajo nivel, escupiendo bytes al driver USB a ver como me insultaba .. pues digo .. como todo, vamos a tantear el Internet.
En el Internet .. no hay nada de nada. Pero nada :)
Alguien habla del GameReader e incluso comenta cosas sobre el modelo de ASCII y de SUNRISE.
También veo pues que el del emulador del BLUEMSX se curró un dumpeador y un interface para atacar la MSXGR.DLL (el driver maravilloso y obsoleto que existía)

En conclusión .. No hay nada.

Así que lo siguiente es preguntar a la gente involucrada en el aparato .. no? .. pues eso hago .. hablo con la gente de SUNRISE y por lo visto, del hardware no tienen ni idea. Porras!!
Muy amables (todo hay que decirlo) ... me remiten al japones responsable de la creación del hardware ..ohhhh!!! mágico .. busco por Inet y el artista es el que está detrás de OCM (One Chip MSX) entre otras piezas de hardware magnificas.
La cuestión, consigo email y ataco directamente, primer intento ... resultado .. 0 respuestas jajajajaja
Persisto .. digo . .será porque soy un español maleducado con un inglés de pueblo poco polite .. ya sospecho que el hombre este será complicado de entrarle....
Pregunto a colegas del MSX y me dan alguna referencia alternativa de contacto .. la cosa no es fácil por lo visto. Y vuelvo a intentarlo.
Segundo intento ... miro en blogs de inglés polite, me lo curro ahí a tope como Shakespeare .. Mister y todo pongo .. resultados ... 0 respuestas!!! jajajjaja que triste soy.

En fin, durante dos días vago por las calles, triste ... no sabia que hacer con la caja negra esa que tenía encima la mesa... y como conectarme al trasto este por Dios!!

La Solución!

Que os creéis que os lo voy a contar . .así de fácil :)
Enga va ... pues na . .se me ocurrió meterme a escuchar directamente del driver USB de un Windows XP .. ahí .. mirando paquetes pasar en hexadecimal.
Monte un XP virtual y na . .a experimentar con el driver MSXGR.dll que si rula en XP y a ver hexadecimales pasar.
Cuando hackee todos los códigos .. pues me fui a mi Windows 7 original :) .. y ya supe que decirle al driver USB y en consecuencia al cacharrín .. lo pillé!!

Veis que fácil! :)

Prueba Empírica

He integrado todo este rollo en el proyecto MSX-VR y he montado un comando MSXVR-DOS llamado <GR> para ir haciendo probaturas. Un vídeo para vuestro deleite:



Por lo demás, a seguir trabajando!!

Saludarros!