Retos de Programación

Desarrollando el tema "Logros"
Jastro

#420 yo me lo pasé entero lo he notado muchomejor que en el reto 1. Pero sep, la lluvia no mola mucho. La nieve esta mejor :P

1
Czhincksx

#420 luego compilo para linux si quieres, no me había dado cuenta.

1 1 respuesta
B

#422 Estaría muy agradecido! He logrado correr tu juego en Linux... me ha molado lo que esconde la zona boscosa xD pero al saltar se queda petado el personaje... y no logro ejecutar con configuración más alta que "High"... nose si es cosa de que estoy ejecutando con wine o que... pero si puedes construir el proyecto para Linux igual estos problemas se solucionan. El efecto de lluvia perfecto... fina y creando salpicaduras en el suelo.... igual molaba darle más intensidad y hacerlo más tenebroso... tipo tormenta.... me mola el rollo "onírico" del juego.

#397 - No he podido ejecutar tu juego en Linux... si sabes como házmelo saber!
#407 - No he podido ejecutar tu juego en Linux... Probaré a compilarlo!

1 respuesta
Czhincksx

#423 Gracias :) Lo que esconde el bosque está en desarrollo, pero si el tema siguiente elegido es el que espero, lo mejoraré :)

En #409 Tienes el link a la compilación Linux. He incluído X86 y X64, por si acaso, por eso pesa el doble.

Sobre la calidad, aún no me he metido a mirar cómo está el quality settings, de momento siempre lo pruebo en ultra y pensaba crear las configuraciones más bajas dentro de un tiempo.

B

#397 En ventana no me pasa de 30 frames ni reduciendo la ventana. El caso es que el consumo de CPU anda sobre el 15% y la GPU no registra data.

En full screen va mejor. Al llegar a los laterales el mapa da un salto brusco, pasa de estar centrado a escorarse a un lateral.

Al parallax le pondría mayor diferencia de velocidad entre planos.

En general se me hace algo lento aunque puede ser que tenga algo que ver con el problema en modo ventana.

La animación contra la pared y nieve molan.

Tiene pinta de ser framedependiente... ¿usas delta timing en los movimientos?

PD: idem cuelgue al cerrar...


EDIT: #418 ¿es libre, se puede acceder a ese sprite en algún sitio?

1 1 respuesta
rafag

#425 Sí, parece que es libre. Aquí lo tienes; https://www.gameart2d.com/ninja-adventure---free-sprites.html.

1 1 respuesta
B

#426 gracias ! Por cierto ¿a las plataformas por ahora no se puede subir no? no encuentro el modo :eyes:

Te ha quedado muy pro, felicitaciones...

1 respuesta
rafag

#427 No, todavía no. Las he puesto para probar las colisiones con la lluvia.

1
B

#408 la win64 perfect. A la esfera le pondría alguna referencia (no necesariamente una textura) para que parezca que rueda en vez de deslizarse, aunque igual tu intención es que deslice pero creo que ganaría visualmente si se percibe que gira. Atmosféricos perfect...

No me lo esperaba, lo que puede dar de sí una esfera... se me ha quedado corto... con eso lo digo todo. Buenísimo.

#409 no he notado ningún problema... bajón de rendimiento con la niebla. La lluvia mola. ¿la tecla espacio para qué es?

1 2 respuestas
Czhincksx

#429 El espacio es para saltar :/ ¿no salta? El rendimiento con la niebla tengo que arreglarlo, aún no sé usar bien las partículas y tendría que optimizarlas.

1 1 respuesta
B

#430 claro, era eso, que sensación de agonía da el monopie sin poder usar el salto :sweat_smile: ... que mal rato...

No, no salta. Se estira sin llegar a elevarse y así se queda.

1 1 respuesta
Czhincksx

#431 ¡Qué mal! ¿Es la versión windows o linux?

La de linux no la he probado, pero pensé que iría igual...

1 respuesta
B

#432 Windows, voy con 10 64... te adjunto captura.

2 1 respuesta
Czhincksx

#433 muchas gracias. Qué cosa más rara... claro, como se queda estático en el aire no vuelve a tocar el suelo y no recupera la animación de idle.

1 1 respuesta
pirri1721

#434 vigila que la condición que tengas en el animator se esté dando (y por que no xD)

1 1 respuesta
Czhincksx

#435 son todo triggers, lo controlo por script. Tiene pinta de que el evento de animación que inicia el impulso no se está ejecutando. Lo raro es que a mí me va y en otros pcs que he probado también va. Tengo que investigarlo bien.

1 respuesta
pirri1721

#436

son todo triggers, lo controlo por script

