Preguntas sobre programacion de Hokutoy.

Started by Hokutoy, February 02, 2010, 04:44:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

Para eso último que dices mejor usa collision xD

Si te preocupa extremadamente la eficiencia puedes tener 2 procesos aproximadamente cuadrados para esa barra del rayo laser... Y 4 procesos para el enemigo en forma de T, sería una forma de evitar el consumo de CPU de collision ( )

No descartaría que juegos antiguos utilizasen esa técnica de "procesos tileados".
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Hombre, si tiene forma de T, puede hacerlo por proximidad tambien, sólo que en lugar de tomar un cuadrado, tomarías dos rectángulos, pero claro, esto no va muy bien si empezamos a meter rotaciones y eso.

Aunque si el rayo es alargado puedes comprobar la proximidad de los puntos de los extremos. Los puntos de control serían buenos aliados en esto, sobre todo con get_real_point. O si no, como puedes obtener sus coordenadas y su ángulo, con un poco de trigonometría básica sale.
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)

Hokutoy

#62
Bueno... una nueva pregunta! Esta vez sobre "trayectorias" y formulas matematicas.

Lo que tengo:

Un Background 320×240 que simula un agujero negro


Lo que quiero:
Quiero simular un efecto de absorcion hacia el centro de la imagen... Dado un pequeño sprite situado en cualquier punto del borde de la pantalla, quiero que este siga una trayectoria circular/eliptica en que cada vuelta se reduzca el diametro y se acerque cada vez mas hasta meterse dentro del "agujero". El tipico efecto de "tirar de la cadena del WC".

La verdad es que soy de letras por lo que el tema de senos/cosenos y demas formulas matemaicas no las domino... alguien puede intentar ayudarme a encontrar la formula correcta para trazar la trayectoria descrita?

Asias!

BoMbErLiNk

#63
Prueba con este código, poniendo lo siguiente en cada sección :

PRIVATE

original_x;
original_y;
angulo;
radio_grande=50;
radio_peque=20;
seno;
coseno;
velocidad_angulo=16000;

BEGIN

original_x=x;
original_y=y;

LOOP

   seno=sin(angulo)*radio_peque;
   coseno=cos(angulo)*radio_grande;
   x=original_x+coseno;
   y=original_y+seno;
   IF (flags==0) angulo=angulo-velocidad_angulo; ELSE angulo=angulo+velocidad_angulo; END

--

Para cambiar la longitud del giro cambia radio_grande, para la amplitud radio_peque, velocidad_angulo para la velocidad de la rotación, este ejemplo se basa en una posición permanente tienes que actualizar original_x y original_y si vas a usar scroll, con la diferencia de distancia equivalente con la posicion original.

---

Yo lo que quiero es exactamente lo contrario, conseguir ese agujero negro como efecto gráfico en tiempo real, efectos de abstracción, expansión para meter en explosiones etc (ya tengo unos de deformación " S " y " 7 " por código), a ver si saco algo de tiempo para trastear  :P o si alguien ya tiene un código para compartir  ;D

Hokutoy

Quote from: BoMbErLiNk on March 18, 2010, 03:50:46 PM
Prueba con este código, poniendo lo siguiente en cada sección :

PRIVATE

original_x;
original_y;
angulo;
radio_grande=50;
radio_peque=20;
seno;
coseno;
velocidad_angulo=16000;

BEGIN

original_x=x;
original_y=y;

LOOP

   seno=sin(angulo)*radio_peque;
   coseno=cos(angulo)*radio_grande;
   x=original_x+coseno;
   y=original_y+seno;
   IF (flags==0) angulo=angulo-velocidad_angulo; ELSE angulo=angulo+velocidad_angulo; END

--

Para cambiar la longitud del giro cambia radio_grande, para la amplitud radio_peque, velocidad_angulo para la velocidad de la rotación, este ejemplo se basa en una posición permanente tienes que actualizar original_x y original_y si vas a usar scroll, con la diferencia de distancia equivalente con la posicion original.

---

Yo lo que quiero es exactamente lo contrario, conseguir ese agujero negro como efecto gráfico en tiempo real, efectos de abstracción, expansión para meter en explosiones etc (ya tengo unos de deformación " S " y " 7 " por código), a ver si saco algo de tiempo para trastear  :P o si alguien ya tiene un código para compartir  ;D

Genial bomber! Al llegar a casa lo pruebo. Lo que no acabo de entender es lo de los Flags... imagino que has obviado la línea donde se cambia de flags=0 a flags=1... que se cambia dependiendo de en que lado de la pantalla se esté?

Gracias!

BoMbErLiNk

Ah si, eso cambialo como quieras,  lo deje en caso de que quieras hacer el giro para la izquierda o para la derecha con solo cambiar el flags, también te sive cambiando la velocidad_angulo de positivo a negativo  ;)

Hokutoy

#66
Quote from: BoMbErLiNk on March 18, 2010, 04:09:28 PM
Ah si, eso cambialo como quieras,  lo deje en caso de que quieras hacer el giro para la izquierda o para la derecha con solo cambiar el flags, también te sive cambiando la velocidad_angulo de positivo a negativo  ;)

Gracias Bomber. El código me ha ido de perlas para lograr el efecto que buscaba!
Para que veas como ha quedado el efecto dejo un cutre-video... pero en la consola luce 1000 veces mejor jejeje.

Saludos!

http://www.youtube.com/watch?v=dat_waZZe9E

DCelso

juas, pues de cutre  no tiene nada eh, parece un juegazo.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

BoMbErLiNk

Muy chulo, me gusta el zoom que hace la nave al meterse en el agujero  :)

SplinterGU

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

Drumpi

Juer, mola el efecto ¿Y dices que es cutre? pero si seguro que hay cientos de programadores que ya no hacen ni eso (se lo mandan al motor de partículas y se olvidan).
Son esos detalles los que distinguen un simple juego de un buen juego.
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)

Hokutoy

Gracias por los comentarios!
Técnicamente, lo que dije que era cutre era el video (por estar grabado con un programa screen-capturer de escritorio de esos) no el efecto ni el juego  ;D

Ya iré pidiendo mas ayuda a lo largo del desarrollo.

Lo malo es que al usar triple scroll en el fondo (1 scroll + background) + 1 scroll adicional y que cada bala es un proceso distinto, el juego, en la wiz a 750 Hz, me ha pasado de los 60 frames por segundo estables a unos 60-50 semiestables. El juego es igualmente jugable (no se nota mucho la diferencia... pero espera a que le meta mas efectos  :().

Saludos!


Drumpi

No se yo, no creo que los scrolls consuman tanto, porque en el cutre port del último crap-juego que hice, scrolls de dos planos y un modo 7 iban perfectos en GP2X... siempre y cuando fuera a su resolución (a 800x600 es un desastre ^^U).

De todas formas, me interesa saber cual es el rendimiento de los scrolls en WIZ, porque quería meterle un par de ellos con efecto aditivo a mi último proyecto.
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)

FreeYourMind

Si los haces manuales y no utilizas los del sistema, vas a ganar rendimiento.

Drumpi

Que raro, tenía entendido que AHORA era al revés. Con Fenix si era así, pero en mi último test había mejorado mucho el scroll ???

NOTA: dicho test tiene ya MUCHOS meses (posíblemente más de un año).
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)