NECESITO OPTIMIZAR LAS COLISIONES DE MI JUEGO - Devlog 1

  Рет қаралды 1,095

HVNSART

HVNSART

Күн бұрын

Sé miembro del canal y recibe benefecios únicos:
/ @hvnsart
💀 COMMENDATORE, un Roguelike 1-Bit inspirado en CoD Zombies, ¡Gratis!: hvnsart.itch.i...
Devlog 0: • ASÍ COMENCÉ A DESARROL...
12 Tips to Boost Your Godot Game's - by Deep Dive Dev: Performance • 12 Tips to Boost Your ...
------------------------------------
¡Únete al Discord del Canal para que no te pierdas de nada!
● Discord: / discord
Canal de Tutoriales:
● HVNSART Learn: / @hvnsartlearn
------------------------------------
Mis Proyectos:
📺 Disruptive, un juego de terror inmersivo: store.steampow...
------------------------------------
Contacto:
● Sitio Web: hvnsart.games/
● Twitter: x.com/HvnsArt
● Instagram: / hvnsartgames
● TikTok: / hvnsartgames
● Facebook: www.facebook.c...

Пікірлер: 24
@leanja
@leanja 7 күн бұрын
Hola, buen video! Siguiendo la idea del comentario de xKeaTz69, podrías hacer que, a partir de cierto número de enemigos generados (por ejemplo 100), dejen de seguir al jugador y simplemente ronden por la escena hasta que "se haga espacio". Para darle un sentido dentro del juego, se podría interpretar como que los enemigos más lejanos no pueden alcanzarte o "verte", evitando que se acumulen innecesariamente; simplemente haces que deambulen sin rumbo. También podrías deshabilitar sus colisiones. Además, se podria añadir un efecto de bruma alrededor para ocultar a estos enemigos lejanos, similar a lo que se muestra en el minuto 1:41. Espero que te sirva la idea! Saludos!
@HVNSART
@HVNSART 5 күн бұрын
¡Muchas gracias por tu idea! Puede ser también una buena alternativa lo que dices de la bruma y el que algunos enemigos deambulen, lo tendré en mente.
@xKeaTz69
@xKeaTz69 8 күн бұрын
Muy buen video. Trata un tema muy muy interesante. Espero que lo soluciones pronto la verdad. Además, por si te sive de ayuda, tengo algunas ideas para la optimización. Por ejemplo el spatial partitioning que basicamente es como dividir el mapa en celdas, como un grid, y que solamente colisionen entre sí lo enemigos dentro de la misma celda. Además creo que se podría utilizar eso también para se elija un "lider" dentro de esa celda y que todos los enemigo en esa celda sigan la misma ruta que el lider hacia el jugador. Otra idea que tengo es que se detecte cuando hay muchos enemigos juntos y que todos esos se comporten como un solo objeto con una sola colisión. Espero que te sea de ayuda :D
@HVNSART
@HVNSART 5 күн бұрын
De verdad muchas gracias por tu comentario, me es de gran ayuda. Ahora mismo justamente estoy estudiando sobre el Spatial Partitioning para poder implementarlo en el juego y ver que tal queda. Tendré en cuenta también lo que me dices de asignar un "líder" de celda, me ayudará a optimizar aún más los cálculos de navegación. Nuevamente, ¡Mil gracias!
@xKeaTz69
@xKeaTz69 4 күн бұрын
@@HVNSART De nada :D
@ZoeDeLarge
@ZoeDeLarge 7 күн бұрын
Bro revisa para usar un ecs, entity component system, segun yo godot tiene uno muy bueno y justo esta echo para manejar estos problemas, ademas asegurate que los enemigos no actualizen su ruta cada frame que eso es super costoso, mas bien que la actualizen cada 2/3 frames y no todos en el mismo frame que si pasa eso ese frame va a ver un tiron
@HVNSART
@HVNSART 5 күн бұрын
Lo de la ruta ya lo tengo solucionado en su mayoría, el problema grande son las colisiones, aunque ya estoy trabajando en ello para arreglarlo. Igualmente revisaré lo que dices de los ecs, ¡Muchas gracias!
@JSFGAMES17
@JSFGAMES17 6 күн бұрын
Suerteee
@benjaminmaldonado9373
@benjaminmaldonado9373 7 күн бұрын
Tu problema se debe a que en cada frame, el juego procesa a cada enemigo uno por uno. Debes encontrar la forma de reducir esa carga de trabajo. Los videojuegos que son de este tipo, muchas veces son creados en motores graficos creados por el propio desarrollador por lo que tengo entendido. Esto es debido a que se usa otra forma de procesar en esos motores, en vez de procesar por cada frame a todos los enemigos uno a uno, se procesan en conjunto. Puedes buscar en youtube sobre este concepto, pero mi idea es que crees un nodo manager que controle en conjunto a todos tus enemigos o una parte de estos y no usar el process de cada enemigo. Es solo una idea, no se si funcionaria.
@HVNSART
@HVNSART 5 күн бұрын
¡Muchas gracias por tu idea! De hecho la solución en la que estoy trabajando ahora sigue una filosofía similar. En cuanto haya arreglado todo este problema les traeré toda la información en un nuevo devlog
@Oblivion075
@Oblivion075 5 күн бұрын
Creo que sería el paradigma ECS
@JuanSebastiánFlorencianiGonzal
@JuanSebastiánFlorencianiGonzal 7 күн бұрын
Si logras solucionar el problema sería muy interesante y de mucha ayuda un tutorial, ya que como bien sabes es difícil encontrar contenido de temas tan específicos como este para godot, y más en español
@HVNSART
@HVNSART 5 күн бұрын
Definitivamente les traeré algún video tipo tutoría del tema en cuanto lo solucione. Como dices, hay muy poca información en Godot, específicamente en GDScript, sobre este tipo de problemas.
@lacuevadelinsecto
@lacuevadelinsecto 6 күн бұрын
Uno de los problemas que veo es tener innecesariamente tantos nodos instanciados. En la documentación de Godot recomiendan usar objetos en lugar de nodos. Transforma tus nodos de state machine a objetos, y si puedes usa C++ o C# para maximizar el rendimiento.
@HVNSART
@HVNSART 5 күн бұрын
No había visto sobre esta solución de los objetos, veré más información de lo que mencionas, te agradezco mucho tu comentario.
@JoseJoya152
@JoseJoya152 4 күн бұрын
El sistema de Fisicas de godot es malo para manejar multitudes, te recomiendo usar el de Jolt, maneja un poco mejor las cosas, otro bueno es Rapier Physics, con este segundo resolves todo, pero el problema es integrarlo bien con godot, si lo logras lo tenes resuelto
@FacundodavidBarboza
@FacundodavidBarboza 7 күн бұрын
puedes hacer un modo multijugador
@martinjesuschipoco6377
@martinjesuschipoco6377 7 күн бұрын
Hola Hans, como dices tienes dos alternaticas, solución real y solución parche jaja, te recomendaría verificar si el problema persiste con el jugador en el mundo o no. En caso de que sea así es probable que al tener al jugador en modo "tick listener" con cada colisión chequee si es con él, ahí para solucionarlo deberías crear un tipo de event distpatcher para ese evento en vez de que el jugador esté chequeando constantemente con qué colisiona. En el caso de que sea con el jugador o no te recomiendo cambiar el rigid body por charabody2D o areas2D en paralelo podrias usar collision layers pero por lo poco que cacho, la solución óptima es con quads tree, busca quadtree 2D collision y te deberían salir varios foros :) Saludos, espero puedas arreglarlo y que te sirva la info
@HVNSART
@HVNSART 5 күн бұрын
Hola! Sí jaja, mi plan es llegar a la solución real. Es un buen punto el que mencionas, probaré qué tal va sin el jugador. También he visto algo de quadtree, aunque antes estoy probando con el Spatial Partitioning. Muchas gracias por toda la info, saludos!
@abrahangil3291
@abrahangil3291 7 күн бұрын
Entity pooling + chunkea el calculo de las físicas y no hagas el calculo frame per frame :p
@HVNSART
@HVNSART 5 күн бұрын
Lamentablemente en GDScript el entity pooling no sirve de mucho, pero ajustar el cálculo de físicas sí, por lo que justamente ahora me encuentro trabajando en ello.
@Drian_GD
@Drian_GD 6 күн бұрын
Porque no le comentas q te ayude y así la próxima vez lo sabrás hacer solo, nosotros ayudamos a q el lo vea(almenos yo y mis multis)
@HVNSART
@HVNSART 5 күн бұрын
Comentarle a quién?
¿Cómo Comenzar a Crear Videojuegos Solo?
13:21
HVNSART
Рет қаралды 7 М.
20 PLOT TWIST DE SERIES ANIMADAS QUE TE VOLARON LA CABEZA 🤯
19:44
Expedientes Web
Рет қаралды 149 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
100 DEVS Make a GAME without COMMUNICATING! (1-25)
17:14
Blackthornprod
Рет қаралды 2,2 МЛН
Me envían un juego en un USB de 1 METRO (DEMASIADO LARGO)
24:03
Alva Majo
Рет қаралды 1,5 МЛН
¿Podré Pasar Minecraft en MODO AVENTURA?
16:37
Bobicraft
Рет қаралды 4 МЛН
3 Hours vs. 3 Years of Blender
17:44
Isto Inc.
Рет қаралды 7 МЛН
Estos juegos sólo pesan 1KB
12:03
Guinxu
Рет қаралды 583 М.
Mis MAYORES ERRORES CREANDO mi PRIMER JUEGO SOLO
11:28
HVNSART
Рет қаралды 6 М.
Cómo usar Godot y Aprender desde CERO a hacer juegos
1:11:59
findemor
Рет қаралды 189 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН