/gamedev/ Taberna de borrachos, ahora con menos usuarios aun


EVENTO ACTIVO:

https://www.mediavida.com/foro/gamedev/mv-retos-gamedev-gancho-711429

Grupo de Mediavida

https://www.mediavida.com/g/gamedev

Futuro de Gamedev

https://www.mediavida.com/foro/gamedev/mv-gamedev-donde-estamos-donde-vamos-711799
Runig666

Tengo...varios problemas, aparte de los mentales, y estoy lo suficientemente desesperado para preguntarlo por aquí.

Tengo dos objectos ahora mismo, o más bien dos tipos. Niveles, y divisores

Empiezas siempre en un nivel, al llegar al final de dicho nivel hay un divisor que te permite ir izquierda o derecha, cuando "seleccionas", se elimina el nivel, y se carga uno nuevo al final del camino escogido.

Una vez llegas al nivel, el divisor se mueve de nuevo al punto final del nivel, y así, infinitamente.

Los niveles se componen de X spline containers de Unity, y estos a su vez se componen de X splines...luego explicó porque son distintos containers. Y el spliter tiene dos splines container

Ahora mismo ya tengo otro objecto que hace de tráfico. Dicho objecto lleva un rigidbody, que solo es útil en el caso de colision pero es lo que hay, que es capaz de moverse entre splines aunque estas estén separadas de manera "más o menos inteligente", no necesito que sea super fluido ni realista, solo que hagan bulto.

Vale, hasta aquí genial...pero tengo 3 problemas. Y el primero es el grave

La gestion de este tráfico es...compleja. Porque la idea básica es "cuando creas el nivel, añade tráfico por todo él nivel, elimina todo aquel que no esté en el divisor" lo cual provoca un bajón de FPS impresionante...y aunque al original también le pasa, pues no me apetece tener el rendimiento de un juego de hace 18 años.

Entonces tengo varios planes:

  • Meter la eliminación de coches en su corrutina aparte y borrar los coches cada X tiempo, con el peligro de que algún coche aparezca de la nada porque ha llegado al nuevo nivel saltándose todas las paredes
  • Como eliminó el nivel entero, controlar desde el propio objecto tráfico cuando le desparece la spline. Permitiendo al "generador de tráfico" estar solo atento cuando haya que crear nuevos
  • Si lo que le cuesta es el crear borrar objectos, la solución es fácil. Creo todo el tráfico al principio. Añado un código para saber cuanto de avanzado esta el jugador y le voy añadiendo coches hasta un máximo. Cada segundo comprueba si hay sitio y pones un nuevo hasta que no queden más coches disponibles, de esa manera nunca se crean o se eliminan, simplemente están en la pista, o están en el limbo.

Eso es mi problema mayor, mi otro problema es que tengo que usar varios spline containers...para indicar el número de carriles. Ya que aunque en teoría las Spline tienen "data" no hay forma humana de sacarlo de manera correcta, así que la única idea que tengo es crear dos spline containers con su script de mierda que lleve el número de carriles disponibles

2 respuestas
kidandcat

#9331 En godot esta tirao, unity caca. Dicho esto, una básica de optimización es reutilizar cosas, así que la mejor idea, y lo que se hace en todas partes, es el punto 3, haz invisibles los coches (si hace falta), y los reposicionas.

1 1 respuesta
Runig666

#9332 Bueno...claro puedo desactivar el objecto entero en vez de moverlo a la nada. Si lo de hacerlo invisible no lo había pensado por el rigidbody

1
totespare

#9331 tú mismo te has contestado, necesitas hacer pooling, en resumen xD

1 1 respuesta
Runig666

#9334 Claro, si la idea "buena" era esa. Pero me parecía tan sumamente bestia, que ha sido "Mira, voy a preguntar a ver si la idea es buena...o se me ha ido la puta olla hace 5 semanas y esto no optimiza ni mierda"

1 respuesta
totespare

#9335 sí sí, es una práctica común, crear y eliminar suelen ser tareas costosas para los engines, así que dale

1
AikonCWD

Como van vuestros proyectos abandonados de verano?

2 respuestas
Jastro

ojala tener proyectos

1 respuesta
carra

#9338 Sí porque verano tenemos de sobra.
Qué calor :sweat_smile:

1
Runig666

#9337

Así estaba hace 3 semanas. Hay que reducir un poquito la fuerza de giro inicial, y aumentar el margen para el humo y las marcas.

No juzgueis mucho la UI, hice lo que pude.

Pero las físicas me gustan, y por una vez el estilo gráfico lo puedo hacer en "más sitios". Por mis huevos esta semana que viene hago el tráfico y un nivel.

1 2 respuestas
Jastro

#9340 estas haciendo el uber suicide?

Fuera coña, tiene buena pinta, a ver cuando avance

1 respuesta
Runig666

#9341 Gracias...empezo todo como un remake de Speed Demons, si los coches eran una bola y ya. Simplemente quería quitarme la espinilla de volver a Unity y hacer algo "pequeño"

Pero empecé a hacer un "sistema de suspensión" para que fuera más todo terreno...total que pollas aquí y allí encontré esa combinación de físicas muy "Most Wanted" y dije "A la mierda, vamos a full"...y aún así 3 meses tocando parámetros hasta que di al 100% con la tecla.

La idea es sistema Outrun, que cargue los niveles por Prefabs de Unity, así luego si yo, o si surge el milagro la gente, puede añadir tramos con un modelo 3D, un split y un script.

De ahí mi pregunta del otro día. Porque tiene que ser un sistema ridículamente fácil, pero el tráfico tiene que funcionar "ma o menos" bien.

No quiero crear el nivel por spline para permitir atajos y esas cosas. Pero tiene que haber una para que el tráfico sepa dónde ir.

