Vircon32: Consola virtual de 32 bits. Gratis y con juegos propios

Os presento Vircon32. Es una nueva consola que he estado desarrollando desde 2019. Está diseñada desde cero y con sus propios componentes (CPU, chip gráfico, etc). El proyecto está ya muy avanzado: a día de hoy el diseño es ya definitivo, el emulador está terminado (disponible para Windows/Linux/Mac/Raspberry) y ya hay disponibles varios juegos. También hay herramientas de desarrollo, tutoriales... os podría contar muchas más cosas pero para eso tenéis su web www.vircon32.com.

Imagen


Este hilo lo hago para dar a conocer la consola a más gente, y la idea es irlo actualizando con las novedades que vaya habiendo sobre la consola: nuevos juegos, demos, tutoriales, herramientas...

¿Cómo es la consola?

En capacidad técnica es parecida a la generación de 32 bits (PSX / Saturn): Color verdadero, escalados y rotaciones, transparencias, sonido calidad CD, memory card... Pero como está diseñada para ser lo más simple posible, sus gráficos se limitan a las 2D. También está pensada para ser práctica de jugar: por ejemplo, usa resolución 360p en 16:9 para adaptarse mejor a las pantallas actuales.

Si alguien tiene curiosidad por saber más de cómo funciona la consola, en la web hay varias guías rápidas, y también una especificación completa.

¿Cómo son los juegos de esta consola?

Vircon32 es una consola totalmente nueva. NO es una máquina que emula juegos de otras consolas, sino que tiene sus propios juegos. Os podéis hacer una idea der los juegos que se pueden hacer viendo este video. En el canal de YouTube de la consola también tenéis también varios gameplays.



¿Por qué lo ofreces todo gratis?

No quiero crear barreras. La idea es que la consola la juegue cuanta más gente mejor. Además me gustaría ir creando una comunidad, y que algunas personas se vayan animando a crear sus propios juegos. Por eso todo es gratis y de código abierto (tanto el emulador como juegos, demos, etc.) y he tratado de hacer un diseño muy simple que sea fácil de usar y emular, pero que tenga potencia suficiente para hacer juegos interesantes.

Además la consola está totalmente documentada, y el todo código lo he escrito de forma organizada y con muchos comentarios. La idea es que, además de jugar, sea fácil para cualquiera hacer sus propios juegos o hasta sus propios emuladores o herramientas.

¿Habrá una versión física?

En algún momento sí, pero no es mi prioridad. Lo ideal sería tener conocimientos para hacer una versión FPGA (que de verdad simule el hardware). Como no los tengo, me limitaré a usar una Raspberry, diseñar una carcasa y crear una versión adaptada del emulador que pueda leer cartuchos, acceder a la memory card, responder a los botones de power y reset, etc...

En cuanto a los juegos, sí que existen ya algunas versiones físicas, aquí tenéis un video de unboxing:



Y aquí, como ejemplo, os dejo un par de páginas del manual de Basic Platformer (en inglés):

Imagen


Y por ahora esto es todo. Os iré poniendo las novedades por aquí.
Me parece un proyecto super interesante, y espero que vaya muy bien.
manicminer1976 escribió:Me parece un proyecto super interesante, y espero que vaya muy bien.

Muchas gracias!
De todas formas, aunque no haya mucho interés también lo continuaré. Aunque sea para mi :)
Pues una muy buena la verdad. Pico8 es algo similar y mira tiene su nicho fiel. Ojalá vaya bien el proyecto! Lo seguiré e cerca :)
Muy interesante felicidades por el proyecto
Aljenci escribió:Pues una muy buena la verdad. Pico8 es algo similar y mira tiene su nicho fiel. Ojalá vaya bien el proyecto! Lo seguiré e cerca :)

Pico8 tiene una comunidad muy activa. Pero para mi gusto la consola en sí es muy limitada, la veo más orientada a minijuegos y a experimentar que a ser una consola interesante de jugar. Es verdad que tiene algún juego más completo (como Celeste), pero personalmente no me veo jugando en una resolución tan pequeña. Y los juegos de Pico8 están limitados a unos pocos kilobytes así que tampoco permiten mucho.

En cambio Vircon32 está pensada para permitir juegos más completos y más pulidos técnicamente. La idea es poco a poco ir armando un pequeño catálogo para la consola para que sea una plataforma atractiva para jugar. Igual que hoy en muchos aparatos se emulan SNES, NeoGeo, etc, algún día podrían incluir también emulación de Vircon32 y además podrán incluir las ROMs legalmente ya que son gratis.

