[Devlog] Vircon32: Creando mi propia consola

carra

Como regalo fin de año os dejo esta demo técnica:
Vircon32 corriendo el video musical Bad Apple :sunglasses:
(para quien tenga curiosidad, aquí está el código fuente)

Como sabéis esta consola no debería poder reproducir video, porque sólo puede dibujar desde las imágenes fijas del cartucho y no tiene capacidad para almacenar tantas. Tampoco puede manejar directamente los pixels de la pantalla, con lo cual la única solución viable es comprimir los frames de una manera que permita redibujarlos al vuelo según se reproduce.

Por cierto: aunque esto es sólo una demo técnica, realmente sí se podrían crear escenas de video en juegos reales usando este método. Este video es monocromo pero con un método similar se podrían comprimir escenas de varios colores, al estilo de los videos de Flashback o Another World.

5 1 respuesta
Jastro

#1051 vaya ida de olla :O

1
carra

Tenemos nuevo juego: Savannah Sprint. Este juego lo hizo William Alley, un estudiante de la facultad de SUNY Corning, y ahora me han hecho llegar los fuentes para publicarlo. Ya lo mostré un poco en el video que hice de la universidad pero aquí tenéis más gameplay:

El juego es un endless runner y podemos saltar y deslizarnos para esquivar distintos obstáculos y sobrevivir lo más posible. Hay algunos obstáculos muy difíciles, así que durar un rato puede ser difícil!

4 1 respuesta
r2d2rigo

#1053 ojito, vaya calidad. Poco a poco pero se esta poniendo un panorama interesante con la consola.

1 1 respuesta
carra

#1054 No está mal la verdad.
Y eso que aún no sabemos lo que preparas :stuck_out_tongue_closed_eyes:

1 respuesta
r2d2rigo

#1055 yo ya dije que no era un juego, aún sigo peleándome con cmake para ver si logro que compile con VS2022.

carra

Acabo de actualizar las herramientas de desarrollo: versión 25.1.4.

El cambio más importante es que hay un programa nuevo llamado "joinpngs". Con esta herramienta podemos unir todas las imágenes PNG de una carpeta en una única imagen más grande, automáticamente. Con esto nos será mucho más fácil no usar una textura distinta para cada pequeña imagen (que para el rendimiento es mucho peor).

Este programa también nos crea un proyecto para el editor de regiones. Así podemos editar los puntos de referencia de cada región visualmente, y exportar código C o ASM para usar la textura en nuestros programas. Hasta podemos darle indicaciones de que algunas de las imágenes son matrices, y nos las definirá como tales.

Con esta versión considero las herramientas de desarrollo terminadas por el momento.

9 1 respuesta
Jastro

#1057 esto hubiera estado bien cuando ocean storm, supongo que por eso has hecho la herramienta, por la cantidad de pngs sueltos que he dejado por ahi jajajajjaja

1 1 respuesta
carra

#1058 Jajaja no creas, también a Willems le pasó lo mismo en algún juego de los primeros que hizo. Llevo tiempo queriendo hacer esa herramienta, pero entre que no era tan fácil y que siempre tengo mucho entre manos... se fue retrasando :man_shrugging:

1 respuesta
r2d2rigo

#1059 no era más fácil hacer un plugin/fork de https://github.com/walteryoung/SpriteSheetPacker ?

1 respuesta
carra

#1060 Pues no había visto esto nunca.
(Por cierto, se ve mejor lo que es en su web).
Está bien tenerlo localizado como alternativa, gracias!

De todas formas siempre está bien tenerlo como parte de las herramientas "oficiales", así aseguras que la gente lo conoce y lo usa. Aparte la parte de la exportación sí que es específica de Vircon claro, eso lo habría tenido que hacer igual para conectar con el resto.

7 días después
carra

Ahora que ha terminado la votación de la jam ya os puedo enseñar mejor OceanStorm :wink:. Así que os dejo aquí mi partida completa.

