Mayo 26, 2011, 01:57:58 PM Ultima modificación: Junio 14, 2011, 06:17:44 AM por Xiven Corp
es positivo o negativo el uso del fps para las animaciones?
por ejemplo:

CASO A
[gml]maxfps=max(maxfps,fps)
if move=true{if fps<(maxfps/4){speed+=fps/30}}
if explosion=true{if fps<(maxfps/4){CREAR EFECTO DE EXPLOCION CON PARTICULAS al 100%(HQ) a la velocidad del FPS}else{CREAR EFECTO DE EXPLOCION CON PARTICULAS "caso emergente" al 20%(LQ) a la velocidad del FPS}}[/gml]
CASO B
[gml]maxfps=max(maxfps,fps)
if move=true{if fps<(maxfps/4){speed+=1}}
if explosion=true{if fps<(maxfps/4){CREAR EFECTO DE EXPLOCION CON PARTICULAS al 100%(HQ) a velocidad de 3 px}else{CREAR EFECTO DE EXPLOCION CON PARTICULAS "caso emergente" al 20%(LQ)}a velocidad de 3 px}[/gml]
de forma que las animaciones se detengan si el fsp es muy reducido. razon? para evitar que el juego se vea lento.

Y cual de estos casos seria una mejor opci?n de ser cierta la primera pregunta?

Soluci?n:
Leer todo el post

A mi gusto eso puede causar problemas.. supongo que si haces eso es poque queres adaptas un juego a una pc rapida/lenta a una velocidad considerable para eso te aconsejo que le pongas una opcion en el menu del juego para que el usuario maneje a gusto los frames limites del juego.

pero que tipo de problemas o ventajas es lo que quiero saber

Citarpero que tipo de problemas o ventajas es lo que quiero saber
Inestabilidad, y problemas al ejecutar el juego. Se te puede salir, puede andar lento o entrecortado.
Supongo que en casos muy extremos el juego puede consumirte demasiada RAM al punto de reiniciar el sistema, igual no creo que suceda  XD

