[Devlog] Vircon32: Creando mi propia consola

Vitov

Mucha suerte

1
Jastro

#1020 menuda leyenda willen

Tienes que estar súper orgulloso! De verdad que aunque no lo parezca poco a poco va llegando gente

1 1 respuesta
carra

#1022 Pues sí, la verdad es que este hombre le está dando muy duro a la consola jeje

8 días después
carra

He estado haciendo algunas cosas para la universidad. Ellos en algunas asignaturas programan en ensamblador, y les he escrito una serie de tutoriales para hacerlo. Son una serie de ejemplos numerados y van aumentando la dificultad:

1 - Una cuenta atrás, con la fuente de la bios
2 - Bola que rebota por la pantalla
3 - Mover un personaje con la cruceta y escribir sus coordenadas
4 - Mover un personaje animado y eliminar diagonales (limitar a 4 direcciones)

Además tienen abundantes comentarios y vienen con un readme que incluye explicaciones y propone un par de ejercicios para ampliar cada ejemplo.

Por otro lado ya hace tiempo que quería escribir una guía para programar la consola directamente en ensamblador. Por fin lo he hecho, la tenéis ya disponible en inglés y en español.

Con esto, la parte de documentación (especificación y guías) ya la puedo por fin considerar 100% terminada :confetti_ball::star::confetti_ball:. Habrá alguna corrección puntual de errores pero no tengo pensado escribir nada nuevo.

Por su parte me han enseñado algunos proyectos más que han estado haciendo los alumnos. Ahora están haciendo juegos de cartas (tipo solitario y black jack). Estos los están haciendo en C, alguno está ya más o menos funcional aunque aún tienen pendiente la entrega final. Hay uno que se ha currado una baraja de Mario que me ha hecho gracia jeje.

11 2 respuestas
Damnedlove

#1024 Quizás no es lo que esperabas cuando empezaste a montar todo el tinglado de Vircon, pero a mí que una uni del otro lado del charco use tu software para enseñar me parece increíble.

3
Jastro

#1024 joder como me alegro, esas nuevas generaciones hablando en los recreos de su programa en vircon32 debe ser GOD jajajajaj.

Que tal el contacto con la universidad? te han pedido muchas cosas?

1 1 respuesta
carra

#1026 Jajaja los recreos, como si fueran niños de primaria :rofl: :rofl:

Pues la verdad es que el profesor ha sido muy majo, me ha enseñado bastantes cosas. Y creo que les he dado ya lo que necesitan (salvo un debugger, que eso ya se me escapa). Pero si veo alguna cosilla más que les sea útil pues mejor, así harán mejores juegos los alumnos :grin:

carra

He creado una nueva versión del editor visual de regiones de texturas. Ahora además de exportar código C también puede exportar ensamblador, así que quien no use C (por ejemplo en la universidad) se puede ahorrar escribir a mano bastante código.

Y la sorpresa de hoy: mirad lo que me acabo de encontrar! Esta tienda te vende la Vircon32, y encima ahorras un 60% jajaja. Me pregunto qué te enviarán si la compras. Igual me ahorro montar el prototipo y todo :rofl:

2 1 respuesta
Damnedlove

#1028 Ponemos dinero entre todos y compramos una a ver qué llega? Se podría sortear en algún concurso de MV

2 1 respuesta
carra

#1029 Jajaja pues oye, por la curiosidad... a mi no me importaría poner 5 pavetes

Jastro

Ya te digo! Jjajjjjaa la gente haciendo pasta con trabajo ajeno que máquinas

1
javifugitivo

Los pongo.

1
Yerboth

Jajaja yo también los pongo

1
carra

Pues hoy parece que el sitio está caído... aparte he visto alguna review sobre esta tienda y parece que no es de fiar. Así que creo que mejor no darles nuestros datos ni usar la tarjeta ahí jeje

Pero bueno, se queda como curiosidad.
¡Mi primera estafa de la consola! :grin::rofl:

3 1 respuesta
Yerboth

#1034 Uso Opera GX y nada mas abrirlo me sale una ventana de aviso con SITIO WEB SOSPECHOSO xDD

Por si era poca sospechoso que vendieran una consola que no se fabrica

carra

Acabo de actualizar el repositorio (aún no hay nueva versión) con funciones nuevas para el compilador y el ensamblador. Ahora ambos aceptan nuevos parámetros que generan información extra de los programas:

opción -g

Con esto crearán un archivo con información de depuración, que mapea todas las líneas relevantes en el código fuente a la salida.

opción --debugmode

Esto guardará también el resultado de las etapas internas del lexer y del parser.

¿Para qué sirve todo esto? Bueno: aunque como ya dije no voy a ponerme a hacer un depurador yo mismo, sí quería dejar la puerta más abierta a que alguien pueda hacerlo. Tener disponibles estas opciones hará que, si alguna vez alguien lo llega a intentar, les sea mucho más fácil.

Si se usa la opción -g en compilador y ensamblador se puede tener un mapeo completo del código fuente C de un programa a la dirección en ROM donde quedará cada línea. Así en teoría ya se podría hacer un depurador primitivo: sería adaptar el emulador para cargar ese mapeo de líneas y pausar la ejecución en líneas concretas. Esto no sería excesivamente complejo si se hiciera con una interfaz con comandos de texto (como gdb). Hacerlo con una interfaz gráfica ya sería mucho más costoso.

