[Devlog] Primer projecto que acabaré + aprendamos juntos

Leos

Bueno me he encontrado con una duda, he estado mirando como funciona el movimiento para el coche, pero claro, aquí viene el dilema, el juego que tomo como ejemplo el coche no se mueve fluido, se mueve izquierda-derecha en un sitio fijo y solo en dos carriles, no se si me explico... Aunque todos sabéis seguro como va el juego original.

Pues mi duda es si copiar ese movimiento o dejarle un movimiento más parecido a un coche para darle un poco de cambio de jugabilidad, opiniones?

4 respuestas
B

#121 ¿Un hibrido? Me explico, tienes la opción original en la cual pulsas derecha/izquierda y el coche se "teletransporta" a su nueva posición, podrías hacer eso con una animación por el medio. Así te queda fluido manteniendo los carriles fijos que tu quieras.

1
Kalgator

#121 si lo vas a hacer "hd", para mi que es mejor hacerlo un pelin mas realista

totespare

#121 yo lo haria como en audiosurf, échale un ojo!

2 2 respuestas
B

#121 #124 voto por la mecánica del Audiosurf

Lykaiast

#124 me lo imaginaba como el audiosurf para mejorarlo, no sabía que tenia ese nombre xD

Leos

Pues antes de decidir, me miraré a ver como es el audiosurf ese que no lo habia escuchado en mi vida ese juego, cuando decida algo updateo!

Gracias a todos chicos y chica!!!!!

1 respuesta
AikonCWD

#127 Yo te recomiendo que cierres en banda ya las features de tu juego/projecto o no lo terminarás nunca xD.

1 1 respuesta
Leos

#128 Si es el tema de movilidad, que ayer me puse a trastear y me vino la duda, porque quizás sea más guay que no sea tan como el juego en el que me baso XD

Pero si, se me va a acabar alargando mucho xdddd

B

El modo simple "pulsación por carril", va perfect para móviles.

1
Leos

Estoy toqueteando el movimiento, la verdad es que le dedico muy poco tiempo aunque espero que esto a partir de dos semanas cambie un poco y poder dedicarle más amor al proyecto.

No esta ajustado ni a la pantalla ni a nada, solo es para ver como queda el movimiento por carriles, sería algo así, pero he visto que si por ejemplo pulso dos veces derecha o dos veces izquierda seguidas un poco rápido, el coche no se mueve una de las veces, a que se puede deber??

El movimiento lo tengo metido en el fixedupdate

1 respuesta
B

#131 pon el input en el update

1 respuesta
Leos

#132 Pero tengo entendido que es mejor en el fixedupdate no? Porque si no dependes de la maquina que lo tire no? O me equivoco?

1 respuesta
txandy

#133 el input en el update, el cambio de fisicas en el fixupdate

A no ser que @d-bug diga lo contrario, yo lo tenia entendido así.

2
B

Depende, también puede ser buena idea ponerlo en el fixeduptade... pero hay que usar código para garantizar pulsaciones únicas.

1 respuesta
Leos

#135 Entonces que recomiendas? Lo que dice @txandy o que me meta a investigar como asegurar pulsaciones únicas? Piensa que al fina el juego irá con controles tactiles

1 respuesta
B

#136 a ver... que recuerde, los inputs digitales tipo tecla y similares, el engine los actualiza por frame, son frame dependientes los pongas donde los pongas.

Los inputs analógicos, GetAxis o similares, no son frame dependientes y podría ser buena idea usarlos en el fixedupdate.

Ahora los táctiles, Input.GetTouch y demás no sabría decir, no recuerdo.

Por otro lado, Unity recomienda usar Update.

De todos modos... tu lo que quieres es 1 movimiento por pulsación, yo lo pondría en el update. Y para eliminar dobles pulsaciones algo así...

spoiler
1 1 respuesta
Leos

#137 Pues lo implementaré así entonces! Muchas gracias @d-bug y @txandy <3

1 1 respuesta
B

#138 por poder se puede poner en ambas, pero para hacerlo en fixedupdate tienes que tener muy claro lo que hace el engine "bajo el capó".

No te compliques, inputs en el update y cambios de física en el fixedupdate para evitar frame dependencia en la física.

1
Leos

Hoy he estado trasteando con la generación en runtime de la carretera, no me acaba de convencer que me cree un nuevo trozo cada frame, n ose si sobrecargara demasiado, aunque bueno ahora toca que al dejar atrás esa carretera ir eliminandolas!

Estoy muy poco a poco con este proyecto, mañana empiezo nuevo curro y estaba descansando de programación y realmente lo único que he ido tocando ha sido esto, a partir de la semana que viene espero poder meterle más caña!

txandy

haz un trigger para generar x cuando coche pase por allí, dependa cual se mueva y otro trigger para eliminar las carreteras que ya no vas a utilizar

1 1 respuesta
Leos

#141 Entiendo que puede ser como cuando este aquí creame 3 carreteras por ejemplo e ir repitiendo eso en x puntos no?

1 respuesta
B

Puedes crear un pool de tramos e ir cargando en pantalla y a la vez, desactivando los que no estén visibles en la escena. De esta manera reduces la carga del juego y además mejoras la eficiencia ya que no instancias y borras los objetos sino que los tienes ya precargados y sólo necesitas activarlos y colocarlos en su sitio.

Ya si tienes tramos con curvas o con separaciones para que el jugador se vea forzado a no solo ir en línea recta, pues ya metes un randomize para hacerlo aleatorio.

1 respuesta
txandy

#142 Yo tenia como 3 triggers, uno cuando el coche pasaba se generaba otro pedazo de carretera, otro que cuando e coche pasaba hacia spawn de un enemigo y otro, que cuando pasa por allí la carretera esta se borra, es para aquellas que ya no se van a usar.

Como dice #143 puedes montar un sistema que las vas poniendo una una lista y las vas sacando de allí y colocando, en vez de borrarlas solo las mueves a la posición siguiente,

B

Si vas a hacer un "infinity runner" debes tener en cuenta que a partir de 1km del origen (1 unidad = 1 metro) padecerás de imprecisión flotante... llegados a 10km empieza a ser un problema grave.

Para este tipo de juegos sería interesante dejar al player fijo en el origen (0,0,0), usar kinematic en las físicas y mover el resto del mapa.

Un ejemplo de lo que pasa al alejarte del origen en distancias kilométricas...

PD: partir de 1km (1000 unidades) empieza a vibrar, por encima de 5km es un problema.

1 respuesta
Leos

#145 la cosa es que mi idea era hacer eso que dices, que el player solo se moviera izquierda derecha y fuera lo demás lo que se mueve, pero la verdad no tenía muy claro cómo hacerlo

1 2 respuestas
B

#146 para mover libremente el player con una física "no kinematic" y además sin límites de espacio, una opción es usar un mundo curvo (una esfera).

Ideas...

AikonCWD

Puedes usar también portales como portal y crear un bucle en la carretera. Así tendrías un infinite runner.

1 respuesta
kesada7

#146 Mírate este vídeo que es lo que buscas minuto 20:

Y si estás empezando con unity quizás mirarte rápidamente el tutorial completo a x2 de velocidad no es mala idea

1
B

#148 dices "teleportando" al player de un portal a otro? eso obligaría a usar kinematic.

No es buena idea cambiar de posición manualmente objetos que están controlados por el engine de físicas.

Sería interesante saber que tipo de física necesita/utilizará @leos

1 respuesta