Luego ya el plan es añadir el resto de Ford Fiestas, aunque pasarán a ser Tord Ralli y listo.

Este por mis Santos huevos lo termino. No se cuando, no se como terminará, no se que opciones conseguiré, pero mis cojones saco los 15 niveles con su tráfico

PD: No recuerdo el plugin para el sonido del motor, pero pague poco. No se cuanto fue, pero poco igualmente

1 respuesta
Jastro

#9342 Pues a a darle caña y cuando tengas algo jugable, ya sabes, a pasarlo por aqui para romperlo

javifugitivo

#9337 Pues lamentablemente no lo he abandonado, pero tampoco he tenido nada importante que enseñar en el Diario Dev.

Como noticia, que tengo que enviar una demo para la prensa con fecha máxima el 29 de agosto para la Indie Dev Day, por lo que estoy apretando el culo para tener una Vertical Slice lo más pulida posible. Si llego (más me vale), tendremos demo en Steam en septiembre, como estaba previsto.

Estas últimas semanas he estado puliendo cosas que directamente no funcionaban al aumentar de nivel los personajes y añadiendo funcionalidades para el modo dos jugadores: Por resumir sin ser pesado:

  • Puedes elegir ya si quieres botones de Xbox o Steam Deck (por el tema gatillos que se llaman distinto sobre todo).
  • Añadidas ayudas con los controles para determinados botones (rotar runas, descartar runas).
  • Cuando encuentras un objeto en un cofre al ser autoequipables, pues puedes decidir no cogerlo y dejárselo a tu compañero.
  • Tengo ya diseñado el jefe final de la demo y estoy animándolo con Spine.
  • Estoy montando un mininivel de tutorial intermedio para explicar mecánicas del resto de elementos básicos.
  • Os paso un ejemplo con elemento Tierra, que se podrá usar para romper paredes y abrir caminos, encontrar habitaciones secretas, etc.

Image from Gyazo

2 1 respuesta
Jastro

#9344 va tomando forma, mucho animo!

1
d--b

.

javifugitivo

¡Hola! He participado en el podcast de "Yayo y Gafapasta" dando mi humilde opinión de la industria indie y hablando de mi juego para quien le pueda interesar: https://www.ivoox.com/s02e05-muchos-juegos-gato-negro-la-audios-mp3_rf_132714185_1.html

7 2 respuestas
Jastro

#9347 mola! luego le echare un ojo o una escuchada mejor xD

Que sueño, llevo despierto desde las 5, el crio hoy estaba revoltoso

1
carra

#9347 Enhorabuena :smiley:

Yo he estado escuchando el principio pero lo he terminado cerrando, se me ha hecho demasiado lento el arranque. Igual soy yo que tengo poca paciencia. Estamos ya muy acostumbrados a la inmediatez de todo...

Jastro

buenos dias

1 respuesta
kidandcat

#9350 buenos días

Yerboth

Para los que estéis en el punto de promocionar un juego comercial, ayer me enteré que existe esto: https://social-rise.com/subreddit-analysis

Un tipo en reddit contando como había conseguido whistlist para su juego comentaba que le había servido más promocionarlo en subreditts mas nicho donde estuviera el público objetivo para su jueg. Alguien en los comentarios puso ese enlace. Si le metes un subreddit te dice a qué horas suele tener más tráfico.

Así que probé aplicando los dos consejos a ver qué tal iba, resultado:



4 1 respuesta
totespare

#9352 grande, te como la poll@

1 1 respuesta
Yerboth

#9353 tampoco hace falta, me conformo con mi nombre en los créditos y un 5%

1 1 respuesta
Ridote

#9354 yo te doy el 100% de mis proyectos si quieres vaya, el 100% de 0 es 0

Runig666

No se porque me da que me he complicado el trabajo que flipas.

  • Creo la carretera en Blender, solo asfalto y unos bordes que luego seran invisibles...pero por no liarme a poner 500kgs de box colliders
  • Creo la Spline en Unity con las mismas posiciones en Unity, cambiando la Y y la Z...y por algún motivo todo a negativo
  • La Spline se parece entre 0 y una puta mierda
  • El trafico va como le sale del coño, porque claro...el collider es para el jugador, no para el trafico, al cual solo le afecta el collider en caso de accidente

...y aun me queda hacer el terreno, que claro, mi idea era Blender, hasta que he caído que Unity seguramente este más optimizando que una mesh de Blender

Todo se resume en quiero pegarme un tiro porque no se diseñar niveles...

EDIT: A la mierda, todo en Blender, el terreno luego lo renderizo en modo heighmap y para Unity. La Spline del trafico me la trae floja y la creo a mano en Unity. Es la forma más limpia que veo.

La solución buena sería poder darle el modelo de la carretera a Unity y que sacase la Spline...pero eso es buena idea...hasta que los niveles dejen de ser "solo carreteras", que va a ser más pronto que tarde.

2 respuestas
starfucker

#9356 Comprueba que los tramos de la spline esten instanciados (o como lo llame unity) para ver que no te este comiendo los recursos eso, que parece una tonteria pero es de lo que mas se nota

1
d--b

#9356 Lo suyo sería localizar la info en un devlog (si lo que buscas es feedback y posibles ayudas)

1 respuesta
Runig666

#9358 En este caso buscaba cagarme en la puta de la que estaba liando XD

Ya ayer consegui "má o menos" enganchar la pista, con el tunel. Los modelos 3D quiero decir. Si ya consigo que el trafico vaya bien en bucle infinito, ya tendría la parte que más me preocupaba de todo el juego y ya sería aprender a hacer tramos divertidos.

Sawi

Qué guapo, tol mundo haciendo cosas. A ver si siguen saliendo gamedevs potentes de MV!

2 1 respuesta