Qué es una Máquina de estados y Cómo crearlas en Godot 4

  Рет қаралды 10,581

findemor

findemor

Күн бұрын

Пікірлер: 192
@GermanCoronel
@GermanCoronel 2 ай бұрын
Nooooo Finde, no me hagas cambiar el código... no ahora D: jajajaja
@Arikel135
@Arikel135 Ай бұрын
jjajajaj
@ElCaraDeManzana
@ElCaraDeManzana Ай бұрын
Germaaaan que tal
@Doppelganger48
@Doppelganger48 2 ай бұрын
Comentario de ilustración para apoyar la interacción en este audiovisual y que el mismo gane más difusión.
@findemor
@findemor 2 ай бұрын
Ojo, muchas gracias Don Góngora. jajaja
@Doppelganger48
@Doppelganger48 2 ай бұрын
@@findemor Quería comentar algo y no sabía el que. Prefiero comentar cosas así, que igualmente así estos vídeos llegan a más gente, y eso siempre está bien xD.
@brian_de_marco
@brian_de_marco Ай бұрын
Findemor es como si Ginxu y Álva Majo hubiesen tenido un hijo 😌
@sonferrertattoo
@sonferrertattoo 2 ай бұрын
Esto es para verlo despacio, con boli y papel y ademas varias veces!!! Como en el cole 🤣🤣🤣🤣🤣🤣 Mucha info y muy rapido, pero se agradece un monton!!! Varias StateMachines en un solo video!! Muchas gracias Findemor!!!!! Un 10!!!👌
@findemor
@findemor 2 ай бұрын
La santa trinidad de las maquinas de estado. Si... cuando termine de editar me di cuenta de que habia ido muy rapido y que habia tratado de abordar demasiado contenido en poco tiempo. Tengo que aprender a hacer los videos más lentos y concentrarme en un unico punto. Ire mejorando! Pero muchas gracias por tu comentario!
@GordoFriman
@GordoFriman 2 ай бұрын
​@@findemor O hacer varias partes 😊
@sonferrertattoo
@sonferrertattoo 2 ай бұрын
@@findemor Para nada.... GRACIAS A TI!! El ultimo video de BRACKEYS tambien fue muy denso pero muy rapido, aunque fue genial y siempre hay que agradecer este esfuerzo que haceis porque realmente es una inversion de tiempo y de trabajo que estais haciendo. A pesar de que tu video fue rapido, todo queda muy claro y se puede seguir si estas bien atento. Gracias, gracias y gracias, de verdad 🙏🙏🙏 Eres muy grande
@doretreasure8962
@doretreasure8962 Ай бұрын
@@findemor No te rayes finde, a mí me ha gustado el vídeo, es "simple" (entre muchas comillas) de entender, pero ya dominarlo suena más difícil jaja... 10/10 :) Puede si te raya, dividir un poco más el vídeo en "secciones" más marcadas.
@ElCaraDeManzana
@ElCaraDeManzana Ай бұрын
Sinceramente que video mas util, cualquier contenido relacionado a godot en español vale oro, aun somos una comunidad pequeña, aunque ahora me gustaría sinceramente un vídeo de todas las aplicaciones que tiene una maquina de estados y como se podria hacer en godot
@findemor
@findemor Ай бұрын
Muchas gracias! Umm es que hay tantas aplicaciones posibles, no sabria como abordarlo ahora mismo... pero me lo apunto por si me viene la inspiración
@user-lz3sv5wu6j
@user-lz3sv5wu6j 2 ай бұрын
PORFAVOR ENSEÑA COMO FUNCIONA EL MULTIJUGADOR Y COMO COMUNICARSE CON FUNCIONES DE CLIENTES Y SERVIDOR ERES EL UNICO QUE NOS PUEDE AYUDAR DAS LA INFORMACION DE MANERA SIMPLE Y FRESCA BRO GRACIAS POR TODO LO QUE HACES POR ESTA PEQUEÑA COMUNIDAD ,ERES EL SALVADOR DE GODOT
@arkhaham2094
@arkhaham2094 2 ай бұрын
Yo ni programador soy ni hago videojuegos, pero siempre me gusta ver tus vídeos. Aparte que igual me ayuda para entender a nivel más profundo algunas cosas de las que juego.
@user-lz3sv5wu6j
@user-lz3sv5wu6j 2 ай бұрын
estoy deacuerdo contigo bro
@mattr6638
@mattr6638 2 ай бұрын
Hace un mes buscaba un video como este, para saber como implementar una máquina de estado en godot, y de todos los videos que vi en español este es que mejor lo explica. Gran video👏
@guidonatanielmolinapietrob9698
@guidonatanielmolinapietrob9698 2 ай бұрын
juro que necesitaba esto
@findemor
@findemor 2 ай бұрын
Ojala te sirva para lo que lo necesitabas. Un abrazo!
@miguelangeldeblas9013
@miguelangeldeblas9013 2 ай бұрын
El video está muy, pero que muy bien. Las máquinas de estado son básicas en programación de juegos. Creo que, como comentas, esencialmente todo es una máquina de estados. Eso sí, creo que no es un video para ver si tu conocimiento de GScript es muy básico. Es decir se dan por supuesto muchas cosas (herencia, funciones que se ejecutan solas, por que cambiar nombres de funciones o tipos de clases, cast, etc..). Comento solo para mejorar difusión.
@03guillex
@03guillex 2 ай бұрын
No lo voy a negar, en un momento me superó toda la info. No conocia el concepto de las maquinas de estados y me parece genial!! Voy a intentar practicarlo porque se ve muy util incluso para dividr las acciones de cada nodo. Gracias como siempre Finde!
@pedrogonzalezlopez2439
@pedrogonzalezlopez2439 2 ай бұрын
Que barbaridad de vídeo. Qué gusto la manera de explicar el problema del plato de espaguetis como la necesidad de aplicar una FSM. Qué identificado me acabo de sentir en todos los pasos del proceso. Me siento entendido y validado, gracias Finde
@findemor
@findemor 2 ай бұрын
Todos nos comemos unos buenos espaguetis de vez en cuando jajajaj. Me alegro de que te sirviese para no sentirte solo! Muchas gracias por comentar
@GatoTomate-sb6ec
@GatoTomate-sb6ec 2 ай бұрын
​@@findemorPuedes hacer un menú de niveles?
@FlightgearTutorials
@FlightgearTutorials Ай бұрын
Esta es la mejor explicación y el mejor ejemplo que he encontrado para implementar el patrón State y su digi-evolución el patrón StateMachine
@PabLoAnima
@PabLoAnima 2 ай бұрын
Que buen video!, aunque me tuve que ir armando el UML del patrón para ir entendiéndolo xD. Gracias por el aporte! saludos!
@GasparCastilloCatrifol
@GasparCastilloCatrifol Ай бұрын
¡Excelente video! Más allá de usar las herramientas proporcionadas por el engine, entender cómo funcionan por dentro es una delicia. Sinceramente, estoy aprendiendo a usar Godot como hobby (soy programador web), y estos videos realmente me ayudan a pensar de manera abstracta y a crear código limpio. Mis felicitaciones y espero que puedas tener el tiempo para seguir compartiendo tus conocimientos con nosotros
@Arikel135
@Arikel135 Ай бұрын
0:13 Quee? quien diria eso?? porque yo jamas. Estoy aprendiendo a usar godot y estos videos son de mucha ayuda, son cosas que nadie te enseña a hacer pero son muy utiles.
@Arikel135
@Arikel135 Ай бұрын
ayy, ya me marie, pero si le entendi
@findemor
@findemor Ай бұрын
Muchas gracias!! me alegra mucho que te haya servido de ayuda! :D
@Angel-bo5ij
@Angel-bo5ij 2 ай бұрын
Estoy estudiado 2n DAM, y puedo decir que pocos o casi ninguno se explica como este hombre. Seguro que lleva horas preparar videos así, chapoo por como lo estructura todo. Que gustazo ver un video tan tan informativos con ejemplos hechos al momento, hablando de manera técnica pero que creo que aunque no seas un experto lo entiendes todo. Videos de este estilo me los veo enteros. Muy disfrutables.
@videovideo166
@videovideo166 2 ай бұрын
Gracias findemor!! Excelente video! y el extra al final es excelente. Cree mi propia version heredando solamente de Object, no de Node. La integracion es mas fificl porque es mas de escribir que arrastrar, pero alguito de performance se ganará al ahorrarse los enjuagues de instanciar un nodo en vez de un object. Gracias de nuevo! Y siga asi! que ayudar es salvar al mundo.
@HectorPlay215
@HectorPlay215 17 күн бұрын
voy a ponerlo en práctica con un menú de opciones que tengo que hacer. gracias!
@HectorPlay215
@HectorPlay215 17 күн бұрын
nada nada, me ha simplificado la creación del menú de manera loquísima
@braveitor
@braveitor 2 ай бұрын
Me ha parecido una explicación excelente, comprensible, divertida y sobre todo muy práctica de este patrón. Este vídeo me lo guardo para cuando me haga falta porque me parece una manera fantástica de gestionar los estados de un jugador. Gracias por el vídeo.
@OpcionalParaTarea
@OpcionalParaTarea 2 ай бұрын
Excelente finde. Gracias por tu gran aporte. Esperaba video tuyo con ansias. Antes de verlo ya sé que va s ser un video de calidad. 👏🏿
@saboteador
@saboteador 2 ай бұрын
La verdad que te felicito por compartir tus conocimientos y experiencia, hay que darle mas apoyo!!
@findemor
@findemor 2 ай бұрын
Muchas gracias!
@nnatitoyt
@nnatitoyt 2 ай бұрын
que buen contenido por Dios , siempre se me hizo complicado eso de las states machine
@kingkonork2641
@kingkonork2641 2 ай бұрын
No sé como eres capaz de entender todas estas cosas y explicarlas al vuelo de manera tan fluida, eres un crack. Yo todavía me estoy peleando con los conceptos básicos de gdscript. Gracias por crear todos estos vídeos!
@findemor
@findemor 2 ай бұрын
No es nada notable! es solo cuestion de tiempo! mucho animo con la programación, en cuanto menos te lo esperes estas haciendo cosas increibles :D
@CebGIN
@CebGIN 2 ай бұрын
Estoy haciendo el controlador de mi juego y una de las últimas decisiones que hice fue cambiar lo que llevaba a una máquina de estados, no me guíe por nada en particular, solo hice lo que se me ocurrió, como en el segundo caso use un enum y dos match, en el primero realiza los cambios de estado y el segundo las acciones correspondientes, ya desde antes de usar estados, cada acción estaba contenida en un método como ground_movement o air_movement, entonces en el match solo administra que métodos es necesario llamar, no veo necesidad de en mi caso hacer algo más reutilizable, además me gusta evitar añadir más nodos de los necesarios, es sorprendente la cantidad de problemas que se pueden resolver añadiendo nodos, pero siento que se puede terminar saliendo de control y aunque sea poco, afectar el rendimiento, así que si necesitase hacer una máquina más flexible, creo que vería como implementar usando RefCounteds
@jhcantiz
@jhcantiz 2 ай бұрын
Lo primero felicitarte por el vídeo, me encanta la forma en que explicas los conceptos y después una sugerencia, animarte a hacer videos de conceptos mas avanzados, es cierto que igual no son tan atractivos para el algoritmo de KZbin pero se agradecería mucho tener estos tipos de videos en español. Gracias.
@findemor
@findemor 2 ай бұрын
Muchas gracias! me lo anoto. Si que me gustaria. De hecho al ver este video sentí que me quedaba en tierra de nadie. Voy demasiado rapido para alguien que empieza, y es un tema demasiado conocido para alguien con experiencia. Creo que en videos que profundicen más tendré que ir bastante despacio
@KatsupAzul
@KatsupAzul 2 ай бұрын
me quiero morir con lo complicado que suena para mi cabeza de nuez, pero es el tutorial que justo necesitaba, he tendio problemas con las animaciones intermedia entre cada animacion ya que quiero que mi juego tenga animaciones entre estados. lo he estado intentando del modo que has mostrado al inicio y es un infierno. es demaciada la casualidad que era justo lo que necesitaba. Muy buen video!
@Lucio-jj4fk
@Lucio-jj4fk 2 ай бұрын
Vamos nuevo devlog 😳😀😀
@findemor
@findemor 2 ай бұрын
Estamos en ello!
@Nahuel.Moncada
@Nahuel.Moncada 2 ай бұрын
Apenas me distraje un poco y me perdi jejeje, creo que es mejor ver el video deteniendo y a detalle de cada cosa, pero sin duda es un muy buen video para aprender de estados
@kznakai5089
@kznakai5089 2 ай бұрын
Realmente a mi se me hizo difícil la implementar stateMachine en c# pero valió totalmente la pena. El resultado final es mucho más ordenado y eficiente.
@findemor
@findemor 2 ай бұрын
Me alegro mucho de que lo consiguieses! da mucha tranquilidad reducir la deuda técnica del proyecto a que si? jaja
@kznakai5089
@kznakai5089 2 ай бұрын
@@findemor siii, además ver un proyecto más organizado y limpio motiva mucho a seguir aprendiendo buenas prácticas.
@dailyspineiro7653
@dailyspineiro7653 2 ай бұрын
Definitivamente es la clase de maestro que me encanta. Eres el perfecto ejemplo de como hacer las cosas. Siempre me gustó la informática y cuando descubrí como podría hacer videojuegos me decidí a aprenderlo. Lamentablemente por mi laptop de bajos recursos me queda pesado aprender absolutamente todo ya, e implementarlo de inmediato. Y aunque quizá no tenga como hacerlo en tiempos cercanos, espero algún día poder crear videojuegos con todas las enseñanzas que nos compartes, Findemor. Espero poder decir que soy alguna clase de alumno de vos, definitivamente eres mi inspiración hoy en día. PD: Soy sobrino de la dueña de esta cuenta jaja, muchos ánimos Finde, ¡Eres un grande!
@UkernanGaming
@UkernanGaming 2 ай бұрын
Que bueno que sos Finde, muy disfrutables, dinámicos y didácticos tus videos. Los tengo todos guardados para cuando me decida a sentarme de lleno con Godot. Te mando un gran saludo!
@gpa035
@gpa035 2 ай бұрын
Yo en plan , "OMG finde a subido un nuevo video" y por fin necesitaba este VIDEOOOOO , gracias
@ManuelYT01
@ManuelYT01 2 ай бұрын
muchas gracias por esta informacion sobre los estados, esto lo voy a poner en mi juego
@wbcding2293
@wbcding2293 2 ай бұрын
Llevo tiempo buscando estos tipo de video en español
@rollthedice2619
@rollthedice2619 2 ай бұрын
Ayer mismo acabé el proyecto de la documentación oficial acerca del 3D y aún ni me entero de como va la vaina. Pero joder, que ganas de poder entender todo esto jajajaja Gracias por el curro, muy didácticos como siempre
@franciscobonora3263
@franciscobonora3263 2 ай бұрын
Sos un crack!! Admiro como explicas de una forma tan sencilla Gracias
@findemor
@findemor 2 ай бұрын
Muchas gracias a ti por tu comentario, espero que sea util!
@ksrrompe
@ksrrompe 2 ай бұрын
El destino me puso este video, ya que estaba decidiendo si implementar una maquina de estados o no, la respuesta me cayó del cielo 😂😂😂
@dasaso27
@dasaso27 2 ай бұрын
Brutalísimo vídeo como siempre. Mira que no me interesa nada el tema, pero lo haces tan entretenido que no me pierdo ningún video jeje
@findemor
@findemor 2 ай бұрын
Uff pues si no te intersaba tienes un estomago de hierro para zamparte 28 minutos jajaja. Un abrazo crack!!!
@dasaso27
@dasaso27 2 ай бұрын
@@findemor supongo que después de tantos vídeos de guinxu, que tmb son amenos, ya me he acostumbrado a cosas así jaja
@hyzokaaa
@hyzokaaa 2 ай бұрын
Genial Finde, sigue así y no hagas caso a los comentarios negativos
@findemor
@findemor 2 ай бұрын
Muchas gracias! Bueno no pasa nada, si se critica de buena manera están bien para mejorar :)
@clarckhuntermaypalazuelos7731
@clarckhuntermaypalazuelos7731 2 ай бұрын
AHHHHH, MI CABEZAAAAA Excelente video, muy explicativo y muy didactico, le entendí muy bien y es justo lo que necesito para ir avanzando en mi proyecto
@Weahl
@Weahl 2 ай бұрын
Increíble video como todos con información super útil! Gracias por este pedazo de contenido!❤
@alexandercolmenares1429
@alexandercolmenares1429 2 ай бұрын
Grande Muchas gracias ahora si comprendo el funcionamiento de la maquinas de estados 😊
@Arikel135
@Arikel135 Ай бұрын
5:18 XD
@juantru88
@juantru88 2 ай бұрын
Como programador en mi tiempo libre, mis conocimientos son escasos y no sabia que existían las maquinas de estado. cuando han empezado a explicar lo de las excepciones me he dicho, como en mi juego, para correr guardar el arma atacar y todo eso, como habría cambiado el cuento de haber conocido esto en su debido momento.
@findemor
@findemor 2 ай бұрын
Muchas gracias por tu comentario! Me alegro de que haya servido para que se entiendan un poco :D
@matiasandrade2664
@matiasandrade2664 2 ай бұрын
que buen video, cada día mas animado a aprender a usar godot!
@findemor
@findemor 2 ай бұрын
Si sirve para que te animes a probarlo, habrá cumplido su cometido. Muchas gracias!
@cafeconbits
@cafeconbits 2 ай бұрын
Me quedo con que somos máquinas de estados... Cuando las mates se vuelven realmente profundas ❤
@ekaitzsegurola9183
@ekaitzsegurola9183 2 ай бұрын
Yo uso un pool de eventos, ya que los cargo dinamicamente de un JSON. Tengo una clase que genera las animaciones por script para cada caso.
@findemor
@findemor 2 ай бұрын
Que pro! aunque parece un caso de uso muy especifico no? al menos me invita a pensar en usarlo con estados que pueden configurarse dinamicamente (generarse durante la partida) para luego reproducirlos. O quiza me esta recordando al command pattern. ¿siempre lo haces asi?
@ekaitzsegurola9183
@ekaitzsegurola9183 2 ай бұрын
​@@findemorAlgo similar al command pattern, sí. Todo lo que se pueda aislar y modular lo intento separar. Uso de modelo el funcionamiento de RPGMakerXP, que es donde hice mis cosillas de chaval. Tengo programadas todos los posibles estados de un evento (Si es empujable, si se mueve, si sale de dia, sus rutas por definición, si esta oculto...), también las instrucciones, por ejemplo poniendo en el JSON en un campo de instrucciones esto: "COMB.$ST:1.$TALK.TALK:NPC8.MOVES:this:lw" estoy diciendo que el personaje si esta en el estado 1 e interacciona por el habla del jugador, debe hablar el texto NPC8 (Que esta guardado cada codigo con sus traducciones en un CSV) y mirar el personaje al oeste. Cuando el juego carga la seccion del mapa, una clase, evalua cada evento y le pone sus correspondientes caracteristicas y instrucciones. Algunas instrucciones como DOOR combinan varias para tener el comportamiento de una puerta por ejemplo. Lo mismo hago con las animaciones, determino que imágenes corresponden en ese momento del cargado al evento con el ID. Desde esas imagenes recreo las animaciones para ese evento y luego mediante unos estados en un enum de una clase static, como la maquina de estados, determino que animación se tiene que ejecutar. Mi idea es hacerlo lo más dinamico posible, no solo por escalabilidad y liberarme de tocar mucho código una vez tenga ya las funciones, sino también ha futuro sea facil de modear.
@ruinov241
@ruinov241 2 ай бұрын
Maravillosamente explicado. Mil gracias!!.
@ivancitoA
@ivancitoA 2 ай бұрын
Algo que debo aprender a implementar. Gracias!
@IngDeLaCruz
@IngDeLaCruz 2 ай бұрын
God Like! justo lo que necesitaba!
@findemor
@findemor 2 ай бұрын
Ojala te sirva, muchas gracias!
@i_dont_know_my_name
@i_dont_know_my_name 2 ай бұрын
god, espero que tambien llegue el Behaviour Tree, donde soluciona algunas desventajas que tiene el FSM
@luistorralbo
@luistorralbo 2 ай бұрын
Espectacular!!!
@TheMortimerBoy
@TheMortimerBoy 19 күн бұрын
Me encanta ver estos videos, me llamo la atencion godot y empecé a intentar a aprenderlo, está buenísimo 🔥
@Naek_13
@Naek_13 2 ай бұрын
Este bro me cae tan bien, hermano, eres buenísimo en lo que haces, ¿Cuándo sacas un video haciendo un juego 3d desde cero?
@fabianmunoz851
@fabianmunoz851 2 ай бұрын
Findemor tiene la clave para todo. menos para saber como olvidarla :(
@gabrielsoto6329
@gabrielsoto6329 2 ай бұрын
Esto es demasiado util muchas gracias. 😊
@ii-ii-ii-ii-ii
@ii-ii-ii-ii-ii Ай бұрын
Gracias 👏🏻
@magamextrabajo
@magamextrabajo 2 ай бұрын
Muy bien explicado!!! Muchas gracias por el video
@yacoobsc.m3269
@yacoobsc.m3269 2 ай бұрын
Esto es puro Java, así es como se programa de verdad aprovechando clases y métodos heredados. Puede resultar mas complejo al principio, pero haces que tu código sea mas corto, esto lo vi hace un tiempo en un video en ingles. Es una forma mas pro de programar, siempre se aprende algo nuevo contigo Finde muchas gracias Saludos...
@findemor
@findemor 2 ай бұрын
Joe, muchas gracias por el comentario. La idea era precisamente explicar las maquinas de estado a bajo nivel para que se entienda que son y como funcionan, y aprender así conceptos de programacion que son utiles en todos los lenguajes. Temia haber hablado en un nivel muy bajo.
@Charditronic
@Charditronic 2 ай бұрын
Pero que videos mas currados Finde 👏
@bugrhak
@bugrhak 5 күн бұрын
Exelente vídeo! Esto de las máquinas de estado me ha dado una idea y a la vez una duda muy concreta. ¿Sería posible crear máquina de estado que detecte la orientación de pantalla (portrait o landscape) de un dispositivo movil y que, dependiendo de la orientación de pantalla, se puedan reposisionar las escenas/nodos dentro del viewport? Quizás sea mucho más fácil que lo que pregunto, pero justo he llegado a la etapa de programar eso en mi proyecto y no he encontrado prácticamente nada de doc al respecto 😅
@findemor
@findemor Күн бұрын
Hola! Pues esta interesante! Normalmente lo más facil es configurar bien tu interfaz, con las anclas y todo esos parametros, para que se adapten a todos los tamaños y formatos de ventana. Pero claro, entiendo que quiza al pasar de horizontal a vertical no solo quieras que las cosas se ajusten asi, sino que algunas incluso cambiarían directamente de lugar en la pantalla. En ese caso, si solo vas a tener dos posiblese opciones (portrait o landscape) pues quiza una maquina de estados sea complicarse demasiado, te valga con un enum en algun sitio que tendría que leer el script que controle tu canvaslayer y sus elementos. Pero habría que ver el caso claro... Segun yo lo veo, si tuviese muchas diferencias un tipo de posición con respecto a la otra, haría una escena de para cada tipo (en lugar de moverlos) e instanciaría una interfaz u otra según la orientación. Eso si, todos los elementos dentro de esa escena deberían ser escenas para maximizar la reutilización. Que dificil explicar interfaces en un comentario jajaja. Espero haber contribuido y no liarte más aun
@irandislazo4188
@irandislazo4188 2 ай бұрын
Justo lo que necesitaba 😊
@xatkxfester
@xatkxfester 2 ай бұрын
gran aporte
@ausiasgaming
@ausiasgaming 2 ай бұрын
Genial video y super bien explicado, muy bien montada la máquina de estados reutilizable 😁
@KikkoEguskiza
@KikkoEguskiza 14 күн бұрын
Genial. Como siempre, muy útil y clarísimamente explicado.
@findemor
@findemor 8 күн бұрын
Muchas gracias!!
@inigodot
@inigodot Ай бұрын
Qué bien explicado! Me da cosa refactorizar el codigo de mi juego, habrá que hacerlo en algun momento jaja
@findemor
@findemor Ай бұрын
Cuando sea el momento lo sabrás jajaja
@juanblat
@juanblat 2 ай бұрын
Buen trabajo Findemor!!!!
@tecnoopiniones3293
@tecnoopiniones3293 2 ай бұрын
El terraplatanismo y las chispas del culo son duras muestras más de lo buen formador y divulgador que eres. Pequeños detalles que hacen mantener la atención y te sacan una sonrisa. Gracias Finde!
@findemor
@findemor 2 ай бұрын
Muchas gracias!
@MsBankaiHollow
@MsBankaiHollow Ай бұрын
buena guia la verdad desconocia esto, ando aprendiendo godot ya se me hacia raro controlar todo con booleanos xd, tocara verlo varias veces la parte de maquina de estados avanzadas, tienes un video donde recomiendes que cosas hacer en Godot por ejemplo vi que creaste un nodo y codificaste ahi al player ¿Que ventajas tienes al hacer eso? o es mas factible siempre crear un nodo y codificarlo de ahi cosas asi quisiera saber.
@findemor
@findemor Ай бұрын
Me alegro mucho de que te sirviese! Lo que comentas es una buena forma de aprender: cuando empieza a "oler raro" algo de lo que estás haciendo, buscas posibles formas alternativas de hacerlo y asi vas aprendiendo poco a poco otras técnicas. Respecto a los videos, tengo un par de introducción a gdscript y godot en el canal, y luego en todos los demas también trato de contar algunas cositas y trucos sobre como hago yo las cosas. Concretamente a lo que te refieres en la pregunta de codificar el movimiento por separado: se trata de un patrón de desacoplamiento conocimiento como Component Pattern que aparte de separar mejor el código y no tener todo en el mismo fichero o nodo, si se hace bien te permite reutilizar luego eso para otros nodos o juegos mucho mejor. Un saludo!
@victoragol
@victoragol 21 күн бұрын
Muy buen tutorial, hasta funciona en versiones antiguas de godot!!
@D0minicanDeath
@D0minicanDeath 2 ай бұрын
Esperaba este video 😂😂
@findemor
@findemor 2 ай бұрын
No es el mejor, pero espero que aporte algo!
@D0minicanDeath
@D0minicanDeath 2 ай бұрын
@@findemor estuvo bien 💪
@maiker5853
@maiker5853 2 ай бұрын
Gracias por la buena explicación
@apolocreed6954
@apolocreed6954 Ай бұрын
Gracias Crack sos grande
@findemor
@findemor Ай бұрын
Gracias por el piropo!
@CebGIN
@CebGIN 2 ай бұрын
Por qué siempre que veo a alguien que quiere obtener la gravedad usa get_project_setting en lugar de get_gravity? Creía que get _gravity no existía ya que nadie lo usaba, pero a mí parecer es menos lioso y es más flexible ya que toma en cuenta las áreas que estén cambiando la gravedad del lugar
@findemor
@findemor 2 ай бұрын
¿Como? Pues sinceramente, no lo conocía! jaja. Sé que existe un método get_gravity en la clase Input pero tenia entendido que era para leer el valor de los acelerometros del dispositivo (docs.godotengine.org/en/stable/classes/class_input.html#class-input-method-get-gravity). En la clase ProjectSettings no veo el get_gravity (docs.godotengine.org/en/stable/classes/class_projectsettings.html) ¿Donde está? Que guapo, gracias!
@loboteorias9230
@loboteorias9230 2 ай бұрын
Hola, con la actualizacion 4.3 de Godot piensas actualizar el video de aprende a usar godot o hacer un nuevo video enseñando sobre lo nuevo o algo asi? P.D. Que buen video
@joanaranda3663
@joanaranda3663 7 күн бұрын
videazo muchas gracias
@duolc_7
@duolc_7 2 ай бұрын
Está bastante bien el vídeo 👌
@soran2290
@soran2290 2 ай бұрын
La máquina de devmark se entiende mejor xd
@findemor
@findemor 2 ай бұрын
Pues seguramente tengas razón! Supongo que en este tutorial el que mas tiene que aprender soy yo mismo. Creo que he tratado de meter demasiado en poco tiempo. La proxima vez lo hare mejor. Gracias por el feedback!
@EpoEio
@EpoEio 2 ай бұрын
👍
@maximoalejandro9945
@maximoalejandro9945 2 ай бұрын
Y por ejemplo si queremos en un estado llamar a la funcion ready?
@maximoalejandro9945
@maximoalejandro9945 2 ай бұрын
Y cuales son los otros 2 patrones mas importantes que mencionas al inicio?
@findemor
@findemor 2 ай бұрын
Considerando la frecuencia con la que los uso... Components y Singleton jaja. Aunque ahora es cuando me toca poner muchas comillas, asteriscos y explicar que depende del caso y... nah, que va, me vengo arriba: ¡son los 3 mejores!
@maximoalejandro9945
@maximoalejandro9945 2 ай бұрын
@@findemor Deberias de hacer un video sobre eso
@NoNoNo-e7t
@NoNoNo-e7t 2 ай бұрын
eres un máquina
@SuperBenjaGG
@SuperBenjaGG 2 ай бұрын
No Entiendo Como En 10 Minutos Nadie Comentó Esta Joyita, En Fin La Hipotenusa
@findemor
@findemor 2 ай бұрын
Estabamos todos esperando tu comentario! Muchas graciass!!!
@SuperBenjaGG
@SuperBenjaGG 2 ай бұрын
*¡¡¡@@findemor SOY FAMOSOOO Y CON TODOS MIS SUEÑOS CUMPLIDOS !!!* Igual Fuera De Joda Creo Que Este Y Los Tutoriales De Godot Son Tus Mejores Videos
@arkhaham2094
@arkhaham2094 2 ай бұрын
Pues es una falta de respeto interrumpir al profe cuando está explicando y todavía quedan como 17min de clases(?
@SuperBenjaGG
@SuperBenjaGG 2 ай бұрын
@@arkhaham2094 WTF
@JoaquínHD-g4m
@JoaquínHD-g4m 2 ай бұрын
Esque nadie entendió nada v:
@GustBN
@GustBN 2 ай бұрын
mi cerebro se apago cuando empezo la maquina de estado avanzada jaja
@alienPear
@alienPear 2 ай бұрын
Las máquinas de estado son tan versátiles y útiles, que incluso se usan en la electrónica digital.
@findemor
@findemor 2 ай бұрын
🦾✨
@lordmacc7268
@lordmacc7268 2 ай бұрын
10/10
@pollo1291
@pollo1291 2 ай бұрын
Haz un menudo a nivel
@findemor
@findemor 2 ай бұрын
q
@pollo1291
@pollo1291 2 ай бұрын
Sí puedes crear un menú de nivel como niv1 niv2 niv3 y que no te deje entrar al próximo nivel hasta completa el nivel anterior🙏?
@theendoftime8601
@theendoftime8601 2 ай бұрын
Si?
@megazone1432
@megazone1432 2 ай бұрын
Gracias por el vídeo. Nuevo.sub.
@maskthemask3507
@maskthemask3507 Ай бұрын
Que grande
@findemor
@findemor Ай бұрын
tu si que eres grande
@JesusPF777
@JesusPF777 6 күн бұрын
Hola que tal finde amo tus videos y con todo respeto la maquina tiene varios fallos ami me pasa que cuando caigo no me deja correr inmediatamente y en el proyecto que subiste a github no deja aveces saltar si estas corriendo necesito ayuda para corregir los errores:)
@findemor
@findemor Күн бұрын
Hola Jesus! Vaya, es muy probable que como dices el código tenga ese y otros problemas en cuanto al movimiento. El tutorial es solo para explicar la teoría de las máquinas de estado, y no es realmente completo en cuanto a movimiento de personaje (para eso le faltarían muchas cosas, y era solo una excusa por poner algún ejemplo de máquina de estados). Creo recordar que lo digo en algun momento del video pero es muy largo así que no me extraña que te haya liado. Espero que me puedas disculpar! Pero me has dado una idea: un video sobre movimiento de personaje en condiciones. Lo añado a la lista de futuros tutoriales. (aún así le echare un vistazo en el proximo directo y si arreglo ese problema en particular de manera que sea facil de explicar te lo digo) Un saludo !
@manuelherdez8566
@manuelherdez8566 Ай бұрын
Saludos findemor, una pregunta. Cómo hago para que un personaje pueda atacar con una espada mientras corro o brinco sin que se corte la animación ?
@CaoxzArc
@CaoxzArc 2 ай бұрын
y la maquina de estados que se hace por el animator tree no es igual de eficiente ?
@findemor
@findemor 2 ай бұрын
El AnimationTree es tan potente y flexible que decir que "no" a cualquier cosa suya... es decir demasiado. Sin embargo, en principio es "como una maquina de estados que está diseñada para controlar un nodo AnimationPlayer". Asi que para manejar animaciones es la bomba. Pero si quieres controlar otro tipo de comportamiento más complejo, en un nodo personalizado, tendrias que hacerlo todo a traves de animaciones donde animes los valores de las propiedades exportadas de ese objeto. Y al mismo tiempo las condiciones para saltar de un nodo a otro se escriben en el inspector, y eso no ayuda mucho si son un poco largas. Poderse se podría, pero en mi opinion se volvería un poco enrevesado en algunos casos. Todo es probar!
@GeoSombraDash
@GeoSombraDash 2 ай бұрын
Findemor puedes hacer un vídeo donde expliques como hacer un juego móvile
@MrEd-qc7vr
@MrEd-qc7vr 2 ай бұрын
"... y se que ha sido largo" No no... usted sigale que yo aqui lo estoy mirando...
@findemor
@findemor 2 ай бұрын
jaja y que llegado a esa frase lo demuestra vaya que si
@maximoalejandro9945
@maximoalejandro9945 2 ай бұрын
por que en state_base hiciste: @onready var player:Player = self.owner pero despues solo la dejaste como: var controlled_node:Node?
@findemor
@findemor 2 ай бұрын
mi intención al renombarla era darle un nombre generico que no haga alusion directa al player, y al cambiarle el tipo, que pueda almacenar un nodo de cualquier clase (no solo Player). Esto lo hice porque intentaba explicar como podría reutilizarse esta StateMachine para controlar cualquier tipo de nodo, no solo un jugador (si no como menciono en el video... un semaforo, una puerta, un menu...). Entonces para controlar un semaforo... llamar a la variable Player no tendria mucho sentido. Espero haberlo aclarado! no se si te he liado mas. Un saludo!
@luisservin1257
@luisservin1257 2 ай бұрын
yo con un "match" en la mochila y con la realidad aumentada
@jhonnyramos1840
@jhonnyramos1840 2 ай бұрын
Hermano te amo wn
@darecagames
@darecagames 2 ай бұрын
pero pero pero..... que alguien le explique a este hombre que existe el animation tree!!! no te quiero ver sufrir!
@findemor
@findemor 2 ай бұрын
jajaj yo tampoco me quiero ver sufrir! el objetivo del video era explicar "qué es y como se implementa" una maquina de estados, si uso un componente donde se hace graficamente... el conocimiento se habría quedado limitado a usar un nodo concreto, (¡o al menos eso pense !) La verdad es que ya conozco (y uso) los animation tree. Cómo no! son súper poderosos. Pero oye quiza incluso así los estoy subestimando! Me explico: * Si la maquina es muy pequeña, lo resuelvo rapidamente con un match y unos cuantos estados, no veo necesario meter un animation tree y un animation player y definir varias animaciones. * Si la maquina es mediana, usar el animationTree esta genial. Pagar el precio de andar metiendo animaciones, merece totalmente la pena para tener una representación visual de la propia maquina. Las animaciones de Godot son la bomba y puedes animar cualquier propiedad y llamar a funciones para alterar el estado del nodo que controlas, y con ello su comportamiento. * Pero claro..., si la maquina es muy compleja, o Podría llegar a serlo, no me siento muy comodo con él, ya que las expresiones avanzadas para evaluar el salto de un nodo a otro hay que eescribirlas en el inspector (o llamar a una función en el inspector y escribirlas en el codigo, con lo que empiezan a generarse llamadas desde el inspector que me resulta muy dificil perseguir y mantener). Además, si tengo que evolucionar la máquina y reorganizarla, metiendole herencia a los estados (maquina jerarquica), o un automata con pila (para manejar los estados anteriores) o una maquina concurrente (para manejar dos estados que se pueden combinar), pues sinceramente, ahi tengo la sensacion que no llega el animation tree. Por otro lado, tambien soy consciente de que yo provengo de Antiguonia y en cuanto siento la minima perdida de control, bajo al barro y me pongo a hacer las cosas a bajo nivel, donde tengo más dominio de lo que estoy haciendo. (por eso hago la máquina de estados a pelo muchas veces, o sigo usando Git por consola, por ejemplo jajaja), y puede que por esa razón no les esté dando más oportunidad. Siento el megacomentario, pero veo que hay debate y me interesa saber si siempre recomiendas/recomendais usar el AnimationTree como máquina de estados, o si hay casos en los que preferís una implementación personalizada (como las que propongo en el video, y que podrías encontrarte en muchos otros lenguajes). Si es intersante podría hacer un video sobre el tema, o mejor, podemos debatirlo entre todos en el proximo directo (cuando toque tal cosa) y asi es más interactivo y puedo aprender más que por los comentarios
@darecagames
@darecagames 2 ай бұрын
@@findemor Ufff megatocho... me encanta jajajaajaja. Hombre, (o mujer o no binario. no quiero ofender a nadie que hoy en día... xD) no digo que una máquina de estados no se tenga que hacer nunca, yo lo que hago es utilizar el AnimationTree/AnimationController(unity, sí soy uno de esos que trabaja con Unity jajaja) para situaciones donde sólo quieres gestionar animaciones basadas en estados simples (Correr, caminar, saltar,agacharse, etc.. ya si utilizas un blendtree(si es 3D claro), que no sé en Godot como se llama, lo bordas). Las máquinas de estados, para mí, tienen sentido para gestionar la lógica compleja del gameplay. En mi mente calenturrienta sería algo así: - Sin máquina de estados: el típico juego de plataformas: Aquí el AnimationTree es suficiente para manejar todas las animaciones y transiciones porque la lógica detrás de las acciones es sencilla y está directamente vinculada a las entradas del jugador (correr, saltar, agacharse, etc.). como mucho evaluas si está en el suelo o no o cosas muy simples que no requieren mucho código extra. - Con máquina de estados: un Metroidvania: por ejemplo el personaje recoge un power-up que afecta sus habilidades, ahí ya se produce un cambio de comportamiento o a lo mejor hay temporizadores que hacen cambiar el comportamiento del jugador... otro ejemplo que requeriría state machines, un juego por turnos, un jrpg :) Un saludo, paz y amor
@lifpk-vh6xb
@lifpk-vh6xb 2 ай бұрын
Finde respondeme con cualquier comentario
@findemor
@findemor 2 ай бұрын
cualquier comentario
1. Introducción a las Maquinas de estados finitos FSM
14:48
Gabriel Casarrubias
Рет қаралды 40 М.
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,9 МЛН
Máquinas de estado. Ejemplos
20:24
Electrónica FP
Рет қаралды 38 М.
¿Cuánto he ganado con mi primer juego en Steam?
13:03
findemor
Рет қаралды 18 М.
Godot Scripts I add to Every Game
12:34
Aarimous
Рет қаралды 46 М.
How to Add Interaction in Godot 4
16:48
Nagi
Рет қаралды 22 М.
¿Por qué este Algoritmo está en tantos Videojuegos? - A* Explicado
15:38
Godot 4 - Tiled Dungeon Environment From Scratch
26:24
DevLogLogan
Рет қаралды 439 М.
100 horas usando Godot
9:17
Germán Coronel
Рет қаралды 39 М.
Recreando Astrobot en Godot
14:22
Germán Coronel
Рет қаралды 21 М.
every step to actually make your dream game (then sell it)
24:27