Vircon JAM

Leos

Yo poned fechas y me adapto, si no se tiene que dormir no se duerme y ya

1 respuesta
carra

#31 Así se habla :grin:

Para ayudar en el primer contacto, estoy intentando currarme un pequeño video donde explico todo el proceso de crear un juego ultra simple, desde cero absoluto pero cubriendo un poco todas las etapas y herramientas. Creo que os podrá servir bastante.

1 respuesta
Jastro

#32 pues si! eso viene genial

9 días después
r2d2rigo

Vengo a decir que ya tengo la idea de que voy a hacer y me pican los dedos de no poder empezar aun.

PD: @carra cabron dame funciones de DMA en la BIOS!

1 respuesta
carra

#34 No sé qué es lo que necesitas, pero no puedes usar memset y memcpy?
El DMA, hasta donde yo sé, requiere soporte hardware. La BIOS, siendo solo software, no puede transferir memoria de esa manera.

me pican los dedos de no poder empezar aun

En realidad nada te impide ir trasteando con algún test jeje. Luego si ya tienes alguna función preparada la puedes reutilizar...

1 respuesta
r2d2rigo

#35 la idea era hacer DMA a un framebuffer/VRAM directamente pero veo que no me va a hacer falta.

Estoy toquiteando y de momento todo 👌, lo unico que quiza deberias explicar un poco mejor la magia negra que hay detras de la keyword embedded. Que los otros assets si tengas que indicarlos en el xml de empaquetado pero estos binarios no es un poco raro.

1 respuesta
carra

#36 Creo que entiendo lo que querías hacer, pero no. La CPU no puede acceder directamente a la memoria de video y audio. Solo puede usar las funciones de los otros chips para dibujar o reproducir sonido.

En cuanto a embedded, lo que hace es incluir el contenido del archivo que le decimos en el propio binario del programa (el .vbin). Va dentro de él, incrustado (de ahí "embedded"), y por eso no necesita estar en el XML: ya se incluye en el .vbin.

2 respuestas
r2d2rigo

#37 entiendo que quieras arquitecturizarla de esa manera (y tiene mucho sentido siendo hardware retro), pero se echa en falta algun trozo de memoria en la que puedas escribir para hacer efectillos graficos o crear texturas dinamicamente.

2 respuestas
AikonCWD

#37 #38 lo que comenta @r2d2rigo es algo muy común entre las consolas de fantasía. Pico8 y tic80 permiten eso: https://pico-8.fandom.com/wiki/Memory a través de 2 funciones, peek() y poke()

Y la peña que se mete a ese bajo nivel saca cartuchos super curiosos, con efectos de distorsión o modificando cosas que por código, a un nivel más alto, no se permite. Hacer mirror de la pantalla.

Como curiosidad, el cartucho original de Entombed (atari) usa un truco similar para generar un laberinto simétrico.

Te lo comento por si le quieres dar una vuelta en un futuro. Tampoco tienes que dar full soporte, solo acceso a la memoria y que cada uno la destroce como quiera.

1 respuesta
carra

#38 En realidad no está hecha así porque sea retro, sino para ser lo más simple posible. En Vircon32, eso es una de las ideas principales. De hecho en muchas consolas retro sí se podía acceder a la memoria de video para hacer ciertos efectos. Pero si echas un ojo a la arquitectura de video de la NES, por ejemplo, verás que es bastante más compleja que la de Vircon. Y eso supone hacer la consola menos accesible. Porque se vuelve más difícil tanto para aprender a hacer juegos, como para quien quiera hacer emuladores (el primero, yo).

Está claro que hay ciertos efectos "retro" que aquí no se van a poder hacer, pero no pasa nada: no pretendo hacer una consola que imite a Pico8, etc. Además, a cambio también tenemos algunos efectos que no abundaban en los 8/16 bits, como escalado, rotaciones, transparencias, luces/sombras. Se pueden llegar a hacer más cosas de las que parecen.

#39 Aunque se podría llegar a hacer algo así, habría problemas. El mayor es que la resolución es bastante alta comparada con otras consolas, y la CPU no tiene ciclos suficientes para hacer esos efectos pixel a pixel, a no ser que nos limitemos a un área pequeña. De todas formas no importa, para la mayoría de juegos tipo retro no se usan efectos de distorsión. De hecho en muchas placas arcade (como la NeoGeo) no se podían hacer estas cosas.

