[Devlog] Vircon32: Creando mi propia consola

carra

#269 Pues ya he subido el emulador.
También he grabado un par de GIFs molones para que quede bonito.

Lo tenéis aquí: https://vircon32.itch.io/vircon32

1 1 respuesta
AikonCWD

#271 está genial

1
r2d2rigo

EDIT: nada, pensaba que era el hilo de la jam 🤦‍♂️

r2d2rigo

Doblepost para decir a @carra que estaria bien que el emulador tuviese atajo de teclado para las funciones basicas (reset, power on/off, etc). Ah, y el exe creo que deberia ser mejor vircon32.exe y usar el icono adecuadamente.

1 respuesta
carra

#274 Vamos por partes. Primero comento que hay un par de cosas no documentadas que el emulador ya tiene: la tecla F5 hace reset, y se puede abrir las roms com doble click en el archivo si lo tenemos asociado a la extensión .v32 (en Windows, es Abrir con... y elegir el exe del emulador)

Por lo demás:

  • El cambio de nombre a Vircon32.exe me parece buena idea
  • Las hotkeys se podrían poner, pero para no interferir con la configuración de teclado yo las haría sólo con las F1-F12, y fijas (no editables)
  • Lo del icono... lo intenté, pero compilando con MinGW no sé cómo. Si alguien sabe cómo, lo hago
2 respuestas
AikonCWD

#275 usa reshack o cualquier editor de recursos para meterle el icono luego, tras compilar.

1 respuesta
r2d2rigo

#275 yo estaba pensando más en los atajos que son típicos en Windows, ctrl + o para open, ctrl + q (o ctrl + w) para quit...

Sobre lo del icono, prueba esto: https://stackoverflow.com/q/708238

1 respuesta
carra

#276 #277 Gracias, no pensé en añadir el icono a posteriori. Miraré esos métodos.

Sobre los atajos, se podrían hacer con teclas CTRL, pero tiene inconvenientes: en Linux y Mac los atajos "estándar" podrían ser diferentes (no tengo ni idea). Por otro lado en algunos menús tengo el espacio justito y no sé si me va a caber para añadir una indicación tipo [CTRL+O]. Tampoco sé qué pasaría si una tecla de las que combinan con Control está asignada a algún mando. Lo miraré a ver qué opciones hay.

1 respuesta
AikonCWD

#278 Mira, más sencillo: rcedit que es lo que utiliza godot para setear el icono (y otras propiedades del EXE) https://github.com/electron/rcedit

rcedit "path-to-exe-or-dll" --set-icon "path-to-ico"

Y ya estaría.

1 respuesta
carra

#279 OK, esta tarde hago alguna pruebecilla. Ya puesto supongo que tendré que currarme un icono multisize también.

Por cierto, ojo a mi canal de YouTube, poco a poco crece jeje

2 2 respuestas
AikonCWD

#280 Sip. El único software que se me viene a la cabeza es Microangelo: http://www.microangelo.us/
Con la versión de prueba te sobra para hacerte el icono en varios tamaños y generar el *.ico

1 respuesta
carra

#281 Esa parte la tengo controlada, lo he hecho otras veces con IconSushi :thumbsup:

1
Kalgator

#280 Acuerdate de mediavida cuando seas famoso :new_moon_with_face:

1 1 respuesta
carra

#283 Hombre, ese día habrá que abrir nuevas sucursales de la taberna :wink:

1 respuesta
thenanox

#284 y de montar la beercon32 e invitarnos

7 1 respuesta
carra

#285 Jajaja que bueno el nombre! La beer convention 32 :grin:

1
carra

He podido hacer alguna prueba con rcedit como decía Aikon, y es bastante fácil. Además te deja poner más cosas, como nombre y descripción de la aplicación. Al ponerlo ya aparece el emulador en la lista para elegir, y queda mucho más pro. Además al tener ya su icono y decirle que lo asocie a la extensión .v32, también cogen icono las roms:

También he pensado un poco cómo plantear los atajos de teclado.
La lista que tengo hasta ahora es esta, a ver qué os parece:

Ctrl+Q = Quit (además en Windows siempre funciona Alt+F4)
Ctrl+P = Power (toggle on/off)
Ctrl+R = Reset (posiblemente mantenga también F5 para reset)
Ctrl+L = Load cartridge (o cambiarlo si ya hay uno)
Ctrl+U = Unload cartridge
Ctrl+S = Screenshot
Ctrl+1 = Zoom 1X
Ctrl+2 = Zoom 2X
Ctrl+F = Fullscreen
Ctrl+M = Mute (toggle on/off)

1 1 respuesta
AikonCWD

#287 queda genial. Ahora solo guarda en un script/bat las entradas del rcedit para que puedas plasmar esa configuración del ejecutable en futuras compilaciones.

Por cierto, ahora mismo no lo recuerdo, pero en tu emulador hay save/load state? para guardar el estado del juego/partida y continuar al día siguiente.

1 1 respuesta
carra

#288 No, mi emulador nunca va a tener savestates. La idea es que el emulador "oficial" funcione como lo haría la consola, es decir puede guardar partida solo si lo permite el propio juego con la memory card. Pero también cualquiera puede crearse su propio emulador y que incluya savestates u otros extras.

1
carra

Como dije en el hilo de la jam voy a crear algunos tutoriales para hacer efectos gráficos. Ya he subido el primero, que es el típico efecto de reflejo con el agua moviéndose. Esta es la pinta que tiene (aquí no se ve del todo bien, grande se aprecia mejor pero el GIF ya iba a ocupar una barbaridad).

Tenéis subido el código en GitHub. Además he incluido una explicación de cómo esta hecho cada efecto. Por cierto cada uno de los efectos (distorsión e iluminación) se pueden desactivar con los botones del mando.

4 1 respuesta
AikonCWD

#290 cómo mola! si parece un shader

1 1 respuesta
thenanox

#291 estaba pensando justo en lo de shader, que guapo

1
carra

Este efecto es más sencillo: el motion blur. No sé si se aprecia en el GIF pero en la primera mitad se hace motion blur solo de la nave, y en la segunda mitad se activa el motion blur de la pantalla completa. Esto se puede hacer para simular un bullet time o con efectos de cámara lenta.

Igual que antes el código está subido a GitHub.

4 1 respuesta
AikonCWD

#293 vas a ganar la jam tú solo xd

muy chulo los efectos.

1 1 respuesta
eondev

La verdad es que tu simulador es un muy buen punto de entrada para aprender el desarrollo de juegos. He visto la documentación y está todo muy claro, una arquitectura bien pensada y diseñada.

Me he quedado loco viendo el proyecto. XD

2 1 respuesta
carra

#294 Hombre la idea no es que yo compita contra vosotros, yo partiría con ventaja. Cuando haga la jam miraré si hay alguna fórmula para que yo no pueda recibir votos.

#295 Gracias eondev! Claro, si lo comparas con aprender a usar un motor tipo Unity esto es mucho más simple de aprender. Las cosas sencillas se pueden programar rápido. A cambio los motores de PC ofrecen mucha más potencia claro. Pero es verdad que en PC te tienes que preocupar de versiones, librerías, configuraciones, hardware... y aquí sólo hay 1 versión de la consola.

carra

Otro efecto más: convertir imágenes cualquiera que queramos dibujar en una silueta negra con borde claro. El efecto queda parecido a algunos filtros de detección de bordes en programas como Photoshop.

El código lo tenéis subido aquí

4
jarobado

Tengo el hilo en favoritos desde que lo abriste y no he comentado nada porque no puedo aportar mucho de valor, pero igualmente te quiero felicitar por el currazo que llevas y el resultado.

1 1 respuesta
carra

#298 Muchas gracias, mola ver a los que seguís aquí desde el principio jeje.
Pero vamos que aquí puede comentar cualquiera, no hace falta que sea algo técnico :wink:

1
carra

Otro efecto, una imitación en Vircon (que no maneja paletas) de los típicos palette swap que se hacían en consolas antiguas para reutilizar los mismos gráficos con distintos colores.

Y como siempre, el enlace al código.

Este efecto es bastante tonto, estuve a punto de no hacerlo pero al final lo he subido porque siempre puede habe gente que no sepa que en la consola se puede hacer esto. De todas formas esto lo compensaré en el próximo efecto, que va a ser bastante más bruto técnicamente.

2