Por supuesto, un depurador de C más completo puede necesitar mucha más información y no sólo el mapeo de líneas. El compilador también permite guardar todo el árbol sintáctico del programa con la opción --debugmode. Con esto el depurador también podría saber los argumentos de las funciones, los tipos de variables, etc.

Y en un principio así es como se van a quedar estos programas. Por el momento no tengo pensado añadirles nada más. Como decía, sólo con esto no se hace un depurador (ni mucho menos) pero sí creo que allana un poco el camino.

3
9 días después
carra

Estos últimos días he estado trabajando en algo que llevaba tiempo queriendo hacer: crear una cuenta de la consola en OpenGameArt e ir compartiendo todo lo que he estado haciendo para la consola estos años. Aunque todos estos assets ya se pueden usar (están en mis repositorios), no es lo mismo tener que ir a buscar lo que hay en cada juego, demo, etc. que tenerlo todo junto, bien organizado y con vistas previas. Creo que esto puede ayudar bastante a quien se plantee hacer juegos para la consola. Aunque por supuesto también lo podrán usar otros para juegos que no sean de Vircon32.

Esto me va a llevar un tiempo. Tengo muuucho material disponible (fondos, sprites, animaciones, tilesets, iconos, fuentes de texto, sonidos, música...). Hay también algunos assets que tenia hechos y que no he llegado a usar. Además lleva bastante trabajo dejarlo todo bien preparado. Hay que categorizar, seleccionar lo que va en cada parte, hacer buenas vistas previas, escribir descripciones y poner bien las etiquetas. Por ejemplo, para mis personajes de juegos de plataformas he hecho esta vista previa animada.

Además en algún caso también estoy completando los assets con cosas nuevas. Por ejemplo en fondos multicapa, aunque la base ya estaba hecha, he creado algunas capas nuevas que no se estaban usando en mis juegos/demos.

En el caso de esto último me di cuenta de que en los tutoriales para gráficos no tenía ninguno que mostrase cómo hacer un scroll parallax (que es algo muy común) así que también lo he creado y subido a GitHub.

7
Servilletor

Igual digo una tontería pero... ¿has pensado en publicar esto en Steam? Me ha recordado a UFO 50, que es un "juego" recopilatorio de 50 juegos ficticios de una consola ficticia estilo 8/16 bits.

Por lo que he leído ya tienes algunos juegos hechos.

Por cierto, vaya currazo. Me parece impresionante esto que has hecho.

1 1 respuesta
carra

#1038 Gracias! Espero que te animes a probarla.

Pues en Steam ya está el emulador de la consola como DLC para RetroArch (aquí). Lo de sacar juegos/recopilatorios en Steam se podría hacer, pero no sé si merecería la pena. A mi me llevaría trabajo: tendría que crear una versión del emulador que funcione en Steam y que se integre con sus sistemas (cuentas, usuarios, etc). Tendría que hacer unos menús simplificados, tal vez estilo NES mini, y empaquetarle los juegos. Luego, si quiero incluir todos los juegos no podría cobrar por ello ya que hay juegos de terceros. O eso o bien sólo podría poner los míos, con lo que el recopilatorio perdería gracia. Y además esto me crearía ciertas obligaciones, como dar soporte y pagar los 100 pavos para poder publicar en Steam.

Lo que sí me había planteado es la posibilidad de sacar uno de mis juegos en versión Steam para PC: el Basic Platformer. Esto lo comenté hace unas páginas, la idea sería añadirle algún nivel más (para tener 40 en total), mejora gráfica y algún otro extra como logros. Y sacarlo bastante barato, no tanto pensando en ganar mucho sino en aprender yo a usar Godot y conocerme todo el proceso de publicar, para futuros proyectos.

carra

Creo que no llegué a enseñar aquí este artículo de Distant Arcade sobre la consola.
Me gustó bastante :smiley:

Vircon32: a new emulated take on the classic 32-bit era

A game system without the complexity.

https://distantarcade.co.uk/vircon32-new-emulated-take-classic-32-bit-era

8 1 respuesta
Jastro

#1040 a topeeeee, poco a pocooo

1
10 días después
carra

No había puesto nada aún, pero hace unos días Willems Davy publicó otro juego: Vircoban.

A diferencia de Blips este sí que es un Sokoban clásico, donde solamente empujas cajas. Vircoban incluye un montón de packs de niveles. ¡hay cientos de niveles en total! Ojo, hay packs con dificultad mucho más progresiva y otros que empiezan fuerte desde el principio así que si os atascáis id probando varios. Willems recomienda empezar con el pack "Sokwhole".

Por el momento este será su último juego en Vircon. Pero ya deja una buena colección!!

Por otra parte he visto unos foros donde un tal Jastro dice que va a hacer un juego en la consola para una jam. Le echaré un ojo a ver qué tal jejeje

5 1 respuesta
Jastro

#1042 Que se prepare Willems que ha llegado competidor

2