[Devlog] Vircon32: Creando mi propia consola

r2d2rigo

#330 cuando lo tengas listo le echo un ojo a ver si corre bien en Mono, y si no miro de portarlo a Avalonia o alguna variante crossplatform.

1 1 respuesta
carra
#331r2d2rigo:

cuando lo tengas listo

Pues... ya :rofl:.

Lo podéis descargar en la web, desde la sección de herramientas de desarrollo. Todavía no he subido el código fuente, pero lo haré en los próximos días.

También he hecho este video a modo de instrucciones, donde se ve cómo creo un proyecto de prueba. Es una versión inicial y quizá tenga todavía cosas que completar o pulir pero creo que es funcional y prefiero subirlo ya para que lo vayáis teniendo de cara a la jam.

EDIT: Ahora sí está subido el código fuente. @r2d2rigo, ya puedes trastear :wink:

carra

Solo como puesta al día, por si alguien está suscrito a este hilo pero no lee el otro:

La jam de Vircon32 ya está en marcha, hemos llegado a la cifra mágica de 10 participantes y ahora tenemos un primer y segundo premio! Las novedades se van a ir poniendo en el hilo de la jam. Aunque cuando acabe pondremos también un resumen aquí.

2
thenanox

pues estoy intentando montar CLion con alguno de los proyectos existentes. he conseguido encajarlo para lanzar los .bat desde el IDE (nada especial), pero no consigo que los errores de compilacion se muestren en el IDE (ademas de que tampoco tiene navegacion)

veo que requiere de CMake para que funcione la compilacion, pero no consigo que cambie el compilador para que use el compiler.exe de vircon ya que dice que no es un compilador C compatible (tine sentido).

a ver si consigo enganchar las cosas, sino a la vieja usanza

1 respuesta
carra

#334 El compilador de Vircon saca los errores y warning en el formato de gcc, supongo que habrá manera de "engañar" a CLion para que lo use como si fuera gcc, que es lo que yo hago en Code::Blocks. Podrias intentar crear un perfil de compilador específico, la mayoría de los IDEs lo permiten.

En cuanto a CMake, Vircon no lo usa. ¿Te refieres a CLion cuando dices que lo necesita?

1 respuesta
thenanox

#335 eso es. parece que al final se basa todo en CMake en cuanto al modo de funcionar de CLion.

he estado intentando cambiar el toolchain (que es lo que usa cmake para indicar compiladores) para que use el compiler.exe, pero me sigue dando errores mas alla de mi entendimiento

no se si es algo que se pudiera conseguir para Vircon32. yo la verdad que recuerdo que CMake me hizo el apanio en un jueguecito que monte, y estabamos uno con Windows, y otro con Mac, y conseguimos que funcionara en ambos gracias a CMake

1 respuesta
carra

#336 Pues se me ocurren 2 opciones: la primera es que tengas una copia del compilador y le llames gcc.exe. No es muy elegante pero... jajaja

La segunda es: que no uses ningún compilador. Yo en Code::Blocks lo que hacía era configurar el proyecto para que no compile ningún archivo (desactivar compilar y linkar en todos los *.c), y ponerle como evento postcompilación que corra el make.bat. Al hacer eso, y teniendo gcc configurado como compilador, como los errores los saca en el mismo formato sí los reconoce

Ya me dirás si te funciona alguna de las dos

1
r2d2rigo

@carra me has timado, se me queda cortisima de CPU para lo que necesito, devuelveme mi dinero.

1 respuesta
carra

#338 Jajaja a saber qué es lo que estarás intentando. ¿Físicas pixel a pixel o algo así? :sweat_smile:

Se me ocurre también que podrías intentar hacer el juego a 30fps. Tomarte 2 frames para cálculos o lo que sea y dibujar gráficos solo un frame de cada 2. Eso sí, teniendo en cuenta que cosas como la comprobación de los mandos siempre pasan 60 veces por segundo.

carra

