Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Ynfiniti en Octubre 14, 2015, 03:24:26 PM

Título: instancia al chocar con otra de su mismo objeto se mezcle con la otra?[Resuelto]
Publicado por: Ynfiniti en Octubre 14, 2015, 03:24:26 PM
Tengo un objeto con sprite cuadrado con bordes blancos, éste objeto cae desde arriba y al caer se amontona con los demás bloques, esto es lo que quiero:

(https://dl.dropboxusercontent.com/u/39289049/Cubos.jpg)
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: jodidox en Octubre 14, 2015, 04:13:46 PM
¿Cayendo hacia abajo? ¿Acaso no es obvio?  :D Y respecto a tu pregunta, ni idea. Sería bueno que alguien supiera pues también me interesa.  XD
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: fasst007 en Octubre 14, 2015, 06:09:41 PM
Tengo la idea pero de ahí a programarla es un trecho. Apenas me de un tiempo voy a tratar de hacerlo
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Clamud en Octubre 14, 2015, 07:29:20 PM
Esta es una forma. El objeto se dibujaría en partes: la parte interna anaranjada + 4 bordes + 4 esquinas. Al terminar su movimiento, revisa si hay vecinos en las 8 direcciones, para decidir si se dibujan los bordes y las esquinas.
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: kostra en Octubre 14, 2015, 10:32:14 PM
busca cualquiera de los millones de ejemplos de "autotile" y se lo aplicas :)
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Ynfiniti en Octubre 15, 2015, 03:59:15 AM
Cita de: Clamud en Octubre 14, 2015, 07:29:20 PM
Esta es una forma. El objeto se dibujaría en partes: la parte interna anaranjada + 4 bordes + 4 esquinas. Al terminar su movimiento, revisa si hay vecinos en las 8 direcciones, para decidir si se dibujan los bordes y las esquinas.

Se podría hacer así, pero creo que hay un método más elaborado para cosas como esas, un ejemplo es el juego "PANICBOX": http://sandbox.yoyogames.com/games/214428-panicbox , Cada figura al rozar o superponerse con otra, se mezcla con la otra figura y sus bordes desaparecen en el lugar en donde se solapan... quisiera saber como lo hicieron  :-[
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Clamud en Octubre 15, 2015, 04:14:20 AM
No puedo acceder a sandbox.yoyogames, ¿tu sí?
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Guacusio en Octubre 15, 2015, 04:26:40 AM
Cita de: Clamud en Octubre 15, 2015, 04:14:20 AM
No puedo acceder a sandbox.yoyogames, ¿tu sí?

El juego es gratuito así que no debería haber problema si lo adjunto (yo sí pude acceder). Por cierto, no se me ocurre cómo lograr el efecto que aparece en el juego.

Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: penumbra en Octubre 15, 2015, 11:37:52 AM
Cita de: Clamud en Octubre 15, 2015, 04:14:20 AM
No puedo acceder a sandbox.yoyogames, ¿tu sí?
También puedo acceder al link del sandbox

Cita de: Ynfiniti en Octubre 15, 2015, 03:59:15 AM
Se podría hacer así, pero creo que hay un método más elaborado para cosas como esas, un ejemplo es el juego "PANICBOX": http://sandbox.yoyogames.com/games/214428-panicbox , Cada figura al rozar o superponerse con otra, se mezcla con la otra figura y sus bordes desaparecen en el lugar en donde se solapan... quisiera saber como lo hicieron  :-[
Quizás me equivoque, ya que desconozco que lógica usó el autor, pero a mi me parece que en ese juego no se están fusionando objetos realmente, sino que es un efecto visual. Si esto fuera así, entonces ese método visual no funcionaría en un juego en donde se desea evaluar colisiones en los objetos fusionados considerando la forma resultante de la unión de dos o más sprites.

Lo que me lleva a pensar que en el juego panicbox no se fusionan realmente dos o más objetos en uno solo, es que para su mecánica, no tiene ningún caso fusionarlos.

1. A mi me da la impresión que en todo momento las colisiones se basan en las máscaras individuales de cada objeto y no en una posible máscara "fusionada"
2. Los objetos que se empalman, después de un tiempo se vuelven a desempalmar.
3. Por el número de objetos y su movimiento, creo que si se quisiera realmente fusionar objetos (y después de un tiempo "desfusionarlos"), se estaría requiriendo mucho procesamiento, y al final, si  no se fusionara nada, las colisiones seguirían trabajando igual.
4. Como hay muchos objetos en movimiento, la fusión/desfusión (perdón por el término) se estaría realizando en STEP una y otra vez, para muchas distintas instancias, y sin embargo, el consumo de procesador al correr el juego me hace sospechar que no ocurre ninguna fusión, aunque no lo puedo asegurar.
5. Creo que la mayoría del tiempo, el fusionar objetos es más apropiado (me refiero a juegos normales que no usan el engine de física box2d ) si esos objetos van a ser estáticos, es decir, objetos que después de fusionados ya no cambiarán de forma al siguiente STEP.

Igual me equivoco, pero esa impresión me da a mi. El efecto de fusión me gustó bastante, no sé si sea el método usado por el autor de ese juego, pero he logrado replicarlo aunque no lo he pulido por falta de tiempo:

(http://i.imgur.com/6XEu5pe.gif)

Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Ynfiniti en Octubre 15, 2015, 02:25:56 PM
Cita de: penumbra en Octubre 15, 2015, 11:37:52 AM
Igual me equivoco, pero esa impresión me da a mi. El efecto de fusión me gustó bastante, no sé si sea el método usado por el autor de ese juego, pero he logrado replicarlo aunque no lo he pulido por falta de tiempo:[/font]
(http://i.imgur.com/6XEu5pe.gif)

¿Podrías compartirlo Penumbra? es interesante ese efecto.  :)
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: penumbra en Octubre 15, 2015, 10:09:33 PM
Cita de: Ynfiniti en Octubre 15, 2015, 02:25:56 PM
¿Podrías compartirlo Penumbra? es interesante ese efecto.  :)
Seguro, pero es un truco tan sencillo, que hasta da pena mencionarlo  :-[:

Como dije, a mi me pareció desde un principio que era un efecto visual. La idea se reforzó más en mi cabeza por el estilo monocromático del juego. El "truco" es usar "parches" (draw_rectangle) del mismo color que el fondo. Por ejemplo, en las barras:
(http://i.imgur.com/WZaz4qU.png)
Como se puede ver, el parche/rectángulo se dibuja encima de los otros objetos y es ligeramente menor que el objeto barra, para no bloquear sus bordes blancos.

La misma idea se aplica en las orillas/márgenes de la habitación. Alrededor del rectángulo blanco o marco blanco hay cuatro "parches" externos (entre los bordes de la habitación y el marco), dibujados en el evento GUI (que se dibuja por encima de todo). No importa que los objetos se traslapen en esa zona, esos cuatro rectangulos bloquean la visión y da la impresión de que hay una fusión con el marco blanco.

Todo esto funciona mientras el juego sea monocromático. Si los objetos tuvieran un color de relleno distinto al fondo, el efecto se estropearía.  :D
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: jodidox en Octubre 15, 2015, 11:12:45 PM
Vaya, nunca llegue a pensar en eso.  :D Ahora que lo mencionas si tiene mucha lógica.  :'( Erá tan sencillo que no lo vimos. (Jajajaja), bueno será seguir estudiando.  8) 
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Ynfiniti en Octubre 15, 2015, 11:18:35 PM
Cita de: penumbra en Octubre 15, 2015, 10:09:33 PM
Cita de: Ynfiniti en Octubre 15, 2015, 02:25:56 PM
¿Podrías compartirlo Penumbra? es interesante ese efecto.  :)
Seguro, pero es un truco tan sencillo, que hasta da pena mencionarlo  :-[:

Como dije, a mi me pareció desde un principio que era un efecto visual. La idea se reforzó más en mi cabeza por el estilo monocromático del juego. El "truco" es usar "parches" (draw_rectangle) del mismo color que el fondo. Por ejemplo, en las barras:
(http://i.imgur.com/WZaz4qU.png)
Como se puede ver, el parche/rectángulo se dibuja encima de los otros objetos y es ligeramente menor que el objeto barra, para no bloquear sus bordes blancos.

La misma idea se aplica en las orillas/márgenes de la habitación. Alrededor del rectángulo blanco o marco blanco hay cuatro "parches" externos (entre los bordes de la habitación y el marco), dibujados en el evento GUI (que se dibuja por encima de todo). No importa que los objetos se traslapen en esa zona, esos cuatro rectangulos bloquean la visión y da la impresión de que hay una fusión con el marco blanco.

Todo esto funciona mientras el juego sea monocromático. Si los objetos tuvieran un color de relleno distinto al fondo, el efecto se estropearía.  :D

Jajajaj, cómo no se me ocurrió antes? jajaja, muchas gracias, a veces nos dejamos llevar y obviamos las cosas más simples. Creo que esta es una gran manera de hacer eso, ya que es optima porque no requiere comprobar nada ni hacer cálculos  :D
Título: Re:¿instancia al chocar con otra de su mismo objeto se mezcle con la otra?
Publicado por: Guacusio en Octubre 16, 2015, 05:31:01 AM
Buen pensamiento lateral, excelente forma de hacerlo, penumbra, tremendamente sencillo de implementar y aún así no se me ocurrió... XD
Título: Re:instancia al chocar con otra de su mismo objeto se mezcle con la otra?[Resuelto]
Publicado por: kostra en Octubre 16, 2015, 04:09:27 PM
osttii, impresionante, así de simple es esa locura??? jaja, gracias penumbra, también de mi parte jaaja.

Ynfiniti:
http://gmc.yoyogames.com/index.php?showtopic=490897
http://gmc.yoyogames.com/index.php?showtopic=617996
http://gmc.yoyogames.com/index.php?showtopic=551889
http://gmc.yoyogames.com/index.php?showtopic=487245

Para lo que tú quieres, CUALQUIER ejemplo de autotile como te dije, te sirve de sobras... buscaste lo que te dije??
Título: Re:instancia al chocar con otra de su mismo objeto se mezcle con la otra?[Resuelto]
Publicado por: Guacusio en Octubre 16, 2015, 10:55:33 PM
Cita de: kostra en Octubre 16, 2015, 04:09:27 PM
osttii, impresionante, así de simple es esa locura??? jaja, gracias penumbra, también de mi parte jaaja.

Ynfiniti:
http://gmc.yoyogames.com/index.php?showtopic=490897
http://gmc.yoyogames.com/index.php?showtopic=617996
http://gmc.yoyogames.com/index.php?showtopic=551889
http://gmc.yoyogames.com/index.php?showtopic=487245

Para lo que tú quieres, CUALQUIER ejemplo de autotile como te dije, te sirve de sobras... buscaste lo que te dije??

Es una forma de hacerlo pero es más compleja; requeriría definir una imagen para el bloque para cada uno de los 16 casos de empalme y un script que calculara cuál de esos 16 aplica según las condiciones de borde, para ambos bloques en contacto.
Título: Re:instancia al chocar con otra de su mismo objeto se mezcle con la otra?[Resuelto]
Publicado por: kostra en Octubre 17, 2015, 09:03:32 PM
con opción a poner bloques más bonitos.. y no una fea linea bordeada xD