PD: Y además de todo esto, Pico8 cuesta dinero y no es un proyecto abierto. Seguro que a mucha gente esto le echa para atrás.
Al empezar a leer el hilo pensaba que había consola física jeje igualmente pinta muy bien la verdad, a ver si se va animando gente a sacar cosillas ya que este tipo de proyectos se nutren de eso precisamente y sale algo realmente bueno de aquí.
ainu3000 escribió:Al empezar a leer el hilo pensaba que había consola física jeje igualmente pinta muy bien la verdad, a ver si se va animando gente a sacar cosillas ya que este tipo de proyectos se nutren de eso precisamente y sale algo realmente bueno de aquí.

Sí, hace un año se organizó una jam para la consola en itch.io, y ahora me están empezando a pedir una segunda edición. Aparte de eso también hay ya algunas personas que se animaron a hacer pequeños juegos. Trato de poner las cosas lo más fáciles posible (hay varias guías y ejemplos para crear juegos), pero todo irá poco a poco.

Y bueno, las imágenes de la consola me temo que son solo renders jajaja. Sí quiero diseñar un prototipo físico de la consola, pero más por diversión y porque a la gente le gusta. No tengo planes de venderla ni nada.
Un proyecto dpm si señor.

Me encanta, lo sigo y te he mandado un mp.

Salu2.
Yo pensaba que tambien la habia fisica, un proyecto muy interesante si señor, mucho animo ya no por ventas que no es tu idea sino por llegar a cumplir tu objetivo! [tadoramo]
chiviputis escribió:Yo pensaba que tambien la habia fisica, un proyecto muy interesante si señor, mucho animo ya no por ventas que no es tu idea sino por llegar a cumplir tu objetivo! [tadoramo]

Claro, el ver la consola física nos gustaría a todos! Y el día que la haga también le pienso diseñar su caja de cartón, con instrucciones y demás como ya hice para los juegos [oki]

Algunas cosas avanzadas ya hay. El emulador ya funciona en la Raspberry, y tengo algunas ideas para los componentes, por ejemplo usar los pines I/O para conectar un botón de power y de reset. Pero faltarán más cosas. De todas formas me gustaría, a lo largo de este año, tener un primer prototipo. Aunque fuera uno muy cutre con caja de cartón, pero que ya se le puedan conectar sus 4 mandos y meter los cartuchos para jugar.

-_JC_- escribió:Un proyecto dpm si señor.
Me encanta, lo sigo y te he mandado un mp.
Salu2.

Visto, gracias! ;)
Pues lo dicho por privado, cuenta con nosotros para lo que necesites,

Vamos hablando y mucha suerte.
Lo último que avancé de la consola (antes de empezar este hilo) fueron cosas para el compilador de C. Después de los temas técnicos me apetecía dedicarme un poco a hacer más juegos. Ahora estoy haciendo uno con la típica tragaperras. Igual a muchos no os llama la atención pero hacía ya años que quería hacer algo así. Aquí podéis ver el diseño de la máquina y los controles.

Imagen

Harán falta ajustes en el diseño, porque si no el juego se nos hará cansino.
De momento he tomado estas decisiones:

* El juego será muy "arcade": llamativo y con partidas rápidas.
* No hay solo suerte, también habilidad: Retenciones, avances, doble o nada y la ruleta.
* Va a ser más fácil ganar que en una máquina real.

Pero lo que le va a dar más vida al juego es que podemos comprar cosas con el dinero. Tenemos nuestra casa, y podemos irla completando con muebles y decoración. Como veis en el menú principal voy a permitir guardar partidas, por si llegar a tener todo se hace muy largo:

Imagen
He avanzado algunas cosas de la tragaperras, pero por el camino me ha apetecido pausarlo para hacer un Tetris así que aquí os dejo un video con gameplay para que veais la pinta que tiene:



Como siempre, lo podéis descargar gratis desde la web de Vircon32, y el código fuente lo tenéis en GitHub.

Por cierto: no suelo actualizar mis juegos con diferentes versiones, pero en este es muy posible que en el futuro lo actualice con más modos de juego ;)
Muy Wapo, gracias x las novedades
-_JC_- escribió:Muy Wapo, gracias x las novedades

Gracias a ti!

