Diario de desarrollo

Started by josebita, October 26, 2015, 09:32:22 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

Quote from: josebita on February 19, 2016, 01:39:16 PM
Tienen buena pinta, los integraré, gracias.


Todavia no entiendo como no estan trabajando en el mismo repositorio!  ::)
Working on Anarkade. A couch multiplayer 2D shooter.

Drumpi

Quote from: La momia que fuma on February 18, 2016, 06:48:35 PM
Quote from: Drumpi on February 18, 2016, 06:34:31 PM
Quote from: La momia que fuma on February 18, 2016, 06:13:48 PM
Quote from: josebita on February 18, 2016, 09:31:38 AMCuando lo tengas listo, libéralo y subo un vídeo a la web de PixTudio.


Maldito seas, ahora me dan ganas de lavarle la cara un poco, que tiene cosas muy cutres xD


Ya te contaré si tal  :)

Lo que tienes que hacer es acabarlo bien y subirlo, en lugar de generar ese hype y esconder el DCB ¡maldito!
El día que te juntes con Pixel y compañía, reventais Steam. Me dais envidia (sana).



Eh! Que el código lo había hecho público! xD


Tarde un poco en hacerlo porque me daba vergüenza enseñar semejante chapuza interna...es lo que pasa por empezar a lo tonto a hacer una cosa pequeña por cacharrear un poco....liarse y empezar a meterle cosas....con Invento-Fighting me paso un poco lo mismo, inicialmente iba a ser básicamente un microjuego a lo Wario Ware xD


Con los años ya me he ido volviendo mas organizado cuando programo algo con una idea mas o menos clara de lo que va a ser.


Quote from: Drumpi on February 18, 2016, 06:34:31 PMPor cierto, offtopic al canto: ¿soy yo o da la impresión de que la llama del mechero del avatar de Momia se mueve? :D


Creo que has experimentado un flashback a los tiempos de divsite antes de que me volviese HD  ;D




He dicho "terminar y subir", encima me vas a hacer copiar el código a una carpeta, meterle el .bat de compilación que tengo para todos los proyectos y hacerle doble clic ¡Es mucho trabajo, nen! :D :D :D

Y no, no es un flashback, esa llama "HD" parece que se mueve de verdad, como esos efectos visuales que andan por internet :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Quote from: JaViS on February 19, 2016, 03:32:15 PM
Quote from: josebita on February 19, 2016, 01:39:16 PM
Tienen buena pinta, los integraré, gracias.


Todavia no entiendo como no estan trabajando en el mismo repositorio!  ::)

Yo tampoco, pero ellos mismos lo han dicho: van a experimentar diferentes enfoques... aunque me parece que a la larga, se van a copiar el un del otro y vamos a tener el mismo código en ambos sitios :D (Ojalá, quiero seguir programando para la Wiz, que ya no sale nada).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

trabajar en equipo "conlleva una gran responsabilidad"... y yo ultimamente en ese aspecto estoy mas como Deadpool... :P
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

En mi experiencia es "una condena a entenderse". Pero si empezais "yo te copio esto", "yo te tomo esto prestado", "esto me gusta, me lo apunto", a la larga os acostumbrais al estilo del otro y no sabreis dónde empieza el trabajo de uno y empieza el del otro.
A mi me pasó con los compañeros de Máster, que decían que no a todas mis ideas, y yo que no a muchas de las suyas. Al final acepté algunas y dejé que se dieran cuenta de algunos de sus errores por su cuenta, y al terminar el proyecto ya íbamos todos en la misma onda (más o menos).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Para no abrir un hilo de sugerencias que se iba a llenar en seguida, lanzo la siguiente pregunta:
¿Se ha pensado en añadir alguna función que devuelva los datos de una región? Ya sé que hay formas de obtener dicha información mediante código (constantes, variables globales...) pero siempre me ha parecido raro un método "set" (bueno, define) sin un método "get"... aparte de otras utilidades varias (la región 0 es la resolución de pantalla, por ejemplo).
Diría lo mismo para BennuGD, pero lo pregunté en su día y creo que la respuesta fue un no, porque era muy complicado... creo recordar.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

panreyes

He pegado un vistazo al código y no es complicado, pero sí que tiene algo de trabajo.

Setear una región se hace con una línea de código, y recuperarla costaría 4 llamadas a una función, algo tipo esto:
x1=region_get(num_region,REGION_X_START);
x2=region_get(num_region,REGION_X_END);
y1=region_get(num_region,REGION_Y_START);
y2=region_get(num_region,REGION_Y_START);

Lo más fácil sería que el usuario guardase sus tamaños de regiones (que por defecto todas son toda la pantalla) en un array propio en código DIV.

Drumpi

