Ha sido brutal!! Yo lo quiero si, todo! Statemachine, healthcomponent, hitboxcomponent, inventory!! Tambien como implementar una musica y jugarlo como muchos clasicos como guitar her.o, piano tiles, drm, etc! Tambien hacer que el personaje de las bombas al coger powerup aumente su rango de expansion o la calavera nos dañe el teclado! XD o un multiplayer local o online o por host! Gracias les recomendare a mis amigos y familiares tus tutoriales y si tienes juegos tambien!
Bro como andas? Hace bastante no subis, como podría implementar este sistema pero para escenas? Osea me gustaría que aparezca una imagen del mapa y luego lo cargue
Hola, se me perdio este comentario :( , no subia por problemas de tiempo y estado de animo, se agradece el apoyo dado durante todos estos meses! Lo que estas buscando hacer es un selector de niveles?, aun te interesa el video o prefieres que se haga otra cosa?, actualmente estoy haciendo una encuesta en la seccion comunidad, al parecer la gente quiere que se haga otra serie para crear un juego completo, si tienes en mente algun genero de juego soy todo oidos :)
Muy buen canal y contenido, ojala te vaya muy bien y crezcas rápido. Sería bueno ver un video o una serie sobre la creación de un juego de mesa tipo lanzar un dado y que el dado indique el orden de los jugadores siendo el que saque el numero del dado con el 1 el que inicia y asi sucesivamente. Y exista un lobby donde los jugadores seleccionan una ficha puede ser por colores la misma ficha y de ahi al tablero, y poder colocarla donde gusten. Un juego estilo catan o mucho mas simple, simplemente para tener la base de un juego de mesa, me parece que es un ejercicio que serviría para aprender muchas cosas de godot desde transiciones de escenas entre menus y demás que ya tienes en el canal (que se pueden acelerar en el video) hasta la seleccion de fichas, en un multijugador local o seleccion de personajes por turno descartando los mismos personajes hasta el que queda de ultimo como el unico personaje o ficha para el ultimo jugador que implicaria una logica de azar por el dado pero de descarte a la hora de seleccionar para el ultimo jugador. Espero darme a entender, me gusto demasiado como explicas y el contenido del canal, te agradezco de antemano por todo el conocimiento que brindas
soy nuevoo y buen video! sirve bastante porqe no hay tanta info aun sobre godot! te qeria preguntar si se podria hacer mas complejo siguiendo los mismos pasos?.. por ejemplo.. seleccionar el personaje.. y nose cambiarle el tipo de cuerpo o el peinado para qe sea mas personalizado cuando alguien lo crea.. ese tipo de cosas nadie las hace en tutoriales 😂
Hola ,podrias crear un minecraft de voxels pero explicando como hacer para ponerle las texturas, es decir las imagenes png como tierra,piedra,hierva,arena etc... podrias ? Obvio explicandolo todo lo demas cosas, creo que podria ser mucho tiempo de video pero me gustaria ver uno en español y al completo porque los otro idiomas no entiendo mucho ( aviso de antemano)😅
Me gustaria que usaras el que ya existe en la libreria de godot que se llama ( Voxels game demo ) y explicaras todo el codigo de la parte mundo ( escena de world ) es donde esta todo de el terreno para que expliques y podamos modificarlo para añadir texturas, porfavor 🙏🙏🙏🙏
Hola, como ago para conectar en el boton de jugar ( como el tuyo es OK) con la seleccion, es que el mio es distinto y no se como 🤔 ----------------------------- extends CharacterBody2D #-----------------------variables--------------------------------- @onready var jugadores = $AnimatedSprite2D var input_dir var moverse = false const tile_size = 16 var character_skin #-----------‐---funciones--------------------------------------- func _ready() -> void: character_skin = $Sprite2D character_skin.texture = Game.jugadores #-------------movimiento--jugador------------------------ func _physics_process(_delta): input_dir = Vector2.ZERO if Input.is_action_pressed("ui_down"): input_dir = Vector2(0, 1) $jugadores.play("player0-abajo") mover() elif Input.is_action_pressed("ui_up"): input_dir = Vector2(0, -1) $jugadores.play("player0-arriba") mover() elif Input.is_action_pressed("ui_right"): input_dir = Vector2(1, 0) $jugadores.play("player0-derecha") mover() elif Input.is_action_pressed("ui_left"): input_dir = Vector2(-1, 0) $jugadores.play("player0-izquierda") mover() if input_dir == Vector2.ZERO: if $jugadores.animation == "player0-abajo": $jugadores.play("player0-idle-abajo") elif $jugadores.animation == "player0-arriba": $jugadores.play("player0-idle-arriba") elif $jugadores.animation == "player0-izquierda": $jugadores.play("player0-idle-izquierda") elif $jugadores.animation == "player0-derecha": $jugadores.play("player0-idle-derecha")
move_and_slide()
func mover(): if input_dir: if moverse == false: moverse = true var tween = create_tween() tween.tween_property(self, "position", position + input_dir * tile_size, 0.10) tween.tween_callback(mover_falso) func mover_falso(): moverse = false ---------------------------------- Para que comprendas en la escena de (seleccion de jugadores) puse esto ----------------------- extends Node2D func _process(_delta: float) -> void: match Game.jugadores: 0: get_node("jugadores").play("player0") get_node("des").text = "clase: gbc color: blanco" 1: get_node("jugadores").play("player1") get_node("des").text = "clase: gbc color: blanco" 2: get_node("jugadores").play("player2") get_node("des").text = "clase: gbc color: blanco" 3: get_node("jugadores").play("player3") get_node("des").text = "clase: gbc color: rosa" 4: get_node("jugadores").play("player4") get_node("des").text = "clase: gbc color: azul" 5: get_node("jugadores").play("player5") get_node("des").text = "clase: gbc color: verdillo" 6: get_node("jugadores").play("player6") get_node("des").text = "clase: gbc color: verde" 7: get_node("jugadores").play("player7") get_node("des").text = "clase: gbc color: rojo" 8: get_node("jugadores").play("player8") get_node("des").text = "clase: gbc color: naranja" 9: get_node("jugadores").play("player9") get_node("des").text = "clase: gbc color: morado" 10: get_node("jugadores").play("player10") get_node("des").text = "clase: gbc color: mora" 11: get_node("jugadores").play("player11") get_node("des").text = "clase: gbc color: marron" 12: get_node("jugadores").play("player12") get_node("des").text = "clase: gbc color: celeste" 13: get_node("jugadores").play("player13") get_node("des").text = "clase: gbc color: arena" 14: get_node("jugadores").play("player14") get_node("des").text = "clase: gbc color: amarillo" 15: get_node("jugadores").play("player15") get_node("des").text = "clase: gbc color: mora" 16: get_node("jugadores").play("player16") get_node("des").text = "clase: gbc color: marron" 17: get_node("jugadores").play("player17") get_node("des").text = "clase: gbc color: celeste" 18: get_node("jugadores").play("player18") get_node("des").text = "clase: gbc color: naranja" 19: get_node("jugadores").play("player19") get_node("des").text = "clase: gbc color: morado" 20: get_node("jugadores").play("player20") get_node("des").text = "clase: gbc color: amarilloClaro" 21: get_node("jugadores").play("player21") get_node("des").text = "clase: gbc color: verdeMelon" 22: get_node("jugadores").play("player22") get_node("des").text = "clase: gbc color: verde" 23: get_node("jugadores").play("player23") get_node("des").text = "clase: gbc color: rosa" 24: get_node("jugadores").play("player24") get_node("des").text = "clase: gbc color: azulOscuro" 25: get_node("jugadores").play("player25") get_node("des").text = "clase: gbc color: azul" 26: get_node("jugadores").play("player26") get_node("des").text = "clase: gbc color: amarilloOscuro" 27: get_node("jugadores").play("player27") get_node("des").text = "clase: gbc color: marron" 28: get_node("jugadores").play("player28") get_node("des").text = "clase: gbc color: mora" 29: get_node("jugadores").play("player29") get_node("des").text = "clase: gbc color: celeste" 30: get_node("jugadores").play("player30") get_node("des").text = "clase: gbc color: morado" 31: get_node("jugadores").play("player31") get_node("des").text = "clase: gbc color: naranja" 32: get_node("jugadores").play("player32") get_node("des").text = "clase: gbc color: verde" 33: get_node("jugadores").play("player33") get_node("des").text = "clase: gbc color: amarillo" 34: get_node("jugadores").play("player34") get_node("des").text = "clase: gbc color: verdeMelon" 35: get_node("jugadores").play("player35") get_node("des").text = "clase: gbc color: rosa" 36: get_node("jugadores").play("player36") get_node("des").text = "clase: gbc color: azul" 37: get_node("jugadores").play("player37") get_node("des").text = "clase: gbc color: rojo" func _on_atras_pressed() -> void: get_tree().change_scene_to_file("res://Escenas/Menu/seleccion_jugar.tscn") func _on_izquierda_pressed() -> void: if Game.jugadores > 0: Game.jugadores -= 1 func _on_derecha_pressed() -> void: if Game.jugadores < 2: Game.jugadores += 1 func _on_arriba_pressed() -> void: if Game.jugadores > 3: Game.jugadores -= 1 func _on_abajo_pressed() -> void: if Game.jugadores < 38: Game.jugadores += 1 func _on_jugar_pressed() -> void: Game.jugadores get_tree().change_scene_to_file("res://Escenas/MundoAbierto/mundo_abierto_1.tscn") Me gusto tu metodo asi hice que player este solo con un sprite vacio, uso (animatedSprite2D) en el selector de jugadores, pero me falta solo eso, como ponerle el codigo en el boton jugar lo que falta, usted dijo( index ) no se cual seria en el mio 🤔
que practica es mejor, crear la escena de un menu en un canvas layer o en un nodo 2d? y por que uno por sobre el otro? en mi caso yo aprendi a hacerlos asi, en un nodo 2d... (hace poco empece con godot)
Bienvenido al magico mundo de Godot :p , hasta donde he visto el CanvasLayer tiene cosas interesantes que facilitan las cosas un poco cuando quieres crear Interfacez "fijas" en pantalla (asi no te preocupas cuando usas una camara que se mueve por todo el mapa), tambien tiene propiedades de visualizacion distintas a node2D (que la verdad no entiendo aun porque...), por otra parte node2d se usa en ambito mas general, por ejemplo yo lo uso como contenedor o como nodo raiz generalmente (al igual que tu x3 )
@@Kyme-Game-Studios Teniendo eso en cuenta entonces podria continuar haciéndolo como lo tengo ahora, pero poniendo un Canvas Layer entre el nodo 2d y los componentes del nodo, por ejemplo del menú de inicio. Esa otra manera la aprendí de otro video, pero con el tuyo me surgió esa duda, y tiene sentido que lo implemente
@@Kyme-Game-Studios por cierto me suscribi, me gusta el formato de video que manejas, con explicaciones claras, codigo limpio y directo! Asi da gusto aprender!
@ ya genial, el problema es que me cambié a GDeveloper jajaj y te recomiendo si puedes hacer videos del programa, ya que igual la gente tiene más interacciones por que es más fácil jeje Slds
este tutorial tambien sirve para godot 3.5
tu trabajo será recompensado, enserio
Muy bueno, hasta la próxima entrega !!
Ha sido brutal!! Yo lo quiero si, todo! Statemachine, healthcomponent, hitboxcomponent, inventory!! Tambien como implementar una musica y jugarlo como muchos clasicos como guitar her.o, piano tiles, drm, etc! Tambien hacer que el personaje de las bombas al coger powerup aumente su rango de expansion o la calavera nos dañe el teclado! XD o un multiplayer local o online o por host! Gracias les recomendare a mis amigos y familiares tus tutoriales y si tienes juegos tambien!
Me encanta!!! Quiero verlo modo hype activado
Muy bueno amigo, gracias por la mención y valorar nuestras sugerencias!
Esperamos ese video complementario!
Bro como andas? Hace bastante no subis, como podría implementar este sistema pero para escenas? Osea me gustaría que aparezca una imagen del mapa y luego lo cargue
Hola, se me perdio este comentario :( , no subia por problemas de tiempo y estado de animo, se agradece el apoyo dado durante todos estos meses!
Lo que estas buscando hacer es un selector de niveles?, aun te interesa el video o prefieres que se haga otra cosa?, actualmente estoy haciendo una encuesta en la seccion comunidad, al parecer la gente quiere que se haga otra serie para crear un juego completo, si tienes en mente algun genero de juego soy todo oidos :)
Buenisimo ❤
Ni idea que existía este canal agradezco el tutorial lo compartiré con mis compas, suscrito 👍
Necesito mostrarte lo que me ayudaste a crear !! estoy muy contento y te agradezco profundamente. Abrazo !
Para nada, me alegra que el video te ayudase!! , y claro, seria un gustazo ver lo que lograste!, subelo a la plataforma para conocerlo!
eres muy bueno explicando 👍
Muy buen canal y contenido, ojala te vaya muy bien y crezcas rápido. Sería bueno ver un video o una serie sobre la creación de un juego de mesa tipo lanzar un dado y que el dado indique el orden de los jugadores siendo el que saque el numero del dado con el 1 el que inicia y asi sucesivamente. Y exista un lobby donde los jugadores seleccionan una ficha puede ser por colores la misma ficha y de ahi al tablero, y poder colocarla donde gusten. Un juego estilo catan o mucho mas simple, simplemente para tener la base de un juego de mesa, me parece que es un ejercicio que serviría para aprender muchas cosas de godot desde transiciones de escenas entre menus y demás que ya tienes en el canal (que se pueden acelerar en el video) hasta la seleccion de fichas, en un multijugador local o seleccion de personajes por turno descartando los mismos personajes hasta el que queda de ultimo como el unico personaje o ficha para el ultimo jugador que implicaria una logica de azar por el dado pero de descarte a la hora de seleccionar para el ultimo jugador. Espero darme a entender, me gusto demasiado como explicas y el contenido del canal, te agradezco de antemano por todo el conocimiento que brindas
Se Supeeeeer agradece
excelente video me ayudo mucho
Un gusto leer que te ha ayudado el tuto
Gracias, me ayudaste un monton para el juego que estoy programando
un gustazo poder ayudar (de forma indirecta xd) en sus juegos!
si me interesa el otro video!
soy nuevoo y buen video! sirve bastante porqe no hay tanta info aun sobre godot! te qeria preguntar si se podria hacer mas complejo siguiendo los mismos pasos?.. por ejemplo.. seleccionar el personaje.. y nose cambiarle el tipo de cuerpo o el peinado para qe sea mas personalizado cuando alguien lo crea.. ese tipo de cosas nadie las hace en tutoriales 😂
Agradecido por el comentario y el buen aporte!, voy a considerar hacer una version mas elaborada de este videotutorial😋
bro, yo hice todo pero ya tengo mis personajes con movimiento y animaciones y no se como hacer para que aparescan en el nivel, AYUDAA
Me mandas saludos para tu proximo video?
va!
Hola ,podrias crear un minecraft de voxels pero explicando como hacer para ponerle las texturas, es decir las imagenes png como tierra,piedra,hierva,arena etc... podrias ? Obvio explicandolo todo lo demas cosas, creo que podria ser mucho tiempo de video pero me gustaria ver uno en español y al completo porque los otro idiomas no entiendo mucho ( aviso de antemano)😅
Me gustaria que usaras el que ya existe en la libreria de godot que se llama ( Voxels game demo ) y explicaras todo el codigo de la parte mundo ( escena de world ) es donde esta todo de el terreno para que expliques y podamos modificarlo para añadir texturas, porfavor 🙏🙏🙏🙏
Hola, como ago para conectar en el boton de jugar ( como el tuyo es OK) con la seleccion, es que el mio es distinto y no se como 🤔
-----------------------------
extends CharacterBody2D
#-----------------------variables---------------------------------
@onready var jugadores = $AnimatedSprite2D
var input_dir
var moverse = false
const tile_size = 16
var character_skin
#-----------‐---funciones---------------------------------------
func _ready() -> void:
character_skin = $Sprite2D
character_skin.texture = Game.jugadores
#-------------movimiento--jugador------------------------
func _physics_process(_delta):
input_dir = Vector2.ZERO
if Input.is_action_pressed("ui_down"):
input_dir = Vector2(0, 1)
$jugadores.play("player0-abajo")
mover()
elif Input.is_action_pressed("ui_up"):
input_dir = Vector2(0, -1)
$jugadores.play("player0-arriba")
mover()
elif Input.is_action_pressed("ui_right"):
input_dir = Vector2(1, 0)
$jugadores.play("player0-derecha")
mover()
elif Input.is_action_pressed("ui_left"):
input_dir = Vector2(-1, 0)
$jugadores.play("player0-izquierda")
mover()
if input_dir == Vector2.ZERO:
if $jugadores.animation == "player0-abajo":
$jugadores.play("player0-idle-abajo")
elif $jugadores.animation == "player0-arriba":
$jugadores.play("player0-idle-arriba")
elif $jugadores.animation == "player0-izquierda":
$jugadores.play("player0-idle-izquierda")
elif $jugadores.animation == "player0-derecha":
$jugadores.play("player0-idle-derecha")
move_and_slide()
func mover():
if input_dir:
if moverse == false:
moverse = true
var tween = create_tween()
tween.tween_property(self, "position", position + input_dir * tile_size, 0.10)
tween.tween_callback(mover_falso)
func mover_falso():
moverse = false
----------------------------------
Para que comprendas en la escena de (seleccion de jugadores) puse esto
-----------------------
extends Node2D
func _process(_delta: float) -> void:
match Game.jugadores:
0:
get_node("jugadores").play("player0")
get_node("des").text = "clase: gbc
color: blanco"
1:
get_node("jugadores").play("player1")
get_node("des").text = "clase: gbc
color: blanco"
2:
get_node("jugadores").play("player2")
get_node("des").text = "clase: gbc
color: blanco"
3:
get_node("jugadores").play("player3")
get_node("des").text = "clase: gbc
color: rosa"
4:
get_node("jugadores").play("player4")
get_node("des").text = "clase: gbc
color: azul"
5:
get_node("jugadores").play("player5")
get_node("des").text = "clase: gbc
color: verdillo"
6:
get_node("jugadores").play("player6")
get_node("des").text = "clase: gbc
color: verde"
7:
get_node("jugadores").play("player7")
get_node("des").text = "clase: gbc
color: rojo"
8:
get_node("jugadores").play("player8")
get_node("des").text = "clase: gbc
color: naranja"
9:
get_node("jugadores").play("player9")
get_node("des").text = "clase: gbc
color: morado"
10:
get_node("jugadores").play("player10")
get_node("des").text = "clase: gbc
color: mora"
11:
get_node("jugadores").play("player11")
get_node("des").text = "clase: gbc
color: marron"
12:
get_node("jugadores").play("player12")
get_node("des").text = "clase: gbc
color: celeste"
13:
get_node("jugadores").play("player13")
get_node("des").text = "clase: gbc
color: arena"
14:
get_node("jugadores").play("player14")
get_node("des").text = "clase: gbc
color: amarillo"
15:
get_node("jugadores").play("player15")
get_node("des").text = "clase: gbc
color: mora"
16:
get_node("jugadores").play("player16")
get_node("des").text = "clase: gbc
color: marron"
17:
get_node("jugadores").play("player17")
get_node("des").text = "clase: gbc
color: celeste"
18:
get_node("jugadores").play("player18")
get_node("des").text = "clase: gbc
color: naranja"
19:
get_node("jugadores").play("player19")
get_node("des").text = "clase: gbc
color: morado"
20:
get_node("jugadores").play("player20")
get_node("des").text = "clase: gbc
color: amarilloClaro"
21:
get_node("jugadores").play("player21")
get_node("des").text = "clase: gbc
color: verdeMelon"
22:
get_node("jugadores").play("player22")
get_node("des").text = "clase: gbc
color: verde"
23:
get_node("jugadores").play("player23")
get_node("des").text = "clase: gbc
color: rosa"
24:
get_node("jugadores").play("player24")
get_node("des").text = "clase: gbc
color: azulOscuro"
25:
get_node("jugadores").play("player25")
get_node("des").text = "clase: gbc
color: azul"
26:
get_node("jugadores").play("player26")
get_node("des").text = "clase: gbc
color: amarilloOscuro"
27:
get_node("jugadores").play("player27")
get_node("des").text = "clase: gbc
color: marron"
28:
get_node("jugadores").play("player28")
get_node("des").text = "clase: gbc
color: mora"
29:
get_node("jugadores").play("player29")
get_node("des").text = "clase: gbc
color: celeste"
30:
get_node("jugadores").play("player30")
get_node("des").text = "clase: gbc
color: morado"
31:
get_node("jugadores").play("player31")
get_node("des").text = "clase: gbc
color: naranja"
32:
get_node("jugadores").play("player32")
get_node("des").text = "clase: gbc
color: verde"
33:
get_node("jugadores").play("player33")
get_node("des").text = "clase: gbc
color: amarillo"
34:
get_node("jugadores").play("player34")
get_node("des").text = "clase: gbc
color: verdeMelon"
35:
get_node("jugadores").play("player35")
get_node("des").text = "clase: gbc
color: rosa"
36:
get_node("jugadores").play("player36")
get_node("des").text = "clase: gbc
color: azul"
37:
get_node("jugadores").play("player37")
get_node("des").text = "clase: gbc
color: rojo"
func _on_atras_pressed() -> void:
get_tree().change_scene_to_file("res://Escenas/Menu/seleccion_jugar.tscn")
func _on_izquierda_pressed() -> void:
if Game.jugadores > 0:
Game.jugadores -= 1
func _on_derecha_pressed() -> void:
if Game.jugadores < 2:
Game.jugadores += 1
func _on_arriba_pressed() -> void:
if Game.jugadores > 3:
Game.jugadores -= 1
func _on_abajo_pressed() -> void:
if Game.jugadores < 38:
Game.jugadores += 1
func _on_jugar_pressed() -> void:
Game.jugadores
get_tree().change_scene_to_file("res://Escenas/MundoAbierto/mundo_abierto_1.tscn")
Me gusto tu metodo asi hice que player este solo con un sprite vacio, uso (animatedSprite2D) en el selector de jugadores, pero me falta solo eso, como ponerle el codigo en el boton jugar lo que falta, usted dijo( index ) no se cual seria en el mio 🤔
Solo puse en el player el movimiento (por grid), tambien esta lo que usted dijo sobre (character_skin)
tambien por lo que los tengo con un AnimatedSprite me sale error y no se como solucionarlo
hola que tal, pudiste solucionar tu problema?, que error te sale en la consola?
que practica es mejor, crear la escena de un menu en un canvas layer o en un nodo 2d? y por que uno por sobre el otro? en mi caso yo aprendi a hacerlos asi, en un nodo 2d... (hace poco empece con godot)
Bienvenido al magico mundo de Godot :p , hasta donde he visto el CanvasLayer tiene cosas interesantes que facilitan las cosas un poco cuando quieres crear Interfacez "fijas" en pantalla (asi no te preocupas cuando usas una camara que se mueve por todo el mapa), tambien tiene propiedades de visualizacion distintas a node2D (que la verdad no entiendo aun porque...), por otra parte node2d se usa en ambito mas general, por ejemplo yo lo uso como contenedor o como nodo raiz generalmente (al igual que tu x3 )
@@Kyme-Game-Studios Teniendo eso en cuenta entonces podria continuar haciéndolo como lo tengo ahora, pero poniendo un Canvas Layer entre el nodo 2d y los componentes del nodo, por ejemplo del menú de inicio. Esa otra manera la aprendí de otro video, pero con el tuyo me surgió esa duda, y tiene sentido que lo implemente
@@Kyme-Game-Studios por cierto me suscribi, me gusta el formato de video que manejas, con explicaciones claras, codigo limpio y directo! Asi da gusto aprender!
500 Likes... nunca veremos la continuacion de los tutoriales.. que mal, pero me gusto el video! Gracias igual.
Uy, es verdad que la interaccion es baja en este video, pero no te preocupes, igual se vienen cositas! ;)
@ ya genial, el problema es que me cambié a GDeveloper jajaj y te recomiendo si puedes hacer videos del programa, ya que igual la gente tiene más interacciones por que es más fácil jeje Slds