https://perico415.itch.io/
Despues de 11 meses mas o menos casi un año de desarrollar con Godot, muestro este video de mi proximo trabajo que publicare en itchi.io, perico415 - itch.io calculo en enero del 2025, en estos 11 meses publique en itchi.io varios juegos, todos de tematica adulta,
Todos con bastante audiencia, y algunas capturas de video muy exitosas, teniendo en cuenta que no soy Youtuber de éxito y popular,
Realmente no me arrepiento de cambiarme a Godot antes usaba Unity, pero veia mucho royo, y para ser un aficionado en estos temas de desarrollar videojuegos, yo solo quiero hacerme rico haciendo juegos, no necesito a Unity ni trabajar para una empresa, yo me vasto y me sobro para ganar mucha pasta¡¡¡¡
Soy sarcastico….pero realmente me siento capaz de cualquier cosa!!!!
No ahora en serio, me gusta muchisimo crear videojuegos, y con Godot me siento muy comodo.
Y me encanta ver como suben un monton las visitas a mi pagina de Itch.io. perico415 - itch.io .
En este video, muestro mi proximo trabajo, tematica de intriga y misterio y surrealismo, me inspira el ambiente nocturno del cine de terror, me inspira Stephen king,
El juego va de un ascensor y de situaciones al vajar y subir plantas de un edificio, en cada planta procuro cambiar la escena, las animaciones , me da por hacerlas manualmente incluso las de caminar que son muy muy dificiles de hacer, pero lo estoy haciendo, y el juego tendra todo un mismo estilo de movimiento y de graficos 3d, podria poner animaciones ya echas realistas, pero me esta gustando hacerlas yo, y si desarrollo juegos es por diversion no por obligacion,
La IA del navegador Microsoft Edge me esta ayudando muchisimo en el tema de programacion GDScript que es el que usa Godot 4.3, es la version que estoy utilizando.
No te resuelve la papeleta, tienes que ir preguntando y probando y cambiando lineas de codigo, y al final estoy teniendo muy buenos resultados, lo mejor cuando un codigo, un script funciona, puedes hacer cambios y añadirle lineas o cambiarlas, y voy aprendiendo.
Ayuda a aprender es como tener un profesor particular.
Pondre varios scripts que utilizo en el juego, algunos vienen con el propio Godot otros los e retocado yo sacando informacion de aquí y de aya,
En este juego estoy empezando a manipular barra de vida, algo estoy haciendo y saldra en el juego, con script que me proporciono la IA , puedo manipular ideas y temas que salen en el juego,
Mis herramientas de trabajo son, Godot 4.3, Blender, Gimp, Paint, Makehuman, lmms , practicamente casi todos de tipo software libre.org , tambien uso algo de la web OpenGameArt.org .
Y efectos de sonido de https://www.videvo.net/
E conseguido hacer efectos de tembleque del ascensor, efectos de aparecer y desaparecer de fantasmas, cambiar escenas con facilidad por paso de tiempo o presionando alguna tecla del pc,
Me encanta y me gusta muchisimo poder jugar con las camaras y sus enfoques, haciendo un juego de estilo como de cine y de comic.
Y bueno hay estoy con mi maravillosa aficion, con la que pienso hacerme multimillonario……..perdon con la que pienso entretenerme asta el fin de mis dias, si la salud me lo permite, que pienso seran muchos años ya que para esto no hace falta correr maratones ni levantar cargas pesadas de 50 kilos, ….
Eso si paciencia….toneladas….contancia...eterna. Espero guste el video ...ala asta luego!!!!!
A continuacion algunos scripts GDScript que uso en el juego, ayudado por la IA, sino imposible no tengo estudios de programacion.........
extends MeshInstance3D
func _input(event):
# Comprobamos si es un evento de teclado
if event is InputEventKey:
if event.pressed:
if event.keycode == KEY_Z:
rotate_x(0.04)
elif event.keycode == KEY_X:
rotate_x(-0.04)
# Comprobamos si es un evento de acción de entrada
elif event is InputEventAction:
pass
#func _input(event):
if event is InputEventMouseButton:
if event.pressed and event.is_action("mouse_rueda_arriba"):
#if event.action == "mouse_rueda_arriba":
rotate_x(-0.04)
elif event.pressed and event.is_action("mouse_rueda_avajo"):
#elif event.action == "mouse_rueda_avajo":
rotate_x(0.04)
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
extends Node3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
$AnimationPlayer.play("Esqueleto|EsqueletoAction")
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
extends Area3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_area_entered(area: Area3D) -> void:
#$"CSGBox3D2ASCENSOR4 puertaabre".play("puertaascensor")
$MeshInstance3D.play("corredera")
pass # Replace with function body.
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
extends Area3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_area_entered(area: Area3D) -> void:
var siguiente_escena = preload("res://ESCENAS/world_environmentESCENA PRINCIPAL-2-.tscn") # Precargar la escena
get_tree().change_scene_to_packed(siguiente_escena) # Cambiar a la escena precargada (Godot 4.2)
queue_free() # Liberar este nodo después del cambio de escena
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
extends Area3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_area_entered(area: Area3D) -> void:
queue_free()
pass # Replace with function body.
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
extends Area3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_area_entered(area: Area3D) -> void:
$MeshInstance3D/AnimationPlayer.play("CORREDERAS")
pass # Replace with function body.
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
extends Area3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_area_entered(area: Area3D) -> void:
$"../CSGBox3D2ASCENSOR4 puertaabre".play($"../CSGBox3D2ASCENSOR4 puertaabre/AnimationPlayer")
pass # Replace with function body.
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
extends Area3D
var Bullet = preload("res://EL PROTAGONISTA/BALA PROYECTIL/PROYECTIL.tscn")
#var Bullet2 = preload("res://EL PROTAGONISTA/FOGONAZO PISTOLA/cpu_particles_3dfogonazo.tscn")
func _ready() -> void:
pass # Replace with function body.
func _input(event):
if event is InputEventMouseButton:
if event.button_index == 1 and event.pressed :
#event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
var bullet = Bullet.instantiate()
#var bullet2 = Bullet2.instantiate()
add_child(bullet)
#add_child(bullet2)
func _unhandled_input(event):
if event is InputEventKey and event.pressed:
if event.keycode == KEY_W:
translate(Vector3(0, 0, 0) * get_process_delta_time()) # Temporary movement (consider physics)
#if event.keycode == KEY_
#apply_impulse(Vector3(0,40,4))#ORIGINAL
if event.keycode == KEY_Z:
rotate_x(0.02)
pass
if event.keycode == KEY_X:
rotate_x(-0.02)
pass
if event is InputEventMouseButton:
if event.pressed and event.is_action("mouse_rueda_arriba"):
#if event.action == "mouse_rueda_arriba":
rotate_x(-0.02)
elif event.pressed and event.is_action("mouse_rueda_avajo"):
#elif event.action == "mouse_rueda_avajo":
rotate_x(0.02)
pass
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo