¿Por qué este Algoritmo está en tantos Videojuegos? - A* Explicado

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 256

  • @llamaelitista
    @llamaelitista  2 месяца назад +67

    Por cierto, me olvide mencionar dos cosas:
    -Cuando se halla los costos (como en 5:40 o 6:32), como son distancias pues se ignora la existencia de obstáculos.
    -Si alguien se este preguntando en 6:32, porque simplemente no usar un pitagoras y ya (Osea dibujar una línea recta desde el nodo hasta el final y hallar esa distancia). Eso es porque hay varias formas de hallar la distancia, usar el pitagoras se llama distancia Euclidiana, la que use yo es una versión adaptada de la distancia Manhattan para mapas que permitan movimientos diagonales (Aunque puse en la notita al terminar la explicación que es una distancia Manhattan, en realidad en su forma mas pura esta NO se puede usar para mapas que permitan movimientos diagonales solo para mapas que permitan movimiento arriba abajo izquierda derecha), del material que me guíe a esa distancia la llaman "Distancia Diagonal". Sobre distancias y Heurísticas pueden guiarse más revisando este Link:
    theory.stanford.edu/~amitp/GameProgramming/Heuristics.html#diagonal-distance

    • @siremaximuz
      @siremaximuz 2 месяца назад +2

      excelente trabajo.

    • @MinombreesSergio
      @MinombreesSergio 2 месяца назад

      ¿Sabes qué algoritmo se usan para juegos donde no se usan casillas?, o simplemente se hacen muchas casillas pequeñas?

    • @llamaelitista
      @llamaelitista  2 месяца назад

      @@MinombreesSergio Mmm, mientras sean casillas, aunque sean pequeñas se puede usar A*. En juegos donde no se usen, mmm dependeria que juego, en los juegos 3d si usan un enfoque distinto por ejemplo, ahi usan "navmesh".

    • @MinombreesSergio
      @MinombreesSergio 2 месяца назад

      @@llamaelitista mmm interesante, y es muy enredado ese o aguanta segunda parte con navmesh? :v
      Me sirve porque quiero hacer un juego en 3D, con movimiento por click.

  • @DraquioOficial
    @DraquioOficial 2 месяца назад +119

    Es increìble que aprendí todo esto en la universidad y ahora viendo tu video me hiciste recordar y volver a entender todo pero de una manera más interesante

    • @InakiArzalluz
      @InakiArzalluz 2 месяца назад +1

      Tal cuál, yo me acuerdo de haberlo programado en C++ para encontrar un camino en el juego Mummy Maze. En ese caso no era necesariamente el más corto, ya que estábamos haciendo heurísticas que también tenían en cuenta la distancia a los enemigos y sus tipos de movimiento, pero fué muy interesante volver a ver la teoría

  • @anton.can.93
    @anton.can.93 2 месяца назад +212

    Que el algoritmo igual te bendiga tu video 🙏🙏🙏

  • @Code_DarkWolf
    @Code_DarkWolf 2 месяца назад +36

    Básicamente cda vez que avanza un nodo guarda la información de "donde proviene" y cuando llega a la meta le pregunta a cada nodo "hey, ¿De donde vienes?".
    Me pareció buena la explicación

  • @lorenzobuero7115
    @lorenzobuero7115 2 месяца назад +7

    Este video es de mis favoritos en lo que a programación respecta, me recuerda mucho a uno que ví sobre animaciones procedurales, en el que en vez de mostrar el código y ya está, el autor explica como funcionan las cosas.
    Me encantan este tipo de videos porque te dejan tener un entendimiento más profundo de un tema y en base a eso podés generar un código en cualquier lenguaje de programación. Y lo más importante, entendés que es lo que hace el código.
    Por cierto, es impresionante que hayas hecho ese código en python para mostrar esto, se agradece mucho.

  • @asudfgiasdf
    @asudfgiasdf 2 месяца назад +28

    Es un video increíble. La facilidad con que explicas el algoritmo. Este algoritmo lo ví por primera vez en la universidad en la materia de Inteligencia Artificial.

  • @davidmoran2252
    @davidmoran2252 2 месяца назад +14

    no se que me parece mejor, si el hecho de que expliques un algoritmo que me ha llamado la atencion desde hace bastante o que lo hayas explicado con pseudocodigo en un archivo rust. desde ya me suscribo

  • @biribiribanban6228
    @biribiribanban6228 2 месяца назад +6

    Me preguntaba esto cuando jugaba de pequeño, me alegra saber un poco mas ahora

  • @eliasmuga1609
    @eliasmuga1609 2 месяца назад +19

    Mis estudiantes estarán felices... Dios te bendiga... Ojala subas otros algoritmos qué se usan en video juegos... Que Dios te bendiga a ti y a tu familia... ❤❤❤

  • @MrNestorPaul
    @MrNestorPaul 24 дня назад

    No se como llegué a este video si no programo videojuegos, pero me pareció super interesante y muy bien desarrollado!! Muchas felicidades, gran contenido!

  • @alienPear
    @alienPear 2 месяца назад +10

    11:11 Cuando te das cuenta de que el algoritmo A* también se puede implementar para escapar de algo jajajajja Muchas gracias por compartir, haces que internet valga la pena

  • @the21stcenturyboy-wp5th
    @the21stcenturyboy-wp5th 2 месяца назад +2

    casualmente hace unos dias hice una visualizacion de este algoritmo en angular, tuve que usar una clase para representar la cuadricula como una matriz de adjacencia, e iba guardando los mejores candidatos al camino mas corto con una cola de prioridad, cuando piensas que no usaras esas estructuras de datos y luego te encuentras en esa situación jajaja, te has ganado un suscriptor amigo.

  • @rafaelazurin9041
    @rafaelazurin9041 2 месяца назад +5

    Bro, estuve viendo tu vídeo por curiosidad, pero el ver que creaste un programa de manera libre me sorprendió. Increíble vídeo

  • @yordanwilson3266
    @yordanwilson3266 2 месяца назад +6

    😮 Justo estoy interesado en el Warcraft y lansas video de Warcraft que coincidencia

  • @marliote
    @marliote 2 месяца назад +4

    Hace poco termine un proyecto para rules con nodos, y justo implemente graphos, que genial repaso

  • @manuelvargasgarcia-donas3769
    @manuelvargasgarcia-donas3769 2 месяца назад +1

    No diseño videojuegos ni de lejos, pero soy ingeniero y me ha parecido muy interesante y entretenido. Felicidades por este pedazo de video, muy bien explicado

  • @Din_21
    @Din_21 Месяц назад

    Ha sido muy interesante!!
    Justo estoy empezado en algoritmia y este video me ha ayudado a entender este algoritmo mucho mejor. Gracias! ❤

  • @gr_x24510
    @gr_x24510 2 месяца назад +1

    Solo he visto este video de tu canal, pero con esta calidad de explicación de algoritmos, me subscribí sin dudarlo.
    ¡En horabuena por semejante calidad!
    Espero sigas así.

  • @Rosielx
    @Rosielx 2 месяца назад +1

    Excelente video y explicacion de este algoritmo, es impresionante la forma en la que se omiten caminos costosos frente a rutas eficientes, aunque tambien esta el tema de que A* puede considerarse un algoritmo casi recursivo (evaluar un nodo mas de una vez), y que en casos MUY especificos sea menos eficiente que BFS u otros de crecimiento de area, por lo que en modelos mas complejos se suele implementar filtros que buscan patrones de forma o tamaño que seleccionan el algoritmo mas eficiente a utilizar antes de ejecutar la optimization. Tienes un nuevo sub :)

  • @Harotyx
    @Harotyx 2 месяца назад +2

    Me encanta tu contenido sobre algoritmos aplicados a videojuegos ayuda a dar una perspectiva histórica sobre cómo hemos llegado a los videojuegos de hoy. Me pregunto de dónde viene tu formación o qué te llevó a investigar sobre estas cosas.

    • @llamaelitista
      @llamaelitista  2 месяца назад

      Soy ingeniero, pero me puse a investigar estas cosas por mi cuenta, por mi gusto por la programación y videojuegos.

  • @jaimewol1238
    @jaimewol1238 2 месяца назад +1

    ¡Excelente video! Me encantó que usaste Pygame para mostrar el funcionamiento del algoritmo

  • @eliasmuga1609
    @eliasmuga1609 2 месяца назад +2

    Gracias Dios te bendiga... Mi estudiantees estarán felices, con tu video... Ojala publiques otros videos de algoritmos de video juegos...

  • @AESMatias
    @AESMatias 2 месяца назад +1

    Explicas de maravilla, gracias! Ahora, sería interesante un vídeo sobre su implementación en diferentes formas de medir distancias en contextos variados.

  • @ELIIIN
    @ELIIIN 2 месяца назад +2

    Increíble video, espero que sigas haciendo videos así! Son muy buenos y logras enseñar matemáticas y las bases de programación utilizando los videojuegos como un medio.

  • @franqogamer709
    @franqogamer709 2 месяца назад +1

    Genial video y explicación. Debo decir que la IA es una gran ayuda, al momento de intentar recrear el algoritmo

  • @ValeVivaldi
    @ValeVivaldi 2 месяца назад +1

    Tremendo video, lo vi en la universidad, pero me habria encantado verlo asi graficamente

  • @nocopyrightmusic6247
    @nocopyrightmusic6247 2 месяца назад +2

    wow, increible. me gusta la explicacion de las matematicas yalgoritmos detras de los videojuegos. nuevo sub. ojala sigas asiendo videos asi

  • @christianalarcon8404
    @christianalarcon8404 2 месяца назад +1

    lo que vi en la carrera de ingeniería industrial con ejemplos aburridos ahora me colocan el ejemplo de videojuegos, gracias que buenos recuerdos viciar y entender lo que va atras del telon

  • @purofail2930
    @purofail2930 2 месяца назад

    Me parece muy interesante e intuitiva tu forma de explicar esos algoritmos.😊 Actualmente estoy estudiando una licenciatura en matemáticas y guardaré el codigo por si me sea necesario en un futuro 😅.

  • @gabrielalfaro7750
    @gabrielalfaro7750 2 месяца назад +1

    Que buen video amigo, espero que estes mas activo, el algoritmo esta beneficiandote

  • @justinmunguia1534
    @justinmunguia1534 2 месяца назад

    amigo, te amo demasiado. por favor que estos vídeos nunca terminen 😭🙏🏻

  • @juanjoseardilagarzon2977
    @juanjoseardilagarzon2977 2 месяца назад +1

    Esta genial el video , muy buen trabajo promete el canal .

  • @CAT-uq8if
    @CAT-uq8if 2 месяца назад

    Wow amigo muchas gracias, en verdad me parece fascinante todo el tema matemático y ahora me doy cuenta que me gustaría investigar más el tema, gracias.

  • @lehisluguer9300
    @lehisluguer9300 Месяц назад +1

    Esto es incredible, Todo muy Bien explicado e interesante.. +suscribed

  • @alejandroarango8227
    @alejandroarango8227 2 месяца назад +1

    Me acabas de recordar de un bot que hice para un viejo juego llamado Dofus, buen video

  • @caleb9132
    @caleb9132 2 месяца назад +4

    Maquina, mostro, fiera , animal, mastodonte, sos el mejor, nuevo sub!

  • @enriquezk2012
    @enriquezk2012 2 месяца назад +2

    Buen video hermano, crecerás mucho más sigue así con el contenido! 🇵🇪

    • @HydeTy007
      @HydeTy007 2 месяца назад

      Causa es la bandera de Canadá?? :V

  • @josebarrantes8429
    @josebarrantes8429 2 месяца назад +1

    Muy interesante tu vídeo, me gusta como explicas ese algoritmo que está detrás de muchos juegos. Igual me gustaría saber cómo se aplicaría en entornos más complejos como por ejemplo caminos con curvas o en tres dimensiones

    • @llamaelitista
      @llamaelitista  2 месяца назад

      Los caminos con curvas pueden igualmente volverse una cuadrícula, simplemente tendrías que hacer nodos/casillas mas pequeños y ya, asi simulas una curva. Para modelos 3d, se puede usar A* , pero de forma un poquito mas compleja, a traves de lo que se conoce como "Navmesh", puedes buscar eso para mas info.

  • @manueljasso6182
    @manueljasso6182 2 месяца назад +1

    Esto si que me ha ayudado para el juego que estoy haciendo, muchas gracias!!!

  • @sabin97
    @sabin97 2 месяца назад +1

    buen video.
    tengo muchisima experiencia en computacion......pero nunca me habia puesto a analizar ese algoritmo de encotrar el camino mas corto.
    soy mas partidario de la recursion que de la iteracion.
    estoy aprendiendo love para hacer juegos, creo qeu voy a marcar este video, el juego que tengo en mente no usa realmente rutas, pero algunos de los que tengo pensados si, asi que esto me sera muy util.
    creo que lo hare con recursion.
    tenga su like.

  • @joposepeph
    @joposepeph 2 месяца назад

    Gran video, bro! Esta clase de contenido es muy interesante.

  • @diegosebastianastorgacarde6028
    @diegosebastianastorgacarde6028 2 месяца назад

    Increíble video amigo. Te ganaste un sub, un like, un follow en todo lado y un stalker a medio tiempo.

  • @GameMaster-lo3ss
    @GameMaster-lo3ss 2 месяца назад +1

    buen material! Lo voy a tener en cuenta en mis futuros proyectos

  • @santiamast
    @santiamast Месяц назад

    Excelente video y explicación, te ganaste un subscritor.

  • @sebastianXX77
    @sebastianXX77 2 месяца назад +1

    Exelente video amigo, muchas gracias por dedicarle tu tiempo.

  • @jandrooliva
    @jandrooliva 2 месяца назад +1

    Súper vídeo.
    Lo has explicado clarinete.
    Felicidades!

  • @milesedgeworth1279
    @milesedgeworth1279 2 месяца назад

    Yo pensando que este concepto que ví en inteligencia artificial solo iba a estar en una clase, gran vídeo!

  • @edgarsantiagoarizagarcia5506
    @edgarsantiagoarizagarcia5506 2 месяца назад +1

    Bro, este año estas subiendo obras maestras 💅💅💄

  • @FisiClay
    @FisiClay Месяц назад

    @llamaelitista hola acabo de ver el video, me gustó mucho como está explicado, me imagino que ya deben haber implementado una búsqueda de camino más corto que vaya del inicio al fin y del fin al inicio paralelamente que puedan compartir información cuando se lleguen a nodos intersectados por ambas búsquedas, eso debería reducir el tiempo a la mitad, pero no ví que se mencionara algo así en el video

  • @Thedrifton203
    @Thedrifton203 2 месяца назад

    Excelente video, a los que estamos aprendiendo programación nos da mucha ayuda.

  • @carlos.alonso.design
    @carlos.alonso.design 2 месяца назад

    Ni idea que hago aquí, pero me ha gustado bastante 🫶 gracias!

  • @hectorjc99
    @hectorjc99 2 месяца назад

    Entre por curioso y termine recordando Python, muchas gracias por el video

  • @R-David10
    @R-David10 2 месяца назад +2

    El contenido que merezco

  • @MostVicious3d
    @MostVicious3d 2 месяца назад +1

    Genial recomendación por parte de RUclips. Gracias por el contenido. Por cierto, ¿como se llama el soundtrack inicial del video? Saludos.

    • @llamaelitista
      @llamaelitista  2 месяца назад

      @@MostVicious3d Buscalo como ".hack//infection Desktop theme"

  • @miguelfuenmayor252
    @miguelfuenmayor252 Месяц назад

    Que genial tu canal amigo, te admiro mucho.

  • @HeroeLegendario
    @HeroeLegendario 2 месяца назад +11

    En godot creo que estaba implementado y simplemente es ponerlo como miembro, como no sé pa que servía, me vi este video xd

  • @djthopson
    @djthopson Месяц назад

    Nuevo Sub, muy buen contenido y excelente explicación

  • @federiconieto8928
    @federiconieto8928 Месяц назад

    Muy buen video, se entendió perfecto y de forma que sea interesante

  • @jesusgracia4113
    @jesusgracia4113 2 месяца назад

    Recuerdo cuando estudiaba en la ingeniería, nos enseñaron este algoritmo pero hacíamos todos los cálculos a mano para programar cómo una paquetería repartiría los pedidos que tuviera y otros ejemplos asì

  • @RoboticsNanotech
    @RoboticsNanotech 2 месяца назад

    Gracias a estas bases fue que comencé mucho antes que tú a desarrollar una ToolKit para Stride Engine de Pathfinding para juegos de RTS. La ToolKit que desarrolle se llama Northgard, y te preguntarás ¿por qué le puse ese nombre?, básicamente porque es uno de los juegos que paso gran parte de mi vida enviciado, un juego que a mi en lo personal está tan bien hecho mejor que el AoE, que no solo me genera nostalgia sus temas nórdicos sino, que es precisamente la inspiración que tuve a la hora de programar y producir la herramienta. Sin embargo, tuve que leer libros para entender funciones matemáticas, trigonometría y físicas de bajo nivel. Sin embargo tu vídeo lo resume de tal manera que parece simple pero no lo es. Programar no es lo mismo que desarrollar, desarrollar es cuando utilizas herramientas y funciones creadas por programadores, eso incluye los frameworks y el código scripting, los programadores creamos herramientas para que los desarrolladores lo utilicen, por eso el programador que sabe programar conoce las matemáticas, nunca se va a conformar con lo que le da el motor o framework, siempre buscará una forma de re-inventar la rueda aunque la rueda ya exista, precisamente se debe a esto: La programación es un Descubrimiento, el día de mañana puede existir un Z* del pathfinding por alguien que se animó a experimentar, probar nuevas cositas, el programador que sabe es un inventor por naturaleza, requiere de estudio constante y saber de matemáticas. S2 👨‍💻

  • @edwardmalpartida5894
    @edwardmalpartida5894 2 месяца назад +1

    Muy buena explicación! Estudiaste algo relacionado a informática o programación? O aprendiste esto por tu cuenta?

    • @llamaelitista
      @llamaelitista  2 месяца назад +1

      Soy inge, no informatico aunque toque algunos temas en cursos, todo lo que sé de computer science y programación lo aprendí por mi cuenta.

  • @dismal368
    @dismal368 2 месяца назад

    buen video, me gustan las freakeadas sobre juegos, y mas sobre el desarrollo, me gusta la programacion, pero no he hecho aun mi primer juego serio, tengo q seguir avanzando,

  • @mexage
    @mexage 2 месяца назад +6

    6:32 está equivocado el costo H sería calculado por Pitágoras, de otra manera sería calcular los caminos mas cortos en cada iteración y pues no tenemos esa info. Debería ser una línea recta del nodo a la meta, solo contando en x y y, para luego usar sqrt(x*x+y*y)

    • @llamaelitista
      @llamaelitista  2 месяца назад +9

      En realidad hay distintas formas de hallar la distancia en el costo H (Heurística), la que planteas tu se llama distancia Euclidiana (que es hacer un pitagoras y ya), la que use yo es una forma adaptada de la distancia Manhattan, ambas funcionan, ya depende de como quieras adaptar tu algoritmo. Sobre lo del camino mas corto, si tienes razón, en realidad SI es como hallar el camino mas corto PERO cuando no hay obstaculos, como es una distancia, no toma en cuenta obstaculos asi que en realidad no se puede usar para hallar el camino mas corto. Sobre lo de que no existe info, si hay, existe una formula para hallar la distancia que estoy usando sin mas info que la posicion del nodo analizado y la posicion del nodo final. Checate este link, esta con el nombre de "Diagonal distance". theory.stanford.edu/~amitp/GameProgramming/Heuristics.html#diagonal-distance

  • @ladrochax
    @ladrochax 2 месяца назад +1

    Excelente explicación ❤

  • @johangut
    @johangut 2 месяца назад

    Excelente aplicación de la Investigación de Operaciones, o mejor dicho, Ciencias de la Computación.

  • @chrisalexmdo
    @chrisalexmdo 2 месяца назад +1

    Eres un capo bro! Sigue así

  • @gabrielrodriguez6082
    @gabrielrodriguez6082 Месяц назад

    No estudio mada relacionado a esto perp igual vi el vídeo completo. Me atrapó el tema y lo entendí perfecto, gracias

  • @gTosca_666
    @gTosca_666 2 месяца назад +4

    0:55 soy tán viejo que reconocí el odiado GOTOXY 🤣🤮

  • @danmaster666
    @danmaster666 2 месяца назад

    Muchísimas gracias por este gran vídeo

  • @ISAAC7DG
    @ISAAC7DG 2 месяца назад

    Excelente video !!! Es muy útil !!

  • @mrargoz4673
    @mrargoz4673 2 месяца назад +1

    Hermosa , buenos videos , un saludo

  • @juanfranciscojesushernande3396
    @juanfranciscojesushernande3396 2 месяца назад

    Excelente aporte, muchas gracias.

  • @cris5294
    @cris5294 2 месяца назад

    Muy buen video. Me gusta tu forma de explicar. Muy orientada a la práctica. Pero tengo que mencionar que A* no siempre encuentra el camino mas corto, a veces encuentra solo uno aceptable. Todos los algoritmos tienen algo que los hace mejor y peor que los otros en terminos de rendimiento, memoria y exactitud. A* destaca en los videojuegos por su eficiencia.

    • @norbertonorberto-ek6cd
      @norbertonorberto-ek6cd 7 дней назад

      "...A* destaca en los videojuegos por su eficiencia."
      Siempre que conozcas TODOS los caminos posibles

  • @Eze9lkks8
    @Eze9lkks8 2 месяца назад +8

    Como en el lol cuando le das a punto donde quieres ir en el mapa te marca el camino mas corto para llegar.

  • @NekoDevX
    @NekoDevX 2 месяца назад +1

    Excelente video! Finalmente entendí el algoritmo. No obstante tengo una duda: sería posible añadir un test de visibilidad (trace del nodo al jugador) en cada nodo del A* para que el camino no solo sea el más corto, sino también el más oculto a la vista del jugador?
    Estoy desarrollando un juego indie en UE5 y busco una forma de hacer que mis enemigos flanqueen de manera inteligente. He probado EQS, FSMs, y demás, pero parece que tendré que modificar el A* del engine para obtener buenos resultados. De ser posible, podría usar EQS para encontrar un punto en la espalda/laterales del jugador, y usar el A* modificado para que el enemigo se mueva hasta ese punto pasando por el camino con más coberturas.
    En cualquier caso, nuevo sub :) tienes contenido muy interesante, sigue así!

    • @llamaelitista
      @llamaelitista  2 месяца назад +1

      Mmmm, muy interesante, a si a primera prueba se me ocurre que podrías hacer que la vista del jugador se vuelvan nodos obstaculos, por ejemplo si tu jugador ve en línea recta todos esos nodos/casillas hasta choca su vista se vuelven obstáculos, en la realidad no son, pero para el algoritmo si serían por lo que tendría que calcular un camino que no implique pasar por esos nodos/casillas. Algo asi se me ocurre.

    • @NekoDevX
      @NekoDevX 2 месяца назад +1

      @@llamaelitista Una pena no poder poner imágenes por aquí, pero conseguido!
      Lo que he hecho es un trace desde cada nodo a un vector que llamo VigilVector, este puede ser la posición del jugador, el goal del path, lo que sea. Si hay un hit antes de llegar al Vigil, el nodo esta oculto, si no pues es visible. Si es visible, incurre un costo alto modificable. He metido parámetros para hacer offset variable también y que el trace no choque con el suelo.
      Me queda ajustar un poco los valores y meterle más parámetros para que se pueda aprovechar para más cosas que flanquear, pero funciona muy bien.
      No podría haberlo hecho sin ver este vídeo, me has ayudado a entender como funciona en muy poco tiempo y de forma sencilla, eternamente agradecido 🙏

    • @llamaelitista
      @llamaelitista  2 месяца назад +1

      @@NekoDevX 🫡

  • @dispenser92
    @dispenser92 2 месяца назад +1

    el desarollo de videojuegos es arte casi lloro

  • @ayakigu10
    @ayakigu10 2 месяца назад

    Excelente video! Muy bien explicado.. solo me queda una duda con la parte de programacion... El nodo final se declara como variable tambien? En que parte del codigo se define eso? Osea que el código sepa donde esta el final...

  • @jajajajavidal5389
    @jajajajavidal5389 2 месяца назад +1

    En el age 2 cuando querias enviar algo en barco, muchas veces el barco venia a ti antes que tu al barco quizas la IA detectaba que el barco era mas rapido y por eso hacia eso.

  • @Leeiaz
    @Leeiaz 17 дней назад

    Que buen video hermano🙌

  • @fenix284
    @fenix284 29 дней назад

    super buena explicacion!
    muy didactico

  • @Vyr-kj1cr
    @Vyr-kj1cr 2 месяца назад +17

    Videojuegos: Encontrar la ruta más corta. 🏃
    Age of empires 2 DE: 🐢

  • @JimmyRampage
    @JimmyRampage 2 месяца назад +1

    muy interesante, gracias!

  • @jonathanmartinez4777
    @jonathanmartinez4777 2 месяца назад +20

    Ese algoritmo no funciona en el AOEII DefinitiveEdition porque ahí hasta se ponen a bailar cuando los mueve en bola, se regresan o se quedan como idiotas caminando contra los edificios

    • @dajerorogama4311
      @dajerorogama4311 Месяц назад +1

      La verdad este algoritmo puede fallar en ciertos casos

  • @rodrigoe.martinmusri8775
    @rodrigoe.martinmusri8775 2 месяца назад +1

    Hace 1 mes me puse a aprender a programar juegos, el video me viene de 10.

  • @inteligenciafutura
    @inteligenciafutura 2 месяца назад +1

    Excelente video saca más así

  • @nnatitoyt
    @nnatitoyt 2 месяца назад +1

    Hermoso ver la matematica aplicada :3

  • @Mars_-ss8cm
    @Mars_-ss8cm 2 месяца назад

    Deberías añadir que A* puede llegar a consumir tanta memoria que se vuelve menos eficiente que Dijkstra.
    También deberías explicar que la función heurística no tiene por qué ser la Euclidiana (distancia hasta el objetivo) por ejemplo la Manhattan es interesante.
    Buen vídeo pero podría confundir a algunos que no sepan suficiente ya que A* no siempre es el más rápido y hay muchas alternativas en videojuegos como IDA*, BeFS o Jump Point.

    • @norbertonorberto-ek6cd
      @norbertonorberto-ek6cd 7 дней назад

      "...También deberías explicar que la función heurística no tiene por qué ser la Euclidiana (distancia hasta el objetivo) por ejemplo la Manhattan es interesante..."
      En un comentario explicó esa cuestión.
      "...Buen vídeo pero podría confundir a algunos que no sepan suficiente ya que A* no siempre es el más rápido y hay muchas alternativas en videojuegos como IDA*, BeFS o Jump Point."
      El algoritmo A* es de utilidad solo cuando conoces el entorno por el que te mueves.
      En el hipotético caso en que no conozcas los caminos que tienes y los obstáculos con los que te podrías topar entonces puede resultar más perjudicial que beneficioso su uso.
      A mi parecer la explicación del video está bien para entender la idea o concepto del algoritmo.

  • @pasantehen
    @pasantehen 2 месяца назад +2

    Entonces, Tenemos años y años y años interactuando con algoritmos complejos de inteligencia artificial en base a modelos matematicos avanzados, pero las IA de hoy en día son mejores porque a una foto le puedes quitar la ropa a las personas. Pues así estamos

  • @samuelortega7998
    @samuelortega7998 2 месяца назад +1

    Se merece su suscripción

  • @knator22
    @knator22 Месяц назад +1

    Hombre de cultura con el tema de desktop de los juegos viejos de .hack

    • @llamaelitista
      @llamaelitista  Месяц назад +1

      @@knator22 Creo que es la primera vez que alguien capta que uso musica de .hack en algunos de mis videos, no es muy comun encontrar fans de .hack jsjs.

  • @benarkantos
    @benarkantos 2 месяца назад

    Que buena explicación!!

  • @yosnel327
    @yosnel327 2 месяца назад

    Excelente explicacion, un algoritmo me trajo aqui.

  • @artempest7137
    @artempest7137 2 месяца назад

    Increíble tu canal buen video

  • @napoleon618
    @napoleon618 2 месяца назад +1

    Muy interesante.
    Oye una pregunta, cómo declaras los obstáculos en el código?
    Tengo una idea, supongo que le das un valor muy alto en los nodos declarados para así asegurar que no tomen esos valores. Pero no sé, ya hace años que ví estos temas.
    Fue para mi tesis pero yo usé el método de homotopia. Nunca lo implementamos en aplicaciones solo en simulación. Fue divertido, pero necesitaba trabajar y pos lo dejé.

    • @llamaelitista
      @llamaelitista  2 месяца назад

      en mi codigo cada nodo tiene un estado, los obstaculos tienen un status de "obstructed", asi que cuando esta sacando la lista de vecinos al hacer la revisión simplemente los ignora, como si no existieran.

  • @RetroGameTalk
    @RetroGameTalk 2 месяца назад +1

    Solo concia el algoritmo minimax pero este me parece mucho mas divertido gracias.

  • @alvafil
    @alvafil 28 дней назад

    Excelente explicación. Me queda una consulta, en el caso de tener dos caminos con el mismo costo, ¿cómo el programa decide cuál usar? Me imagino que de alguna forma es arbitrario, como que las casillas se analizan en cierto orden y el primero en analizarse será el elegido, pero quisiera tu opinión.
    Saludos!!

  • @AlguienEnSuCasa
    @AlguienEnSuCasa 2 месяца назад

    Estupendo vídeo, andaba recién buscando como implementar path finding en mi juego, y había leído que el algoritmo A era el mejor.... Una suerte que ya había decidido subdividir el mundo en una cuadrícula
    Edit: Lo que me cuesta entender es como se produce la heurística, no es ya de por sí una detección del camino?

  • @steelcladCompliant
    @steelcladCompliant Месяц назад

    Algo que no suelo ver juegos que puedan hacer es detectar cuando una ruta está obstruida con otros personajes
    En Mount and Blade Warband, si hay dos escaleras para atacar las murallas de un castillo, los atacantes se amontonan todos en la más cercana porque es el camino más directo para acceder al castillo, aunque signifique que tienen que hacer fila para subir, mientras los defensores llueven flechas sobre ellos
    Si el juego va a tener varios personajes moviendose en simultaneo, el algoritmo debería poder detectar a los otros personajes como obstaculos de forma dinamica, y buscar rutas alternativas

  • @Omwekiatl
    @Omwekiatl 2 дня назад

    la mejor explicación del tema

  • @miguechannel8093
    @miguechannel8093 2 месяца назад +2

    22 años despues y todavia se sigue hablando de warcraft III