¿Podrías adjuntar el código del movimiento y el sistema de colisiones, por favor? Así mismo, indica en qué evento está cada cual.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
16
Preguntas y respuestas / Re:Ayuda con gravedad, velocidad excesiva y objetos traspasando.
Junio 01, 2014, 05:10:41 PM17
Preguntas y respuestas / Re:Ayuda con gravedad, velocidad excesiva y objetos traspasando.
Junio 01, 2014, 04:35:46 PMCita de: elviskelley en Junio 01, 2014, 04:17:17 PMAun así seguirá traspasando el objeto, pues no es por la velocidad, es por el orden de las comprobaciones.
algo tambien es limitar la vspeed usando una comprobacion.
if (vspeed > 16) {vspeed=16;}
18
Preguntas y respuestas / Re:¿Posible crear un juego multijugador online con las siguientes carcterísticas?
Junio 01, 2014, 01:28:39 PM
Poder se puede, perfectamente. Ten en cuenta que incluso la vida es simulable, mas no tenemos tecnología para conseguirlo.
Voy a hacer mi aporte en cuestión de planificación, servidores y bases de datos.
Ten en cuenta que los datos de absolutamente todo se guardarán en el servidor. Esto quiere decir que, aparte del cliente del juego (el que procesará), habrás de crear un servidor (que sincronizará la información entre jugadores). El servidor, así mismo, sería el encargado de procesar comandos y comprobar permisos, ejecutándolo por el mismo posteriormente (para el sistema de moderadores).
Tanto el juego, como el servidor, puedes hacerlo en Game Maker sin problema. Sin embargo, debes tener muy bien definido lo que quieres. Es posible que convenga más hacer una base de datos en formato MySQL que en un formato de diseño propio (si quieres acceder sin problema dese una web a los datos de los jugadores), puede, también, que sea mejor hacer el servidor en Java o en C++, si vas a implementarlo en Linux, etc.
Lo que quiero decir es que, antes de decidirte por algo, planifica con el mayor detalle posible tu proyecto. Si no sabes lo que quieres, difícilmente podrás tomar la opción acertada.
Voy a hacer mi aporte en cuestión de planificación, servidores y bases de datos.
Ten en cuenta que los datos de absolutamente todo se guardarán en el servidor. Esto quiere decir que, aparte del cliente del juego (el que procesará), habrás de crear un servidor (que sincronizará la información entre jugadores). El servidor, así mismo, sería el encargado de procesar comandos y comprobar permisos, ejecutándolo por el mismo posteriormente (para el sistema de moderadores).
Tanto el juego, como el servidor, puedes hacerlo en Game Maker sin problema. Sin embargo, debes tener muy bien definido lo que quieres. Es posible que convenga más hacer una base de datos en formato MySQL que en un formato de diseño propio (si quieres acceder sin problema dese una web a los datos de los jugadores), puede, también, que sea mejor hacer el servidor en Java o en C++, si vas a implementarlo en Linux, etc.
Lo que quiero decir es que, antes de decidirte por algo, planifica con el mayor detalle posible tu proyecto. Si no sabes lo que quieres, difícilmente podrás tomar la opción acertada.
19
Preguntas y respuestas / Re:Ayuda con gravedad, velocidad excesiva y objetos traspasando.
Junio 01, 2014, 11:40:03 AM
Tu problema puede deberse a varios factores pero, conociendo un poco el funcionamiento de Game Maker, apostaría que es por la comprobación.
Si tu le indicas a tu objeto avanzar y, seguidamente, compruebas si es mayor o igual, es obvio que traspasará el suelo pues, antes de comprobarlo, le indicaste que se mueva, esté o no chocando.
Creo que una forma sencilla de solucionarlo es creando un evento de colisión donde le indicas que, en caso de que chocase contra otro objeto, pare.
Ya que tu, según entiendo, lo estás haciendo según coordenadas directamente (ya sea porque no hay un objeto en el suelo con el que colisionar o porque no quieres usar el evento colisión que, por cierto, hace lo mismo que intentas hacer "a mano"), lo que deberías hacer es un cálculo de distancias antes del movimiento. Te explico.
- Antes de mover el objeto, comprueba que esté a una distancia mayor o igual a X de la coordenada que no deba traspasar. Por ejemplo, si se mueve 10px en cada step (X = 10), comprueba que la distancia desde la base del objeto hasta la coordenada sea mínimo 10px. En caso de ser menos, se moverá solamente los pixeles que lo separan del suelo.
- En caso de que la comprobación anterior (distancia del objeto hasta el suelo es mayor o igual que la X que representa su movimiento) sea verdadera, le indicarás que se mueva 10px.
Concluyendo, lo que se hace es una excepción de que, en caso de que la distancia sea menor al módulo de velocidad, solamente se mueva lo que le quede.
Si tu le indicas a tu objeto avanzar y, seguidamente, compruebas si es mayor o igual, es obvio que traspasará el suelo pues, antes de comprobarlo, le indicaste que se mueva, esté o no chocando.
Creo que una forma sencilla de solucionarlo es creando un evento de colisión donde le indicas que, en caso de que chocase contra otro objeto, pare.
Ya que tu, según entiendo, lo estás haciendo según coordenadas directamente (ya sea porque no hay un objeto en el suelo con el que colisionar o porque no quieres usar el evento colisión que, por cierto, hace lo mismo que intentas hacer "a mano"), lo que deberías hacer es un cálculo de distancias antes del movimiento. Te explico.
- Antes de mover el objeto, comprueba que esté a una distancia mayor o igual a X de la coordenada que no deba traspasar. Por ejemplo, si se mueve 10px en cada step (X = 10), comprueba que la distancia desde la base del objeto hasta la coordenada sea mínimo 10px. En caso de ser menos, se moverá solamente los pixeles que lo separan del suelo.
- En caso de que la comprobación anterior (distancia del objeto hasta el suelo es mayor o igual que la X que representa su movimiento) sea verdadera, le indicarás que se mueva 10px.
Concluyendo, lo que se hace es una excepción de que, en caso de que la distancia sea menor al módulo de velocidad, solamente se mueva lo que le quede.
20
Juegos en desarrollo / Re:Blig![Demo]
Abril 11, 2014, 07:27:29 PM
Ostias, ¡me encanta la idea del juego y esos gráficos que tiene! Está muy bien que lo lances para PC (últimamente todo es Android :-X ).
Aun así, yo, después de lanzarlo para PC y corregir bugs (no vi ninguno, por cierto), lo adaptaría a Android.
Felicidades.
Aun así, yo, después de lanzarlo para PC y corregir bugs (no vi ninguno, por cierto), lo adaptaría a Android.
Felicidades.
21
Juegos en desarrollo / Re:Gemdow Quest [primera entrega] [avance 2da entrega]
Marzo 28, 2014, 12:07:21 AM
Me pasé una hora jugando y ya puedo dar comentarios sobre el juego 8)
¡MUY BUENO!
No avancé mucho porque me entretengo en explorarlo todo y hablar con todos los personajes. Me encantan los detallitos que tiene, como, por ejemplo, las ramas que se rompen cuando las pisas, las partituras, los diálogos de una madre que no entiende cómo funciona el banco, etc. ¡Genial!
Es uno de esos juegos que, realmente, logran hacer que te metas dentro del mundo. Felicidades ;)
En cuanto a los créditos no te voy a decir que no, jaja. Aún no llegué a la parte de decorar naves, pero vaya... ¡Este es otro de esos detalles que te hacen perder la noción del tiempo!
¡MUY BUENO!
No avancé mucho porque me entretengo en explorarlo todo y hablar con todos los personajes. Me encantan los detallitos que tiene, como, por ejemplo, las ramas que se rompen cuando las pisas, las partituras, los diálogos de una madre que no entiende cómo funciona el banco, etc. ¡Genial!
Es uno de esos juegos que, realmente, logran hacer que te metas dentro del mundo. Felicidades ;)
En cuanto a los créditos no te voy a decir que no, jaja. Aún no llegué a la parte de decorar naves, pero vaya... ¡Este es otro de esos detalles que te hacen perder la noción del tiempo!
22
Juegos en desarrollo / Re:Gemdow Quest [primera entrega] [avance 2da entrega]
Marzo 27, 2014, 10:15:59 PM
Cuando juego en las 4 escaleras, nunca me da el premio. ¿Es un bug o hay que recogerlo en algún sitio en concreto?