Citares positivo o negativo el uso del fps para las animaciones?
Los FPS siempre son positivos, por que en el caso de que fueran negativos se reproducir?an en sentido inverso, pero con el uso de animaciones puede usarse sin problemas.
Imaginate tu reproductor de m?sica, se reproduce a 1x ; si lo pones a 0.5x se reproduce a la mitad de la velocidad ; con 0x se detiene, entonces -1x seria en sentido inverso. Pasa lo mismo con las im?genes, por ejemplo de un GIF o de una pel?cula. Y si consideramos a un juego como una sucesi?n de 30 im?genes por segundo, esta teor?a podr?a ser aplicada. Igual nunca intente poner el room con un speed de -30 , as? que no se que puede suceder  :-[

Citarif move=true{if fps>20{speed+=fps/30}}
Respecto a este c?digo, no creo que cause problemas.

Suerte !  ;D

CitarCitar
es positivo o negativo el uso del fps para las animaciones?
Los FPS siempre son positivos, por que en el caso de que fueran negativos se reproducir?an en sentido inverso, pero con el uso de animaciones puede usarse sin problemas.
Imaginate tu reproductor de m?sica, se reproduce a 1x ; si lo pones a 0.5x se reproduce a la mitad de la velocidad ; con 0x se detiene, entonces -1x seria en sentido inverso. Pasa lo mismo con las im?genes, por ejemplo de un GIF o de una pel?cula. Y si consideramos a un juego como una sucesi?n de 30 im?genes por segundo, esta teor?a podr?a ser aplicada. Igual nunca intente poner el room con un speed de -30 , as? que no se que puede suceder 
Me referia a su uso, no a su valor. Ya se que su valor es positivo.

Seria mas facctible la opcion de elegir al jugador el limite de frecuencia(como se menciono arriba), ya que el estar cambiandolos constantemente puede causar efectos feos, por que los fps en determinados momentos bajan mucho pero solo por un indetectable momento.

Como se dice, seria bueno darle al jugador la opcion de elegir la frecuencia y adaptar el code para que funcione bien. Normalmente seria elegir 15-30-60 fps los estandares, pero creo que en algun juego vi la opcion "variable" que vendria siendo lo que dices tu.


Salu2

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.

#6 Mayo 27, 2011, 12:48:08 PM Ultima modificación: Mayo 30, 2011, 12:18:51 PM por Xiven Corp
creo que no me explico bien, la razon por la que usaria los FPS seria solo como llamada, como en este caso:

CASO A
[gml]if move=true{if fps<(fps/4){speed+=fps/30}}
if explosion=true{if fps<(fps/4){CREAR EFECTO DE EXPLOCION CON PARTICULAS al 100%(HQ) a la velocidad del FPS}else{CREAR EFECTO DE EXPLOCION CON PARTICULAS "caso emergente" al 20%(LQ) a la velocidad del FPS}}[/gml]
CASO B
[gml]if move=true{if fps<(fps/4){speed+=1}}
if explosion=true{if fps<(fps/4){CREAR EFECTO DE EXPLOCION CON PARTICULAS al 100%(HQ) a velocidad de 3 px}else{CREAR EFECTO DE EXPLOCION CON PARTICULAS "caso emergente" al 20%(LQ)}a velocidad de 3 px}[/gml]
de forma que las animaciones se detengan si el fsp es muy reducido. razon? para evitar que el juego se vea lento.

Y cual de estos casos seria una mejor opci?n?

Bueno, para empezar, esos if fps>(fps*4) nunca se va a cumplir.
Teniendo este codigo:
[gml]if (fps > fps * 4) {
    // ...
}[/gml]
Supongamos que los fps son 30:
[gml]if (30 > 30 * 4) {
    // ...
}[/gml]
eso se eval?a en...
[gml]if (30 > 120) {
    // ...
}[/gml]
Vamos, que ning?n n?mero positivo x es mayor que x * 4.
Vim.

#8 Mayo 28, 2011, 08:36:53 AM Ultima modificación: Mayo 30, 2011, 06:52:59 AM por Xiven Corp
Cita de: Wadk en Mayo 28, 2011, 01:37:21 AM
Bueno, para empezar, esos if fps>(fps*4) nunca se va a cumplir.
Teniendo este codigo:
[gml]if (fps > fps / 4) {
    // ...
}[/gml]
Supongamos que los fps son 30:
[gml]if (30 > 30 / 4) {
    // ...
}[/gml]
eso se eval?a en...
[gml]if (30 > 120) {
    // ...
}[/gml]
Vamos, que ning?n n?mero positivo x es mayor que x * 4.
ya lo corregi, es dividido , no multiplicado

Entonces es lo mismo, pero al rev?s.
Vim.

 ??? sigo sin saber si es bueno o malo usar al fps para realizar funciones y si es asi que codigos de los que presente es el mas optimo.

?Bueno o malo??? no se diferencia de usar cualquier otra variable, ?Cu?l de los dos codigos es mas ?ptimo? ninguno, simplemente no tiene sentido, tal como dijo Wadk:
Nunca se ejecutaria:
[gml]if (30 > 120) {
    // ...
}[/gml]
Y ahora como lo divides, siempre se ejecutaria, sin importar que tantos FPS tengas:
[gml]if (30 > 7.5) {
    // ...
}[/gml]
x siempre sera mayor que x/4

Saludos

#12 Mayo 30, 2011, 12:17:46 PM Ultima modificación: Mayo 30, 2011, 12:23:17 PM por Xiven Corp
EJEMPLO CORREGIDO
[gml]if (fps < fps / 4) {
    // ...
}[/gml]
Supongamos que los fps son 30:
[gml]if (30 < 30 / 4) {
    // ...
}[/gml]
eso se eval?a en...
[gml]if (30 < 7.5) {
    lowfps+=1 if lowfps=100{show_message('Tu PC se pasa lagueada y no sirve para jugar comprate otra XD') }
}[/gml]

La duda no puede ser solucionada si no est? planteada correctamente.
Y no, a?n no est? correjido el error. x nunca es menor que x/4.

Creo que lo que quer?s es:
[gml]if (fps < room_speed / 4) {
    // ...
}[/gml]
Vim.

EJEMPLO CORREGIDO V2  XD
[gml]maxfps=max(room_speed,fps,maxfps)
if (fps < maxfps / 4) {
   // ...
}[/gml]
Supongamos que los fps son 30:
[gml]if (30 < 30 / 4) {
   // ...
}[/gml]
eso se eval?a en...
[gml]if (30 < 7.5) {
   lowfps+=1 if lowfps=100{show_message('Tu PC se pasa lagueada y no sirve para jugar comprate otra XD') }
}[/gml]