Recreando MECÁNICAS de Videojuegos en GODOT
Вставка
- Опубліковано 17 тра 2024
- En este vídeo voy a recrear 2 mecánicas interesantes de dos videojuegos:
- El Gancho de Hollow Knight: Silksong (No ha salido, pero por el trailer me puedo imaginar cómo va a ser)
- La mecánica de tragar de Kirby
Vídeo de haciendo el movimiento de Mario Bros. 3 en Godot: • Cómo hacer MARIO BROS ...
Vídeo de cómo funciona el agua en los viedojuegos: • AGUA en Videojuegos: C...
Gracias a @Thuiro. y a @LucasYT1122 por las ideas de mecánicas en el vídeo.
Y gracias a ti por verlo ;) - Ігри
Increíble cómo te quedó el movimiento de Hornet la verdad, super curioso cómo lo resolviste 👌
Rig!!!!! Muchas gracias por tus palabras y por pasarte por este canal :)
ostras Rig
Que cojones el del duolingo???
Es Rig es real quiero una foto con el
Los canales que yo veo siempre ven los otros canales que yo veo.
Para simular los movimientos suaves se podria usar una curva bezier, en los docs de godot tienen un ejemplo.
se podria asignar el progreso de la animacion = curva_bezier((0, 0), (0, 1), (1, 1), tiempo de la animacion), los 3 puntos son ajustables y se pueden agregar mas para tener mas control, esto da un efecto de que empieza lento a la mitad va rapido y despues termina lento
tambien encontre un tutorial en youtube con un ejemplo de godot
Muchas gracias!! Lo miraré
Buen video crack muy unica la tematica ya que hay muy poca documentación de godot 4 y aprender a hacer mecanicas es difícil, bueno te deseo suerte y te dejo una suscripción
Se que esto es estúpido,pero como puedo recrear un salto correctamente en godot,apenas empiezo con el motor😅
Lo que yo hago es crear una variable gravedad y restarle alguna cantidad cada frame. Luego cuando se pulsa el botón y está en el suelo le aplico a esa gravedad algún otro valor. Al final le aplico a la velocidad en Y la variable gravedad. No sé si me explico jaja...
Lo explico mejor en estos vídeos:
ua-cam.com/video/Iqw-7udD6wE/v-deo.html
ua-cam.com/video/NRQf3JXlo1A/v-deo.html
Mucha suerte! Cualquier problema que tengas me dices ;)
Muchísimas gracias por tu ayuda men jaja,te has ganado un subscriptor fiel,voy a ver esos vídeos a ver qué tal,pq entendí a medias😂,pero bueno gracias ✌️
Este canal me va ha ayudar mucho pues justo me estoy replanteando pasarme a godot y te descubro a ti que eres como un Ginxu de me ayudará en mi aprendizaje
@@user-pu1fc9dd4j eso intento, que se parezca a Guinxu y demás gente porque son mis canales favoritos :)
No hay preguntas estúpidas, y creo que mucho menos si se habla de programación
Amigo, para lo pequeño que es tu canal, tienes demasiado talento y potencial, muchas felicidades, muy buen vídeo, me encantó eso de ver como se pueden recrear ciertas mecanicas muy conocidas!
Muchísimas gracias :D
Acabo de descubrir este canal y me encató sigue así bro que gran video 😊
Me alegra oír eso :D
Me ha gustado el video, me suscribo!
Muchas gracias! :)
Muy bueno el contenido, ayuda bastante para que mas gente se anime a usar Godot.
Al principio como pasatiempo comenze como Dev para Videojegos utilizando Godot (nunca hice nada xD) pero termine eligiendo Back como profesion y con eso estoy ahora.
Exitos en tu canal
Gracias! Suerte a tí también!
esta interesante tu contenido, hace poco estoy viendo un crecimiento de contenido de Godot y me anima a aprender a programar ahi para en un futuro hacer juegos
Muchas gracias!! Me gusta ver cómo la comunidad de Godot crece :)
Oooh, tus videos son geniales, realmente interesante ver como recreas la succión y el gancho
Silksongs es real,lo vi en este video
Porcierto una duda, ¿como podría ser posible crear una especie de agujero negro que atrae al personaje, se podría usar lo que implementaste con Kirby, pero en vez de ser un enemigo sea el actor principal?
Muchas gracias! 😊
Lo del agujero negro supongo que también se puede hacer con lo de Kirby, tan solo crea un área y haz algo parecido a lo del vídeo ;)
Además, ahora que lo pienso, si le aplicas alguna otra fuerza aparte de la del agujero negro podría quedar genial! Pruébalo y me dices que tal queda :)
@@inigodot oooh, muy bien, gracias por los Tips, intentare hacerlo
Buen video bro,nuevo sub
Increíble video
Bueno video! Me suscribi
Muchas gracias! 😊
Buen vídeo por cierto
Muy bueno, like.
Gracias por tu contenido me gusta que la comunidad de godot en español cresca ya de por si se es difícil conseguir tutos en inglés, asi que se agradece capo
Gracias a tí por verlo :)
Me encanta como está creciendo la comunidad de Godot!
¡Increíble vídeo! Muchísimas gracias por recrears mecánica del gancho de hornet, ya tengo más claro como lo hare para mk proximo juego.
A y otra cosa¿Y si en vez del área de colision haces q el jugador tire otra colision mss pequeña (la ounta del gancho) que al comisionar con alguna pared por ejemplo el jugador valla hacia donde impacto la otra colision(valla hacía la dirección donde esta ma punta del gancho) quedaria el mismo resultado? Además creo q así se podria hacer q cusndo lanze el gancho se crea una linea que sería la cuerda.
Gracias! El problema de lo que dices es que no podría saber el juego hacia dónde quieres lanzar el gancho en un inicio. Lo que podrías hacer es con mi método detectar la posición a la que quieres lanzar el gancho y en lugar de que el personaje vaya hacia ahí, lanzar el gancho hacia ahí (entonces puedes usar tu método). Espero que me explique :)
@@inigodot Ess verdad tienes razónnnnn, graciassss, eso quería hacer jaja y me resolviste otro problema.
Buen video nuevo seguidor 👍
Gracias :)
MAS VIDEOS ASI PORFAVOR!!
Creo que haré parte 2 de esto ;)
Que buen video tio, increible 🎉
Gracias! 😊
Excelente capo! Un nuevo sub❤
Muchas gracias :)
Hola estaba pensando que estaría bueno un tutorial de como hacer cinemáticas en 2d en el Godot actual
Buen video porcierto esta entretenido y además aprendes cosas nuevas
Muchas gracias! Me gusta mucho la idea, si hago una parte dos de esto, la usaré ;)
el de Silksong te quedo muuuuy GOOOOD
Que gran video!
Gracias!!
Buen video
Hola!! Te sigo desde hace tiempo :) Muchas gracias por pasarte por aquí 😊
podrias hacer uno de como funcionan las manos de rayman en el primer rayman(que cada ves valla mas lejos mientras mas se cargue y que se pueda agarrar a unas cosas raras)
Eso parece complicado, pero me interesa. Puede que en algún futuro vídeo lo haga :)
increíble!!!!
Esta cool sigue asi
Gracias :)
Gracias por el tutorial estoy empezando en godot y quiero hacer un videojuego en el que el personaje principal tiene un gancho ahora me falta hacer que se mueva y salte😅
Suerte!
Nuevo sub! Me estoy adentrando en godot
Muchas gracias! Ánimo con Godot :D
Puedes recrear un sistema de cartas tipo slay the spire? Eso sería muy interesante de ver, sobre todo si hubiera efectos secundarios. Nuevo sub por cierto
Uff, eso es complicado pero puede que lo intente en algún futuro vídeo
buen video
eres un grande mano :D
Buen video mi blo
Gracias mi blo
Jajaja haces que parezca super fácil hacer las cosas con godot, provoca aprender viendo estas cosas 😂
Mecánicas qué me gustaría ver?
Algunas de Castlevania SOTN, como el caminar de Alucard, que es muy suave las animaciones y ese efecto de rastro qué deja al principio de caminar.
Si hago parte dos , trataré de incluir alguna de esas ;)
Yo estuve analizando como hacer el movimiento de un beat em up, caminar parecía sencillo lo que me complico era el salto en el falso 3d
Lo conseguiste? Tiene pinta de ser muy complicado de hacer
Muy Buen Video like+sub . Tambien soy programador de godot y que tal un reto algo mas complejo : El balanceo de spiderman
Uuu.. me interesa. Cuando haga parte dos probablemente lo haga :)
3:03 El enemigo... 🤣
XD
genial
muy bueno tu canal, deberías hacer un vídeo de cómo aprendiste a usar godot y enseñar a principiantes
Podría hacerlo sí, gracias por la idea!
Podrías, por favor. En una próxima edición, recrear la mecánica de agarrar, soltar y patear la caracola de Super Mario World.
Agarrar: Cuando el jugador se acerca a la caracola y preciona para agarrar, la caracola se pega al jugador siguiendo todos sus movimientos, creo que el término correcto que se usa es, la caracola pasa a ser hijo del jugador.
Soltar: Al dejar de presionar el botón de agarrar, la caracola deja de ser hijo del jugador y aplica una fuerza "patada" y sale disparada a la dirección que el jugador mira, tambien se podría aplicar fuerza de patasa en Y, para que se dispare hacía arriba.
Patear: El jugador al entrar en contacto con la caracola y no pulsa la tecla de agarrar, entonces pateará la caracola.
Nota: Si el jugador no aumenta su velocidad al patear o soltar la caracola, esta salera disparada con la fuerza patada, si corre y golpea o suelta la caracola, la caracola sale disparada con mayor velocidad.
Cuando la caracola choca contra un muro cambia su velocidad al lado contrario, esto para que vaya de izquierda a derecha dependiendo si choca contra un muro que está a la izquierda o derecha.
Tener en cuenta que la caracola no puede afectar las físicas del jugador ni su colisión.
Te dejo un video que podría ayudar: ua-cam.com/video/5UH8p91KOQ8/v-deo.htmlsi=g04BXOnX_HK0HqtR
Me encanta la idea!!! Es muy probable que en la siguiente parte lo haga porque me llama mucho la atencion :)
Pd: Muchas gracias por la ayuda :D
@@inigodot gracias a ti, gracias a las mecánicas, ayudas a muchos a introducirlas a sus juegos
@@inigodot Pd: la caracola se detiene al saltar encima de la caracola.
con esto se podría hacer shell jump, que es algo muy divertido de hacer.
Muito bom seu conteudo, otimo video!
Gracias! 😄
Seria genial parte 2 con mecanicas como la de megaman zero o castlevania
Sí, hay ya varios comentarios pidiendo parte 2 jaja. Supongo que la haré porque me ha gustado mucho hacer el vídeo. Me apunto tus ideas 👍
la primera parte alomekor se podria hacer calculando el angulo desde la posicion del personaje hasta el objetivo y luego sumar a la velocidad delta*cos() para el eje X y con sin()para el Y
Sí, creo que sí, pero yo lo he hecho más fácil con la función look_at() 😅
Heartbeast tiene un tutorías de plataformas con un movimiento suuuuper suave, checalooo
Ok muchas gracias :D
Me gustaria una guía para principiantes, desde aprender a hacer pixel art simple a crear funciones basicas
Nuevo sub.
Alto videooo.
Gracias! Había pensado hacer en un futuro una guía ultra completa para aprender a hacer TODO. El juego en sí, los gráficos, la música, etc.
Aunque esto sería dentro de bastante tiempo, porque aún no me apetece hacerlo.
@@inigodot me parece bien, esperaré lo que sea necesario jajaja.
Se me ocurrio hacer que el gancho solo funcione en lateral y que cuando lo lances siga hacia adelante hasta chocar con una parer y si esta condición se cumple el jugador se desplazara hacia dicha posición,me parece que tu codigo podria funcionar para hacer algo tipo el balanceo de spider-man
Probaré! Para la parte 2 tenía pensado hacer el balanceo de Spiderman así que perfecto 👌
Como recrear la mecanicas de combates de Super Mario RPG esas de que si precionas A en el momento adecuado haces mas daño entre othras
Uff, no sé exactamente, pero si hago parte 2, puede que lo intente!
Vale, me suscribo y pido esta mecanica:
- Crear un nuevo gráfico compuesto de otros dos pegados, y que se exporte en una carpeta predeterminada el gráfico resultante
Ojo que no he dicho la posición de cada gráfico, ha de ser donde se quiera, evidentemente, pero tiene que ser exportado como .png con su partes transparentes...
¡Ánimo! que lo sacas fijo
Wow! Eso suena complicado, pero ahora que lo pienso, puede que no lo sea tanto. Me lo apunto para la parte dos de este vídeo! :)
oye vi un tutorial de como integrar Ollama en Godot via API del canal gamedev argentina, puedes hacer uno tambien pero de forma offline? (si es que puedes), por si acaso Godot tiene en su assets library un addon llamado Fuku para chatear con Llama2 (o 3) dentro del inspector de Godot, al parecer es como un Github copilot
Lo siento, pero he entendido 2 palabras jajaja. No se cómo se pueden hacer esas cosas
eres el duolingo pero de godot? ( re buenardo el video he estado pensando en probar godot)
Duolingo de Godot jajaja
0:04 Silksong no sale mañana 😢😢😢.
Increible vídeo.
Me gustaria preguntar, quiero hacer una mecanica gacha para conseguir personajes, que salga un personaje aleatorio a cambio de algo, pero no se como hacerlo y no encuentro tutoriales de algo asi.
Uff, no se como hacer eso, pero puede que en una siguiente parte lo haga.
De todos modos, te recomiendo intentar hacerlo tú sol@, porque así es como más se aprende, probando. Suerte!
@@inigodot gracias, intentaré hacerlo por mi cuenta, pero si lo logro o no, me gustaría ver un video donde lo intentas. Y de nuevo gracias por el consejo
👏
Hola la realidad es que soy un principiante en godot pero segun tengo entendido la funcion lerp() ayuda muchisimo a manejar friccion y aceleracion recomiendo que la investigues.
Lo intenté, pero por lo que vi sólo sirve para movimientos en todas las direcciones (arriba, abajo, izquierda y derecha). Aunque no termino de entender cómo funciona el lerp(), así que igual sí se podría hacer con eso.
De todas formas, gracias por tu consejo :D
Falta algo onda Mix And Jam de Unity, pero en Godot.
No lo conocía, buen canal 👍
el enemigo XD epico
El jefe final jaja
❤
Hola capo, te doy la solución nada compleja y facilita.
Debes tener una variable que sea "fricción" u otro nombre
Esa variable debe siempre multiplicarse por si misma por 0.85
(friccion = friccion * 0.8)
Y cuando presionas una tecla suma a fricción en 1.
Listo
Muchísimas gracias! Luego lo pruebo :)
capo!
Gracias :)
has parte dos por fa
Puede que lo haga, porque me ha gustado hacer el vídeo :)
Coco, ¿que apenas tienes suscriptores? Me suscribo 👻
Gracias :)
Podrias recrear las fisicas de sonic 2? Con el spindash xfa👋🏻👋🏻
Me gusta la idea, si hago parte dos puede que lo haga :)
Recién empecé con el moto hacer 5 días estoy creando un juego y está quedando bueno el único problema son las señales 🥲 cuando creo una señal custom no me deja hacer que otro nodo se conecte tienes alguna idea de porque? Por cierto me encantó el video fue muy interesante cuanto llevas con el motor?
Hola! Llevo con Godot unos pocos meses (desde febrero).
En cuanto a tu problema, no se por qué no te funciona. Como estás creando tus señales?
@@inigodotbueno respecto al problema tuve q meterme a un discord de un canal importante de habla inglesa y lo resolví era que yo no sabía que no se podía aplicar una señal desde el hijo de una scena que es a su vez hijo del nodo principal un lío de cojones básicamente 🫠 pero gracias por ayuda no pensé que me contestaras tan rápido 👍
Espero y algun dia hagas un devblog de un proyecto serio
Aún no quiero empezar un proyecto serio porque sé que de aquí a unos años pensaré que mi código es basura XD
@@inigodot jajaja para mí se ve muy fluido solo falta que los sprites tengan más sprite, conoces a alguien que hace diseño en pixelart?
@@Thuiro. No, no conozco, pero estoy probando nuevos estilos, a ver si consigo hacer algún otro tipo de arte :) (Pronto lo enseñaré en mi canal ;))
hola creo que estaria bien que hagas la mecanica de un juego RHYTHM (juego de baile ejemplo guitar hero, friday night funkin)
Me encanta la idea! En una próxima parte probablemente lo haga ;)
para suavizar el movimiento del gancho yo probaría con una curva bezier
escribí el comentario dos veces pensando que youtube me lo elimino 😶
XD
Hey, qué tal, podrías enseñar cómo hacer un enemigo estilo doom? Estoy haciendo un juego 3d con sprites 2D pero no me sale hacer el efecto de que se vean sprites de frente, costado y atrás
Se me ocurre que podrías detectar desde que ángulo está el jugador mirando al enemigo y cambiar de Sprite según el ángulo, aunque no sé exactamente cómo hacer eso. Prueba lo que se te ocurra. Suerte!
@@inigodot estoy intentando
ya que estas con hollow night podrias implementar el tipo de camara tan caracteristico que tiene?
Creo que es bastante complicado pero puede que lo intente en la siguiente parte :)
@@inigodot Muchas gracias, intente recrearlo para un "videojuego" que hice pero como no se gastar del todo bien Godot (ya que solo programo como hobby) pues no tenia ni idea, además el único video que encontré sobre el tema estaba hecho en Unity.
no uso godot pero me gusto tu contenido ☺
Podria usted crear un tutorial de como crear un arbol que se pueda talar(estilo terraria o stardewValley) que cuando se este talando sea con determinadas veces de la animacion talar( ejemplo arbol grande 5 veces, arbol mediano 3 veces, arbol pequeño 2 veces) y que tiemble el arbol al talarse y que al llegar a la cantidad de talar aga animacion de caerse y al caerse deje objetos ????
Lo necesito, estoy estancado en eso
En juegos 2d
Se me ocurre que podrías hacerlo con un area2D:
Le pones un área al árbol en la zona en la que quieres que se pueda talar y detectas cuándo se está pulsando el botón de talar (con if Input.is_action_just_pressed("nombre de la acción")) y el personaje está en el área, y entonces le sumas un punto a una variable (le puedes llamar golpes, o algo así). Entonces detectas cuándo esa variable llega a x valor "( ejemplo arbol grande 5 veces, arbol mediano 3 veces, arbol pequeño 2 veces)" y lo haces desaparecer o haces la animación o lo que quieras.
En cuanto a las animaciones, crea animaciones para cuando golpeas y para cuando el árbol se cae, y añade play("nombre de la animación") a los momentos donde la animación debería reproducirse.
Espero que te funcione ;) Cualquier duda dime.
También para lo de los objetos, haz que el árbol al desaparecer emita una señal (que crees tú) y instancie esos objetos
@@inigodot no podria usted crear un video tutorial ?? Es que soy muy torpe
Disculpa que godot usas? Y si usas el 4 no sabes si es muy diferente al 3.6?
Uso el más actual, creo que es el 4.2 o algo así. Creo que no han cambiado mucho, sólo que la 3.6 no tiene tanta potencia
cine 🗿🚬
porfavor recrea el modo 7 (el 3d falso de snes)
Eso es complicado! Aunque se me ocurren dos formas: la primera sería hacer un juego en 3D y luego pixelarlo, pero esto sería bastante cutre. La otra forma sería hacer lo que hace la snes, pero sería muy com de recrear
¿Puedes hacer el mach rub de pizza tower?
Igual es porque no le he jugado jaja, pero que es el mach rub?
@@inigodot mach run me equivoque es que cuando corre toma velocidad por etapas y dependiendo la etapa puede romper siertos bloques
@@inigodot por cierto muy buenos videos
@@LeepLeepzing Ah, entonces es fácil, sólo tendrías que hacer que vaya consiguiendo más velocidad según pasa el tiempo y si su velocidad es mayor a una cantidad determinada, es capaz de romper esas cosas
@@inigodot gracias, lo necesitaba para hacer una mini recreación
Jaja el enemigo era unity
Sí jaja
0:29 ¿Qué juego es ese? ¿Alguien sabe donde puedo jugarlo?
Hollow Knight Silksong, no ha salido y a este paso tampoco saldrá 😢. (Lleva anunciado como 5 años)
Si sigues jaciendo contenido tan bueno en nada tendrás miles de segyidores
Muchas gracias :)
Disculpa podrias dejar el codigo de Kirby porfavor.
GRACIAS!!!
extends CharacterBody2D
var speed = 25000
@onready var anim = $AnimatedSprite2D
var gravedad = 0
var can_jump = true
var timerOn = false
var eating = false
var enemigo_dentro = false
var enemigo
func _physics_process(delta):
var direction = Input.get_axis("left", "right")
if Input.is_action_pressed("run"):
if direction != 0:
anim.play("run")
speed = 40000
else:
if direction != 0:
anim.play("walk")
speed = 15000
if direction == 0:
anim.play("idle")
if direction != 0:
if direction > 0:
anim.flip_h = false
if direction < 0:
anim.flip_h = true
if Input.is_action_pressed("eat"):
anim.play("eat")
speed = 0
$GPUParticles2D.emitting = true
eating = true
else:
$GPUParticles2D.emitting = false
eating = false
velocity.x = direction * speed * delta
move_and_slide()
if is_on_floor():
can_jump = true
else:
gravedad -= 25
if Input.is_action_pressed("jump") and can_jump:
if timerOn == false:
timerOn = true
$Timer.start()
gravedad = 600
anim.play("jump")
if Input.is_action_just_released("jump"):
can_jump = false
velocity.y = -gravedad
if enemigo_dentro and eating:
enemigo.look_at(self.position)
enemigo.position.x -= 5
if enemigo.position.x -position.x < 30:
enemigo.queue_free()
print(str(enemigo.name) + " " + str(enemigo.get_groups()))
func _on_timer_timeout():
can_jump = false
timerOn = false
func _on_area_2d_body_entered(body):
if body.is_in_group("enemigo"):
enemigo_dentro = true
enemigo = body
func _on_area_2d_body_exited(body):
if body.is_in_group("enemigo"):
enemigo_dentro = false
Conecta las señales correctamentey debería funcionar. Lo del Timer y esas cosas son el salto, lo explico más aquí: ua-cam.com/video/NRQf3JXlo1A/v-deo.html
Si tienes alguna duda dime ;)
@@inigodot Muchas GRACIAS cuando llegue a casa lo pruevo