PD: Por cierto, en Vircon sí se pueden dibujar gráficos simétricos: haciendo el escalado en X = -1, o bien Y = -1 :wink:

1
carra

He pensado que, para que se vea que la consola puede hacer ciertos efectos, podría crear una serie de ejemplos que muestren cómo hacer algunos. Los que se me ocurren ahora mismo son: fuego, humo, reflejos en agua, partículas, o suelos pseudo-3D. Así se verá que, con cierta maña, sí se pueden lograr cosas. Eso sí, esto va a ser laborioso y me puede llevar bastantes días. Pero creo que merecería la pena.

2 respuestas
AikonCWD
#41carra:

Eso sí, esto va a ser laborioso y me puede llevar bastantes días.

eso lo sacas tú en 1 tarde, no mientas

1 respuesta
carra

#42 Jajaja te vas a reir pero es que además de Vircon tengo otras cosas entre manos. Ahora mismo por ejemplo estoy también traduciendo un manga japonés al inglés

2 respuestas
Ridote

#43 Si pusieras toda esa energía en abandonar proyectos... podrías ser un true gamedev god.

#41 Cuántos más tutos bien documentados pongas mejor.

1 respuesta
r2d2rigo

#43 el hombre renacentista moderno. Deja de poner a todo el subforo en evidencia, mamon.

4
carra
#44Ridote:

Si pusieras toda esa energía en abandonar proyectos...

Lo lamento, sé que soy una verguenza...

2
9 días después
carra

Ya he visto que en itch.io no hay manera de participar yo sin ser votado, pero al menos aunque los votos de cada uno son anónimos los juegos que se envían a la jam sí que se sabe de quién son (pensaba que serían anónimos también). Así que puedo pedir que no se me vote y ya está. No sé si deberíamos abrir la votación a cualquiera (todo itch.io) o solo a los que vayamos a participar.

2 respuestas
AikonCWD

#47 depende de los participantes que veas. Si hay bastante gente, deja los votos entre participantes. Si no, ábrelos a toda la comunidad (tampoco creas que mucha gente entra a jams que no participa a votar).

1 respuesta
Jastro

#47 al final los votos dan igual, si la idea de esta jam, es generar mas catalogo para vircom que otra cosa

2 1 respuesta
carra

#49 Eso es, la jam al final es para nosotros y para lanzar la propia consola :smiley:

#48 Pues no creo que seamos muchos, me extraña que vaya a aparecer gente de fuera. Como no sea alguien que me siga por youtube o el tipico curioso que lo ve por itch.io, la consola ahora es muy poco conocida

kesada7

Yo dejaría que pudiesen votar gente que no participa.

11 días después
carra

Al fin, llegó el día.

Aquí tenéis nuestra jam en itch.io :grinning:

Como ya dijimos va del 11 al 20 de Marzo (ambos incluídos). Hay un tema propuesto pero es totalmente opcional, por si alguien no tiene ideas. Al final he permitido que pueda votar cualquiera.

No sé si me dejo cosas por contar en la página de la jam, pero creo que lo básico está.
Si hace falta ya la editaré en su momento.

3 2 respuestas
Leos

#52 I'm in!!!!

1
AikonCWD

Ya estoy dentro!

1
Jastro

#52 dentro!

1
carra

👏👏 en breve estaremos empezando

Pero no me salen las cuentas, yo y r2d2rigo nos unimos ayer, con vosotros 3 somos 5 pero solo pone 4 participantes 😐. Que raro, luego lo miro

1 respuesta
r2d2rigo

#56 quizá tu no cuentas por ser el organizador?

1 respuesta
carra

#57 Podría ser. Esta tarde le echo un ojo

carra

Ya lo he mirado. @Leos es el que no me aparece inscrito

1 respuesta
Leos

#59 LOL, te juro que le di antes de poner mi mensaje y acabo de mirar y me salia que no, ahora si, si no me vuelve a timar itch.io estoy in!!! XD

1 respuesta