Aunque me temo que voy a tener que acabar quitando ese video, y cambiando el nombre al juego. Me alertaron en Discord, parece ser que The Tetris Company lleva ya tiempo retirando clones de Tetris, incluso proyectos de código abierto y gratuitos! Bastante triste la verdad, que vayan contra proyectos amateur y que no venden ni monetizan nada, cuando se venden en internet 1000 maquinitas chinas con Tetris. Pero tampoco puedo hacer mucho más.

Yo seguiré manteniendo el juego en mi web, pero cambiaré el nombre y borraré cualquier mención a Tetris en la descripción, Con eso espero poder conservar el juego.
@carra enserio? Me parece de locos al punto al que estamos llegando donde se meten con proyectos sin ningún ánimo de lucro...
@ainu3000 Pues sí, parece de coña pero es en serio.
Debe preocuparles que les puedan desbancar un par de fans...
Porque lo que es denunciar a los 1000 clones piratas de AliExpress, eso no lo hacen parece.

Pero bueno, más vale prevenir. Así que ahora el juego se llama Vitris (Vircon tetris), el video está oculto y cualquier mención en la web y el código al juego Tetris se ha eliminado.
Estos días he estado haciendo algunos progresos para el futuro prototipo físico de la consola.

Los podéis ver aquí:

carra escribió:Estos días he estado haciendo algunos progresos para el futuro prototipo físico de la consola.

Los podéis ver aquí:



Me parece cojonudo y muy wapo! Aquí estamos al pie del cañón siguiendo el proyecto.
@carra increíble este proyecto. Lo voy siguiendo con tus novedades. Felicidades.
Me parece un proyectazo, lo sigo con atención
Gracias a los 3! Seguiré actualizando :)
muy buen proyecto lo seguire ilusionado, probados los juegos... me encantaria una consola en fisico
dromerin30 escribió:muy buen proyecto lo seguire ilusionado, probados los juegos... me encantaria una consola en fisico

Pues en principio te podrás hacer tu consola física si quieres [beer] . El diseño va a ser abierto, y yo voy publicando también en GitHub los diseños físicos que hago: las piezas en 3D para imprimir, las cajas, los manuales... y si hace falta me curraré también algunas instrucciones de montaje para que quede todo más fácil.

Entonces, ¿qué juegos has probado? ¿Todos? jeje
carra escribió:
dromerin30 escribió:muy buen proyecto lo seguire ilusionado, probados los juegos... me encantaria una consola en fisico

Pues en principio te podrás hacer tu consola física si quieres [beer] . El diseño va a ser abierto, y yo voy publicando también en GitHub los diseños físicos que hago: las piezas en 3D para imprimir, las cajas, los manuales... y si hace falta me curraré también algunas instrucciones de montaje para que quede todo más fácil.

Entonces, ¿qué juegos has probado? ¿Todos? jeje

Lastima no tener una impresora 3d, porque pinta muy interesante esa versión física.
Para la posible opción fpga, lo mismo podrías contactar con alguien como jotego, que yo me estoy quedando flipado como saca los cores de arcades como churros (el de cps1 en la pocket funciona realmente bien)

En cuanto al emulador ¿sabes si funciona en la Steam Deck?
vick21 escribió:En cuanto al emulador ¿sabes si funciona en la Steam Deck?

Pues, buena pregunta. Compilando desde el código fuente no debería haber problema, pero ya sería otra historia que vayan a funcionar los paquetes de binarios que preparé. Yo los hice para las familias de Linux Debian y RedHat, pero por lo que leo ahora SteamOS está basado en Arch Linux, y no tengo manera ahora mismo de comprobar si funciona Vircon.

De todas formas sí me confirmaron que en linux funciona bastante bien el emulador de Windows a bien a través de Wine. Así que es una opción.

PD: Ya lo de tener una versión FPGA sería una pasada, pero tiempo al tiempo jeje. De momento la consola tendrá que ir ampliando catálogo para que gente como jotego quiera dedicar tiempo a hacer un core.
pues de momento he probado el tipo arkanoid el de plataformas el tipo contra y el tetris todos chulos a falta de mejorarlos como concepto estsan muy bien. mi impresora 3d esperando archivos...
@dromerin30 Ah vale, el Arkanoid es que todavía es solo una demo jugable, no puedes ni morir jeje. Pero sí lo quiero ampliar a un juego completo. El Contra sí está completo, lo único que es cortito porque fue un juego de jam (lo hice en 10 días).

Ahora mismo lo más completo que tiene la consola es el Basic Platformer, que tiene 30 niveles. También te recomiendo probar el Triple Bubble porque aunque está sin terminar, la demo ya te deja jugar varios niveles.
He creado una versión nueva del emulador de la consola (v23.6.4). Aunque considero el emulador ya terminado, encontré un error en mi implementación.

Al dibujar con factores de escalado grandes no se estaba muestreando correctamente los pixels, y al agrandarlos tenían un tamaño incorrecto: se "comía los bordes", como podéis ver en esta comparativa.

Imagen

Uno de mis objetivos con Vircon32 es que su comportamiento sea totalmente documentado y reproducible. Asi que seguramente también complete un poco el documento de especificación de la GPU, para que todos estos casos queden claros.
Ha estado haciendo un juego de Mahjong para Vircon32. Ha llevado algún tiempo, pero ya está terminado. Como siempre, lo podéis bajar gratis en la web o en itch.io, y el código fuente lo tenéis en GitHub.

Creo que lo he pulido bastante. Tiene 4 tableros a elegir, y el juego garantiza que siempre se pueden resolver. Además podemos pedir pistas y tenemos deshacer y rehacer. La consola no tiene ratón pero las tiles se seleccionan de forma similar, moviendo un cursor con la cruceta del mando. Lo podéis ver en este GIF:

Imagen


Aquí tenéis un video de gameplay para ver la pinta:

En otro foro, un chaval que sigue la consola ha conseguido hacer un port experimental del emulador de Vircon32 para navegadores. Aquí lo veis corriendo en un móvil y parece que va bastante suave :)

Imagen

Mientras yo he podido hacer algún progreso en intentar crear un core de Vircon32 para Libretro. Esto haría fácil jugar a la consola en varios frontends conocidos, como Retroarch, RetroPie, RecalBox o Kodi (entre otros). Jugar a Vircon32 en esos sistemas sería solo añadir el core y descargarse algunas roms, que además en este caso son todas legales.

Hacer esto es un poco complejo y me llevará una serie de horas, pero creo que merecerá la pena. Así la consola es más accesible.
Más novedades. Me pasé un tiempo reescribiendo el emulador de Vircon32 para que fuera más modular. La idea es hacerlo mucho más fácil de portar a otros sistemas. Uno de esos ports va a ser crear un core de Vircon32 en libretro, que es el sistema que usan centros de emulación como retropie, retroarch y similares. Al final ha sido más fácil de lo que pensaba empezar a tener algo funcional, lo podéis ver en este GIF:

Imagen

Ojo, aunque parezca que está casi acabado aún le tendré que dar bastantes vueltas y corregir muchas cosas. Pero es muy buen comienzo. Eso sí, el mes de agosto siempre es complicado así que no sé cuándo seguiré con esto.
Sigue cuando puedas, faltaria más [ok]

Qué maravilla, seguiré el proyecto de cerca y gracias [beer]
Gracias a los dos!

Ya he podido ponerme con ello de nuevo y he hecho algunos progresos.
En este video os lo cuento y ya podéis ver cómo va quedando todo.

Ya sabéis que Unity acaba de crear mucha alarma e incertidumbre a los desarrolladores. Viendo esto creo que estaría bien recordar las garantías que ofrece Vircon32:

Imagen
Mola mucho el proyecto, enhorabuena!!
En cuanto a la edición física, sobre los mandos, recomendaría un par de sugerencias.

1) hacer los mandos con la forma de los mandos de la SF2000 (la segunda versión con los cuernos).
A pesar de ser un trozo de plástico chinoso, se sienten muy bien en las manos, tienen muy buena ergonomía
Parecen un mando de SNES evolucionado, el eslabón perdido entre el mando de SNES y el mando de PSX,

tienen un estilo "retro-futurista" que me mola mucho, lo cual me parece muy acertado para una consola de 32 bits de nueva hornada, los mandos que has diseñado me pegan más con una consola 16 bits

2) teniendo en cuenta que son mandos inalámbricos muy baratos que permiten configuraros como P1 y P2, podrías hacer que la VIRCON32 fuese compatible con las ondas de estos mandos (creo que usan la frecuencia 2.4Ghz), y se pudiesen usar directamente con la consola, seleccionando P1 o P2.