Sí, es lo que he dicho, pero vamos, añadirlo o no, como lo veais.
También me he fijado que no existe un get_text_position, pero es lo mismo: tanto al crear como al mover hay que darle unas coordenadas a los textos, y se pueden almacenar en variables globales. No me he fijado en el get_draw* (de draw_line, draw_box, draw_circle y demás primitivas gráficas).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

Os habéis contestado vosotros :)

Los últimos commit añaden soporte para fade().
De momento es un fade falso, dado que para hacerlo de verdad necesitaría shaders y no tengo, pero bueno. Lo que hago es pintar un cuadrado del color dado de transparente a opaco en pantalla encima de todo lo demás.
Por otra parte, la función FADE() no funciona igual que lo hace en Bennu (sorry). Podéis ver la motivación y la discusión aquí.

Os copio-pego lo que he puesto del nuevo funcionamiento de FADE():
Quote

OK, I've uploaded commits 4cd7d54 & a418b25 which includes a dirty hack to emulate fades. The problem here is that in order to correctly implement Bennu's FADE function I need to use shaders and I'm not using them as of now.

As long as you fade.in and out to/from the same colour, things should work approximately right BUT this is not the same implementation that BennuGD uses. I'm only alpha-blending a filled rectangle of the size of the window.

Now, there's more drawbacks: I've had to change the behaviour of the fade function. It now works as follows:

FADE(int r, int g, int b, int a, int speed);

So you must specify the alpha value you're going to be fading to. So, to fade into red and back you'd do:

import "mod_video"
import "mod_map"

process int main()
begin
    set_mode(640, 480);
    set_fps(60, 0);

    // Put something onscreen to appreciate the fade
    graph = png_load("imshow.png");
    x = 320;
    y = 240;
    size = 50;

    fade(255, 0, 0, 255, 1);

    while(fading)
        frame;
    end

    fade(255, 0, 0, 0, 1);
    while(fading)
        frame;
    end
end

On BennuGD, r, g & b go 0-200 and they have special meanings; here they're just colour components.

Sorry it's not a real fix; hope it helps...

También he comprobado que las funciones de carga en segundo plano vuelven a funcionar.

Drumpi

Hombre, es más que comprensible, es que la potencia del FADE de DIV es más de lo que parece. De hecho, en el primer juego que hice, para la presentación empezaba con un fade(0,0,100,2) que me dejaba la portada en todos azules, y tras aparecer el título, ya hacía el fade(100,100,100,2) para recuperar los colores reales.
Siempre eché de menos la posibilidad de hacer lo mismo para tonos amarillos, naranjas, violetas, etc, pero claro, eso ya son efectos de paleta/blending, y no una multiplicación de valores de componentes como hacía el FADE.

Tú a tu ritmo, cuando se pueda, pues se podrá ;)

PD: Dejando el valor de alpha como parámetro de la función se pueden hacer cosas graciosas si se juega con valores intermedios. Por lo general debería dejarse este parámetro como un bool, pero así mejor :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

Quote from: Drumpi on April 21, 2016, 07:24:11 PM
Hombre, es más que comprensible, es que la potencia del FADE de DIV es más de lo que parece. De hecho, en el primer juego que hice, para la presentación empezaba con un fade(0,0,100,2) que me dejaba la portada en todos azules, y tras aparecer el título, ya hacía el fade(100,100,100,2) para recuperar los colores reales.
Siempre eché de menos la posibilidad de hacer lo mismo para tonos amarillos, naranjas, violetas, etc, pero claro, eso ya son efectos de paleta/blending, y no una multiplicación de valores de componentes como hacía el FADE.

Tú a tu ritmo, cuando se pueda, pues se podrá ;)

PD: Dejando el valor de alpha como parámetro de la función se pueden hacer cosas graciosas si se juega con valores intermedios. Por lo general debería dejarse este parámetro como un bool, pero así mejor :P
Sí, se podría dejar como un bool. No lo pensé, pero igual es útil para algo hacerlo "a medias".

Drumpi

Pues imagina: efecto "oscurecimiento", ¿puesta de sol?, sala que se llena de bruma o de gas... y si le añadimos efectos con los blits aditivos/sustractivos pues tendremos linternas y... bueno, no sé, es cuestión de ser imaginativos :D :D :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

 :)

Imagino que se puede juntar con las nuevas variables locales de modulación de color (modr, modg, modb) para obtener efectos chulos.

josebita

#194
El commit 6ca9a16 hace que se muestre un mensaje de error gráfico en caso de que no se encuentre el fichero main.dcb dentro del APK. Hasta ahora el mensaje se mostraba por la consola.
Algo al estilo de lo siguiente:

No es que sea gran cosa, pero imagino que ayudará a los nuevos.