También hay que tener en cuenta que mi compilador no optimiza casi nada, si en el futuro existen compiladores mejores (mios o de otros) el rendimiento podrá subir bastante. Acabo de hacer una prueba con el ejemplo de los polígonos 3D, que llega al 90% de CPU. Con solo optimizar 2 pequeños bucles clave usando unas pocas líneas de ensamblador he sido capaz de hacer lo mismo con solo el 56% de CPU. Si se optimizara un poco más y se usara el truco de los 30fps (o incluso 20), quizá se podría crear un pequeño juego 3D estilo starfox. Por supuesto estoy pensando en que el fondo fuera 2D o pseudo3D usando scaling.

r2d2rigo

@carra hay un limite al numero de regiones que puede tener una textura? Digamos que si tengo una textura de 256x256 y quiero dividirla en 256 regiones de 1x256 pixeles, se puede hacer? Porque el define_region_matrix me esta haciendo cosas raras.

1 respuesta
carra

#341 Se pueden crear hasta 4096 regiones por textura, eso lo deberías poder hacer.
¿Cómo estás usando define_region_matrix?

1 respuesta
r2d2rigo

#342 nada, arreglado, habia puesto 1 en first_max_x cuando tenia que ser 0.

1
Kalgator

Yo solo digo que el rodrigo (siempre lo leo asi hehe) está muy motivado con la vircon :new_moon_with_face:

2 respuestas
carra

#344 Ya os digo yo que sí. Id creando hype para su juego 😁

thenanox

se le ve que va fuerte el muchacho

yo solo espero terminar con algo que merezca la pena enseniar, con eso me vale :)

1
r2d2rigo

#344 pues no te voy a negar que me está despertando el regustillo por el game dev.

No creo que vuelva a hacer proyectos grandes o serios pero una game jam de tirarme una semana a full no me importa hacerla una o dos veces al año.

Y lo de vircon pues se juntan bastantes cosas, es bastante accesible trabajar con ella, da la opción de tocar algunas cosillas a bajo nivel si es lo que te gusta (como el ASM embebido), y que menos que ayudar a darle un empujón inicial a ver si cría comunidad.

6
carra

Estoy aprovechando ratos muertos para ir viendo cómo portar el emulador a libretro, lo que permitiría jugar a Vircon32 en RetroPie, RecalBox, etc. Todavía no tengo una idea clara de lo fácil o difícil que sería porque no parece haber una guía sencilla para esto. He probado a preguntar en Reddit EmuDev a ver si saben algo

B

.

3 respuestas
carra

#349 No, tranquilo que lo de CMake va antes que el port a libretro. De hecho quiero ponerme con ello al acabar la jam. Pero me gustaría irme enterando también de eso un poco, que no parece fácil

Ridote

#349 Relaja hombre, que se está pegando un currazo y no puede estar en todo

3
r2d2rigo

#349 menos llorar y mas abrirle pull requests.

1 respuesta
carra

#352 Difícil, si no hay aún repositorio 😅

1 respuesta
r2d2rigo

#353 menos libretro y mas abrir repos!

1 respuesta
carra

#354 jajaja vale, te lo acepto. La semana que viene me pongo, esta imposible

thenanox

jajajaja joer has venido fuerte @overflow. con mas amor que se lo curra mucho

a ver lo de cmake si consigo hacerlo tirar, os lo compartire. pero para hacer algo, tiro lanzando el batch.

1 respuesta
carra

#356 en realidad overflow ya se curró un script CMake para el emulador. Ahora soy yo el que tiene pendiente estudiarselo, adaptar el emulador y arreglar alguna cosilla. Y luego lo subiré a un nuevo repositorio y ahí ya podremos verlo un poco entre todos si hace falta

B

.

2 respuestas
carra

#358 jeje ya, entre unas cosas y otras se ha ido alargando el tema perdona.

De OpenGL lo bueno es que lo que uso es muy básico, no uso shaders ni nada muy avanzado. Lo más que llego a usar son framebuffers.

r2d2rigo

#358 de cmake y emscripten y mierdas no tengo ni puta idea, pero de OpenGL te puedo echar un cable.

1 1 respuesta