Os presento el proyecto gamedev al que me estoy dedicando por completo. Se trata de Vircon32: una consola virtual de 32 bits que he diseñado, implementado y documentado. También he creado ya varios juegos y demos. Podéis ver bastantes de forma rápida en este video.
¿Qué es Vircon32?
Es una consola de videojuegos creada por mi desde cero. He diseñado la consola, he creado su emulador, e iré poco a poco creando un pequeño catálogo de juegos para ella. Todo esto lo pondré disponible para descargar totalmente gratis, y será de código abierto.
En este enlace podéis bajar el emulador, juegos, demos y las herramientas de desarrollo:
WEB DE VIRCON32
¿Cómo es esta consola?
Es una consola de 32 bits orientada a juegos indie 2D tipo pixel art. Está diseñada para ser muy simple de emular, y para que crear juegos en ella sea muy sencillo. En cuanto a potencia y características, es similar a consolas de la generación de la primera PlayStation aunque sin capacidades 3D.
Sus especificaciones son estas:
- Pantalla: 640x360 (16:9), a 60Hz. Color verdadero.
- Audio: 16 canales con calidad CD.
- Controles: Hasta 4 gamepads con cruceta, 6 botones y Start
- CPU de 32bits a 15MHz. 1 instrucción cada ciclo.
- Memoria RAM de 16MB
- Cartuchos de hasta 2.5GB de capacidad
- Puede usar una memory card para guardar la partida
- Dispone de una BIOS para gestión de errores y otros
¿Qué la diferencia de otras consolas inventadas?
Sistemas como Pico-8 y TIC80 están más planteados para hacer experimentos y minijuegos. Es difícil plantearse un juego más completo con las limitaciones de resolución y tamaño que tienen. Vircon32 está más orientada a juegos completos, aunque permite experimentar fácilmente.
Hay otra diferencia importante: Estos dos sistemas se basan en scripting con Lua, con lo cual su funcionamiento no tiene nada que ver con consolas reales. En cambio, Vircon32 está diseñado como una máquina real con todos sus componentes: CPU, chip grafico, etc. Pero siempre de una manera simplificada.
¿Por qué he creado este proyecto?
Me considero muy fan de las consolas clásicas y sus emuladores: creo que además de los juegos en sí, las propias plataformas tienen encanto. ¿Quién no ha pensado que le gustaría crear su propio juego en SNES o Mega Drive? Por desgracia estas consolas son complejas, están poco documentadas, y el proceso para crear juegos para ellas exige mucho esfuerzo: existen pocas herramientas, hay que programar en ensamblador y se debe conocer todos los chips de la máquina.
Vircon32 soluciona estos problemas siendo una máquina simplificada, con documentación completa y sin las limitaciones propias de aquellas máquinas (como paletas de colores, tiles, etc). Además dispone de herramientas de desarrollo que permiten programar en lenguaje C de forma muy directa, e importar nuestros archivos de imágenes y sonidos para usarlos en los juegos.
¿De qué se compone el proyecto completo?
Documentación:
- Especificaciones de la consola
- Guías de sus lenguajes de programación (C y ensamblador)
- Tutoriales para crear un emulador
- Tutoriales para aprender a programar juegos
Aplicaciones:
- Emulador de la consola
- Herramientas de programación
- Herramientas para importar archivos
Software para la consola:
- Bios
- Catálogo de juegos
- Programas de test
- Tutoriales
Éste es un proyecto ambicioso, y lo desarrollo yo solo, con lo cual será un proyecto a largo plazo. De todas formas trataré de escribir aquí con frecuencia aunque sea sólo para informar de pequeños avances.