También Willems Davy le dedicó un video a los últimos juegos, y aquí le podéis ver jugando OceanStorm pero ya en modo lujo! En un mueble arcade y con los menús preparados con videos de demo de cada juego:

Os cuento también algunas curiosidades sobre OceanStorm que no se han dicho hasta ahora:

Es el primer juego de Vircon32 en hacer varias cosas:

  • Tener selección de idioma
    Inglés y español

  • Tener diálogos ingame
    Esto sólo lo había hecho yo en la demo de RPG, pero no ningún juego

  • Poder coger items para armas y defensa.
    One Skill tenía habilidades pero no había items

  • Crear el mapa proceduralmente
    Hay islas predefinidas pero las que nos salen y sus posiciones cambian en cada partida

¡Además también tiene un truco!

Si en el título mantenéis pulsados L+R y pulsáis izquierda, se puede desactivar la sangre. Es como el truco del Mortal Kombat a la inversa :rofl:

Por cierto en esto último no es el primero! En el juego RetroTime Willems ya puso un truco: probad a dejar pulsados L+R en el título :)

4 1 respuesta
Jastro

#1062 ha sido un curro gordo todo el desarrollo, sobre todo la primera semana que me costo horrores el inicio del desarrollo y los últimos días por saturación mental

Pero ha valido la pena es el esfuerzo, independientemente de los resultados de la jam, el objetivo era enfrentarme al juego que solo pude hacer que el avión rotara en la Vircon jam

Ahora mismo no, pero en el futuro espero ponerme una Arcade como Willem y ten por seguro que me lo pondré para jugarlo

2
carra

Hoy os traigo noticias!

Hasta ahora la consola sólo tenía en Discord un canal en el servidor de Fantasy Consoles. Pero al fin, he decidido abrir un servidor Discord dedicado para la consola. Creo que tener un espacio propio sería un paso importante para intentar ir creando una comunidad en torno a la consola. Os dejo aquí el enlace para quien le interese:

Enlace de invitación:

Discord de Vircon32

Seguiré actualizando también este hilo claro. Pero la idea es que en el Discord podrá haber más ideas y noticias que las que pongo aquí. Los que os interese, sois bienvenidos :smiley:

Para no fragmentar la comunidad el server será en inglés. Creo que aquí la mayoría tampoco tendréis problemas con el inglés escrito. Pero si se ve hay mucha demanda tal vez podría abrir también alguna sección en español. Iremos viendo.

5
carra

Estas últimas 2 semanas me he estado dedicando a corregir bugs de mis programas para la consola que ya llevaban tiempo pendientes. Lo principal ha sido los problemas que tenían los programas en Windows para acceder a rutas de archivo con caracteres especiales (es decir, no ingleses).

Esto era más problema de lo que parece: en Windows es muy normal usar programas y archivos desde Descargas o desde el Escritorio. Pero como la ruta de esas carpetas incluye el nombre de usuario es fácil que por ejemplo, en España, la ruta sea:

"C:\Users\Simón\Escritorio"

Esa "ó" con tilde ya estaba dando problemas. Si el usuario es ruso o japonés, mucho peor. Y lo grave es que, al no poder acceder bien a su carpeta, el emulador ni siquiera podía crear el archivo de log para informar de errores. Un desastre vamos.

Tras dedicar bastante tiempo a arreglarlo y testear (no es tan fácil como parece), por fin ya todos los programas soportan estas rutas sin problema. He sacado nuevas versiones de todos los programas con estos fixes, aquí os las dejo:

Por cierto, la nueva versión del emulador también corrige un problema que detectó Willems hace poco: en pantallas con refresco de más de 60 Hz la velocidad de emulación se aceleraba. Por debajo de 60 en cambio era correcta.

Y con esto ya terminado me debería poder dedicar de nuevo a los juegos.

9
Yerboth

Hay que ser hijoputa pa ponerle tilde al usuario de Windows también te digo

4