O si esto no te interesa y vas a hacer tus propios mandos, mejor que sean inalambricos con receptor USB 2.4Ghz

mucho ánimo con el proyecto!!

Imagen
Gracias @chanquetillo :)

Pues la verdad es que son bonitos esos mandos. El tema del prototipo físico lo he tocado poco últimamente, tengo las manos llenas con otras cosas de la consola. Pero todo llegará! Ahora mismo las pruebas las he hecho con mandos USB genéricos tipo SNES, los puedes ver en la segunda mitad de este video:



El diseño de la consola física pues puede ir cambiando según lo que me encuentre al hacerlo. Los render que hice son una referencia pero la consola real seguramente tendrá cambios. Aunque si me gustaría que los diseños, al igual que la consola en sí, se mantengan lo más simples posible! Pero por supuesto el diseño que yo haga será abierto y cualquiera se lo podrá modificar si quiere.

Ya el tema de que vayan por cable o inalámbricos me parece un poco lo de menos. Personalmente prefiero cable (no me gusta tener que cargar mandos, y menos cuando tienes 4) pero creo que se podrían adaptar de uno a otro fácilmente.
Hoy os pongo 2 noticias. Por un lado hay nuevo juego en la consola! Os lo podéis bajar aquí.
Como siempre es gratis y de código abierto. Este es un pequeño trailer del juego que he subido:



Y también, que sepáis que del 5 al 19 de noviembre organizo en itch.io la segunda game jam de Vircon32!
Por si a alguno os gusta hacer juegos ;)

Imagen


De momento tenemos 5 inscritos, aún no hay puestos premios pero seguramente se regalarán algunos juegos a los mejor votados (iré actualizando). En la web de Vircon32 están las herramientas de desarrollo de la consola, además de guías, tutoriales y otras ayudas.
La semana pasada di una charla sobre Vircon32 en un evento en Madrid. Os dejo aquí el video completo para quien le quiera echar un ojo. Es largo pero creo que toca un poco casi todo lo que he hecho hasta ahora en el proyecto.

Acaba de arrancar la segunda game jam de Vircon32, con 8 participantes por ahora. Durará 2 semanas así que estáis a tiempo de uniros si queréis probar.

El tema elegido ha sido "puntuación". Es un tema fácil de seguir porque se puede añadir puntos a casi cualquier tipo de juego. Además, para quien no sepa mucho de cómo hacer juegos para la consola, he preparado este ejemplo sencillo de cómo hacer un juego con puntos, usando las librerías que ya hay disponibles (mapas de tiles, colisiones, texto...). El código fuente del ejemplo está aquí.

Hace tiempo que no actualizo el hilo, y han pasado varias cosas. La segunda jam no tuvo el éxito que esperaría, y hubo menos juegos que en la primera. Tras ella di también una segunda charla, y al final por querer hacer tantas cosas en poco tiempo (y además de trabajar, etc) acabé un poco quemado. Así que tampoco he estado muy activo. Me he dado un tiempo de descanso.

Hace poco me compré una Anbernic RG552, que por estos foros supongo que os sonará. He portado el núcleo de RetroArch de mi consola a android y lo he puesto en la RG552. Así tengo ya una especie de "versión portátil" de Vircon32. La podéis ver en este video, estoy contento de como queda porque esta consola tiene pantalla 16:9 de buena calidad y con la resolución perfecta para hacer escalado entero.



Además me han ayudado en Discord a que el núcleo de RetroArch, además de Windows, Linux y Android y Raspberry Pi 4, también se pueda usar en sistemas Apple (iOS, macOS, tvOS) y en EmuELEC. Ahora estoy también en contacto con gente de AmberELEC para probarlo ahí.
Curiosa creación, ¿actualmente existe alguna implementación en alguna placa FPGA como la Misters?

Saludos.
doblete escribió:Curiosa creación, ¿actualmente existe alguna implementación en alguna placa FPGA como la Misters?

Saludos.


Pues me gustaría tenerla! Sería posible hacerlo, pero no tengo conocimientos de FPGA...

De todas formas los componentes de esta consola son "componentes virtuales". Es decir, están definidos a nivel funcional y podrían llegar a implementarse en hardware de distintas maneras. Digamos que lo importante es que cada funcionalidad se comporte según la especificación. Pero no tiene por qué haber una correspondencia 1 a 1 entre cada "chip" de la consola y el hardware que la haga funcionar.
44 respuestas