Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Jangse en Enero 20, 2014, 08:54:10 PM

Título: ¿Tan malo es abusar del evento step?
Publicado por: Jangse en Enero 20, 2014, 08:54:10 PM
Hola de nuevo!

Tanto leyendo el manual o post del foro, recomiendan no sobrecargar el evento Step. Por el tema que satura la velocidad del juego. Pero yo, por mas que miro los otros eventos, solo veo este sitio para poner el grueso de nuestro código GML.

Por que claro, en el evento Create se ponen cuatro cosas (Creación de variables o algún movimiento mecánico del enemigo) . Por que es un evento que solo se repite una vez. El Alarm, es eso alarmas y tal. Es decir, no podemos liarnos a meterles Whiles, ifs y demás. Y el Draw, pues eso para dibujar cosas en pantalla y tal. Los otros eventos ya son de tipo teclas, ratón algunos modificadores de rooms.

Y claro, normalmente, un vídeo juego lleva mucho código. Esta claro que este lo repartimos en distintos Eventos. Pero el grueso de ese código solo veo una ubicación y es el Step.

Igual estoy diciendo un sacrilegio y debo ordenar conceptos. Pero cuando veo listados enormes de GML esta claro que no van a ir en un evento Alarm o Draw, digo yo ¿No...?

Alguien me comentó en el foro, que no recomendaban usar nuestros patrones de movimiento en el Step. Pero he podido ver a gente que domina bastante el tema (Por ejemplo Jucarave) que normalmente los pone en el Step.

Por que si no, sería interesante hacer una lista de que poner y no poner en Step. Si no, queda todo muy ambiguo. Y más para los que aprendemos y pensamos que no hacemos algo correcto.
Título: Re:¿Tan malo es abusar del evento step?
Publicado por: penumbra en Enero 20, 2014, 09:49:53 PM
Cita de: Jangse en Enero 20, 2014, 08:54:10 PM
Por que si no, sería interesante hacer una lista de que poner y no poner en Step.

No. Sería declarar una nueva inquisición

Cita de: Jangse en Enero 20, 2014, 08:54:10 PM
Y más para los que aprendemos y pensamos que no hacemos algo correcto.

Si quieres aprender, date la oportunidad de fallar y equivocarte. Arriésgate y experimenta por ti mismo qué te funciona y qué no. Parece que estás demasiado pendiente de no salirte del camino seguro. Fíjate que un simple loop while con una condición equivocada ya te va a echar a perder la ejecución de tu juego, sin haber sobrecargado nada. Todo puede ir en STEP o incluso en DRAW.

Cita de: Jangse en Enero 20, 2014, 08:54:10 PM
Si no, queda todo muy ambiguo.

Jústamente, ahí es donde comienza la experimentación y nacen las diferencias entre una manera de hacer las cosas y otra menera de hacerlas.

Título: Re:¿Tan malo es abusar del evento step?
Publicado por: DarkKRuleR en Enero 20, 2014, 10:37:43 PM
A veces también hay que sacrificar algo de "posible eficiencia" a cambio de código limpio. Por mi parte, no uso eventos de teclas pulsadas, clicks del ratón ni colisiones (casos contados), suelo hacerlo todo en step con keyboards_checks, place_meeting y demás (y como dicen aquí, incluso en draw si es el caso). Lo tengo todo más limpio, ordenado, compacto, fácil de reutilizar y modificar... esto si realmente fuera tan leeento, que no lo creo, yo sobrecargo el evento step, pero obviamente TODO LO QUE PONGAS EN STEP no siempre se ejecuta, pues tienes por delante if's varios para ejecutar solo aquello que quieres en cada momento, simplemente está todo en step para tenerlo ordenado y fácil :) (vamos, que dudo que cueste mas un if keyboard_check_pressed en step que el evento de presionar tecla...)
Título: Re:¿Tan malo es abusar del evento step?
Publicado por: Ciberman en Enero 21, 2014, 03:54:44 PM
A ver, no sé quién te metió en la cabeza que  el evento step es malo. Los tres eventos fundamentales e irremplazables son el create, draw y step. El grueso del código se deposita en step. Y no, para, no relentiza el juego el evento en sí. Lo que relentiza el juego es si ponés muchas acciones muy muy muy muy pesadas dentro de ese evento. O si tenés 10.000 instancias (literalmente) de ese objeto que ejecuta ese evento step.
Ahi sí se va a recargar el juego. Sinó no hay problema.

Citar
I (http://www.paradishop.com/media/wysiwyg/heart-icon.png) Step event
Título: Re:¿Tan malo es abusar del evento step?
Publicado por: Jangse en Enero 21, 2014, 07:22:43 PM
Ok. Ya queda mas claro. Soy consciente que para aprender uno debe errar primero. Y ese me pasará muchas veces con el código. El problema surge, que se puede dar el caso, que nuestro código este bien. Pero que al aplicarlo en un evento que no corresponda, igual tiene un resultado que no es el deseado. De esa forma nos vemos a veces chequeando dos cosas, el código y los eventos. Saludos!