Yo poned fechas y me adapto, si no se tiene que dormir no se duerme y ya
#31 Así se habla
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.
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!
#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...
#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.
#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.
#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.
#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.
#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
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.
#41carra:Eso sí, esto va a ser laborioso y me puede llevar bastantes días.
eso lo sacas tú en 1 tarde, no mientas
#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
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.
#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).
#47 al final los votos dan igual, si la idea de esta jam, es generar mas catalogo para vircom que otra cosa
Al fin, llegó el día.
Aquí tenéis nuestra jam en itch.io
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.
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
#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