Si, imagino, pero chequea bien que NO está sucediendo para llegar a esas líneas
(a lo mejor es un aporte de mierda, es lo q me daba en la nariz)

1 respuesta
Czhincksx

#437 el impulso llega tras un evento de la animación del salto, por lo que si hace la animación lo que está fallando es que por algún motivo no salta el evento. Quizás el blending no está bien puesto del todo y en algunas máquinas se ejecuta mal...

1 respuesta
B

#438 ¿se puede ver el proyecto?

1 respuesta
B

#429 Muchas!! respecto al deslizamiento... ¿te refieres cunado estás en blanco o cuando estas en negro? Estoy mirando de hacer un personaje.... pero soy muy malo diseñando xD se me ha ocurrido algo de este estilo...

1 respuesta
B

#440 en blanco no percibo sensación de rodar sino de deslizamiento.

En negro si gira... con que gire en blanco como cuando está en negro creo que mejoraría mucho.

El concepto del personaje tiene buena pinta :+1:

Czhincksx

#439 Como programé todo a lo bruto y está aún en prototipo sí, cuando le haga el refactor al código y tenga más mecánicas implementadas ya no lo subiré. Es que creo que si le doy caña puede salir algo interesante.

https://drive.google.com/open?id=16keoJAtkp8uhHmgaPp0ymsHkrYvXeIsA

PD: No esperes encontrar comentarios :( Pero si tienes alguna duda pregunta lo que sea.

1 1 respuesta
B

#442 no problem. Me interesa mucho este tipo de fallo que solo aparece en equipos específicos.

Gracias, mañana lo miro y comento :+1:

1
B

Me ha dado tiempo a mirarlo hace un rato... el fallo lo tienes en el Lerp del Jump(), revisa (realmente no entiendo por qué lo implementas así).

No salta porque la fuerza calculada es insuficiente.

Mañana lo vuelvo a mirar con más detalle...

PD: si necesitas saber el nombre del clip en curso usa animController.GetCurrentAnimatorClipInfo(0)[0].clip.name

1 respuesta
Czhincksx

#444 Gracias por mirarlo :+1:

Lo hice con un lerp porque lo que me interesaba era aplicar una fuerza inicial X al pulsar espacio, y al mantener el espacio pulsado seguir aplicando una fuerza cada vez menor hasta llegar a 0. Estuve probando efectos y me gustó cómo quedaba así. No entiendo por qué en tu máquina la fuerza es insuficiente... A no ser... ¿Tienes un pepino de PC? Quizás al multiplicarla por deltaTime y ser este tan bajo, nunca llegue a generar fuerza suficiente para elevarlo. Si es así cambiaré el AddForce por modificar directamente el vector Velocity. Gracias. Si es eso me has resuelto un buen problema :)

1 respuesta
B

#445 me di cuenta después. Como no había podido saltar antes no sabía que regulabas el salto con el control.

Es un i3 portatil...

Te dejo salida en consola para que compares con tu equipo, va con el resultado del Lerp:

0.9787223 - 0.9275138 < 0.3
calculatedJumpForce = 248.7915

1.013774 - 0.9275138 < 0.3
calculatedJumpForce = 213.7394
calculatedJumpForce = 139.3678

Si multiplico por 10 la fuerza o cambio la masa del Rigidbody a 1kg funciona perfecto.


EDIT: el final del paste del log corresponde con el momento en que se queda parado en el aire, vamos... que en esa salida no he manipulado fuerza ni rigid para que salte (y no llega a saltar).

1 respuesta
Czhincksx

#446 muchísimas gracias. Ojalá todos los reportes de bugs fueran así :joy:

Mañana me pongo a investigarlo a ver qué puede ser lo que haga que no salte en tu pc.

1 1 respuesta
B

#447 El problema es el modo de calcular "calculatedJumpForce"... hay que replantear Jump(). Tal como lo tienes, el número de impulsos y la fuerza del impulso inicial es framerate dependiente.

1 respuesta
Czhincksx

#448 es cierto... tengo que llevarme la detección de las fuerzas post salto al fixedupdate y cambiar el deltatime por fixedDeltatime

1 respuesta
B

#449 con FixedUpdate tampoco tienes garantía al 100%. Dependerá de la disponibilidad de CPU el que se garantice o no la sincronización... puede fallar ya sea por sobrecarga puntual o falta de potencia en general.

La física no va fina en condiciones de falta de sincronización... eso no tiene solución. Pero para un evento puntual como es un salto, creo que lo mejor es replantear o en caso de usar FixedUpdate, al menos garantizar un impulso inicial suficiente y que su magnitud no dependa del tiempo.

Lo he probado con FixedUpdate y funciona pero... si simulo sobrecargas también falla.