[WebGL][PC] carreras y multiplayer...

B

#90 test Euro NCAP :sweat_smile:

Desarrollando la deformación de malla para el upgrade de colisiones...

1 1 respuesta
pirri1721

#91 Que canteo no? xD
Eso lo haces procedural? O como va?

Esto huele mejor a pasos agigantados cada día

1 respuesta
B

#92 es la primera prueba.

En este test uso el vector de contacto para desplazar los vértices de la malla con mesh.vertices, la intención es desarrollarlo y una vez esté listo optimizarlo vía shader.

El vector de contacto lo vuelvo inversamente proporcional a la distancia, le agrego algo de "ruido" aleatorio para que no sea demasiado simétrico y creo pérdidas aleatorias muy localizadas de intensidad para simular micro zonas duras.

Lo cierto es que se me están juntando muchas cosas y no termino de avanzar nada concreto.

Ahora mismo también tengo en desarrollo comunicaciones UDP desde nodejs a el cliente PC.

También he trasteado con comunicaciones UDP desde el navegador para el cliente WebGL, pero lo voy a descartar porque necesita extensiones.

2 meses después
B
B

Tras unos meses parado el proyecto... la build usada en el vídeo se puede probar AQUI

1
1 mes después
B

Cambio de planes... a partir de ahora el desarrollo será exclusivo para plataforma Android.

Cuando estén desarrollados los controles básicos es probable que abra un nuevo hilo sobre el desarrollo y para feedback.

Doy por finalizada mi experiencia (y el hilo) con Webgl, la aplicación seguirá estando disponible en gZone.pro

Saludos

2 1 respuesta
kesada7

#96 Veo algunos cambios desde la última vez, entre ellos ya no puedes jugar los otros mapas sin desbloquearlos. He intentado jugar una partida y me ha vuelto a pasar lo de que se me va el coche muchisíma en la salida, una vez ya tienes velocidad bien pero la salida hay que pillarle el truco.

Por curiosidad que te ha hecho cambiar de idea y continuar el desarrollo para otra plataforma?

1 1 respuesta
B

#97 Hay un Bug en la física, es un problema de frame dependencia por alojar una variable en update (un reajuste forzado para cuando se va a muy baja velocidad y simular derrape)... depende del equipo el que sea inapreciable o no. No se usan los Wheel Colliders, va todo en c# con formulación Pacejka. Lo solucionaré en el desarrollo para Android.

El cambio de plataforma, puntos determinantes:

  • Alcance/cantidad de dispositivos Android por un lado e inicio de experiencia como desarrollador en la Play Store por otro.
  • WebGL no está completamente implementado en dispositivos móviles "menos modernos", esto limita mucho el alcance de usuarios.
  • La temática "semi simulación" de carreras NO es algo con alta demanda entre los juegos de navegador.
  • Implementar multiplayer vía UDP (es posible hacerlo en WebGL pero necesita que el usuario instale extensiones en el navegador)
  • Hace mucho que tengo pendiente experimentar/desarrollar métodos de entrada/control que permitan jugabilidad y precisión en dispositivos móviles.
  • ...
    ------------------
    Inicialmente Android... pero trataré de abarcar todo lo que sea plataforma móvil.

EDIT: gracias por probar y el feedback :+1:

1 respuesta
kesada7

#98 Ves complicado llevar un desarrollo paralelo para WebGL y Android al mismo tiempo? O que cuando termines el desarrollo en Android crees que habría que dedicar mucho tiempo en ajustar cosas al proyecto para poder exportar una build en WebGL a parte de los controles? Realmente no sé que cosas se tendría que adaptar ... si es en cuanto a texturas etc pero el rendimiento ahora mismo es mucho mejor en dispositivos Android (aunque hay mil dispositivos diferentes, hablo teniendo en cuenta la media) que en WebGL cierto? Supongo que los más tocho es lo que me comentas del servidor que via WebGL es más coñazo usar el protocolo UDP, entonces vas a rehacer cosas en el multiplayer para Android? Gracias por la respuesta tan completa muy interesante todo el proyecto!

1
B

Tal como tengo planteado el proyecto es viable un desarrollo paralelo, era parte del plan inicial. El coste sería duplicidad de algunas texturas y algún shader.

Es posible obtener mejor optimización planteando el proyecto en función de una plataforma única en vez de portar a varias.

Portar de WebGL (navegador PC) a Android depende de las restricciones de las GPUs Android. A la inversa, portar de Android a WebGL (si está optimizado el código a nivel de CPU) no debería ser problemático.

Desarrollo paralelo supondría doble coste de tiempo a la hora de solucionar BUGs...

Cada navegador tiene sus propias particularidades... además, las actualizaciones de los navegadores suelen dar sorpresas inesperadas en Unity a modo de BUGs.

WebGL vs Android (referente a CPU), con HTML5 Web Workers, en un navegador PC obtienes un rendimiento muy elevado, el problema es que a Unity le queda mucho que desarrollar en lo referente a Workers...

El servidor UDP obliga al usuario a instalar extensiones en el navegador... y esto es realmente un problema.

En realidad voy a rehacer todo el juego, incluido el servidor, solo reutilizaré la física (con nuevos ajustes, setups) y bases de datos.

Gracias por el interés...

Saludos

1
1 mes después
B

Último update (afecta a la portada webGL y la física del OVAL)... doy por finalizado el hilo.

Probar AQUI

Saludos... a más ver.