Michael Games

Michael Games

Join me and learn how to make video games! Working with Godot 4, Aseprite, and more...

Пікірлер

  • @YaBoiBillNye_
    @YaBoiBillNye_Сағат бұрын

    Great video! and series! However i mustve lost attention at some point, as when it came to an end, I get an error for "Invalid call. Nonexistnet function 'set_direction' in base 'CharacterBody2D (Enemy)'. I would like to think could figure it out without rewatching the whole video, but I am brand new to this. Thank you.

  • @YaBoiBillNye_
    @YaBoiBillNye_Сағат бұрын

    nvm i forgot an "i" in direction, i will leave this up as a mark of shame

  • @JeremyChan-ti1jm
    @JeremyChan-ti1jm6 сағат бұрын

    getting a lot of those "non existent functions" errors; for some reasons, i think the editor has renamed some of the functions. i changed the functions to match the errors and now everything works

  • @user-wz7eh8xz9m
    @user-wz7eh8xz9m10 сағат бұрын

    Hey guys, I am facing an issue outside of the script which is : Getting invalid index "dircetion" (on base: "CharacterBody2D(player)"). and I don't know how to solve it

  • @christopheraynaud2748
    @christopheraynaud2748Күн бұрын

    Great tutorial series. I'm trying to save the statue's position from one level to another. I use the same way as for the chests. The thing is it doesn't work, when I change rooms and the statue returns to its original place. Would you have an idea?

  • @HayasakaAi-wj4zb
    @HayasakaAi-wj4zbКүн бұрын

    thank you very much

  • @jasmine1995-wt3ry
    @jasmine1995-wt3ryКүн бұрын

    thank you

  • @roberthouseman5816
    @roberthouseman5816Күн бұрын

    Hi there! New to building a game but loving it so far. I found this video but I seem to be having a problem with my character movement. When moving left or right then releasing the key my character will turn and face up when walking up he will turn and look right only when I walk down and release the key does he stay looking the same direction. Any ideas?

  • @Aphex26
    @Aphex26Күн бұрын

    Seems the item focus bugs out randomly and the menu loses focus. Any ideas?

  • @Tea2412-ci7tw
    @Tea2412-ci7tw2 күн бұрын

    I am very grateful to you for making this premium tutorial for free

  • @MrOsvago
    @MrOsvago2 күн бұрын

    hey michael, your video was the only one that explained to me properly how the state machine works, i was stuck in this for days, tysm i will be looking for more great videos

  • @NastroGG
    @NastroGG2 күн бұрын

    another excellent episode. Thanks so much for this series, this has been a massive help in putting my own games together

  • @Aphex26
    @Aphex262 күн бұрын

    First of all, fantastic videos. Thanks a lot for sharing with us! When transitioning to another scene its possible, if you are fast enough at the beginning of the transition, to go to the pause menu and the game does not pause. So you can keep moving around with the open inventory. Any idea how to fix that?

  • @shoddydragon6200
    @shoddydragon62002 күн бұрын

    Just wanted to say thank you very much for these tutorials I'm just starting out with both coding and godot so your tutorials have been a massive help

  • @connormckay8385
    @connormckay83853 күн бұрын

    Watched most of the series as I begin my 4th small game. This is one of the best tutorial series I've seen so far for Godot. One change I made was direction = Input.get_vector(4 arguments) it essentially does what you did as a single function. Figured you might want to know about it.

  • @OldRod99
    @OldRod993 күн бұрын

    I've created a hint message that pops up when the player approaches the chest, that says "Hit 'E' to open". (I'm using 'E' instead of 'S'). But if later, the player rebinds the interact action to 'X' or some other key, I want the message to be able to show that key instead. Is there a way to read what key a player has bound to a specific action?

  • @JeremyChan-ti1jm
    @JeremyChan-ti1jm3 күн бұрын

    that "moonwalking" bit was wrecking me

  • @nicojara1
    @nicojara13 күн бұрын

    fantastic tutorial! really appreciate game dev videos for larger projects. I was wondering if this could be used for multiple players? Like if I wanted the person playing to be able to control someone else?

  • @ElenaOcone
    @ElenaOcone3 күн бұрын

    Great tutorial as always, thank you so much⚡🙏🙏🙏⚡❗Looking forward to your next serie, are you planning to cover a dialogue system? Please? 🖖

  • @JeremyChan-ti1jm
    @JeremyChan-ti1jm4 күн бұрын

    another day, another lesson completed. great work Michael!

  • @Folkor
    @Folkor4 күн бұрын

    So it was bugging me that the initial items in the scene that start on the ground bounced. So I ended up going into item_pickup and setting the RESET animation as the default. I then added this function to the end of the code: func bounce() -> void: $AnimationPlayer.play("bounce"). then in the enemy_state_destroy, I called it at the end of the j drop count with: drop.bounce(). Issue fixed. But what I don't get is that if I use: @onready var animation_player = $AnimationPlayer and try to call it with: func bounce() -> void: animation_player.play("bounce") it fails. I'm assuming it has something to do with the added objects hierarchy, but the onready is simply calling the same local reference, so I don't understand why that isn't working.

  • @MichaelGamesOfficial
    @MichaelGamesOfficial4 күн бұрын

    I’m not 100% sure, but I think it’s a matter of trying to access the animation player via the variable before it gets assigned/initialized. There is a call_deferred method that could be used, or set a short timer (that sounds a little icky though). But, I’m glad you found a good solution!

  • @NicMcLeod93
    @NicMcLeod934 күн бұрын

    Hello Michael, I am following your tutorial, and I KNOW it's been a while since you posted this partocular video, but i ran into a snag tonight. My slime is playing all the correct animations, but it is not actually moving. It appears to be changing states as intended, but will not keave his position. One small difference from my slime to yours is that I am using different sprites and animations, so my slime doesn't hop like yours does, it kindof slides around so I left out the position keys, idk if these were integral in making him move? I also figured that the issue might be in the enemy.velocity = _direction * wander_speed line, but as i can tell i wrote it correctly. I'm at a loss!

  • @NicMcLeod93
    @NicMcLeod934 күн бұрын

    Sigh... I wrote func physics_process Instead of func _physics_process I had to find that one _ lol

  • @wolfHKS
    @wolfHKS5 күн бұрын

    wow

  • @RY34N
    @RY34N5 күн бұрын

    been a great series so far ideas: -some form of dodge mechanic with invicibilty like a roll or dash -some form of projectile attack from an enemy or player like a bow or fireball type spell -shop type npc

  • @JeremyChan-ti1jm
    @JeremyChan-ti1jm5 күн бұрын

    great tutorial btw, i have been following everything and making great progress. question, would it be better to just stack the animations? as in adding another property track in the main animation_player and adding in the attackeffectsprite.

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    You definitely could do that. In this case I liked the idea that I didn't need to have "sword" keyframes, etc, on animations that don't show the sword. I think it just depends on the design and plans of the game. I have used the stacking technique you mention in another project (will probably make some tutorials around it) where the player's weapon is always visible - so it was necessary to stack - and I also use the various sprite layers to swap the weapon sprite as the player upgrades it. So yeah, I suppose mileage will vary, but if the design permits I like to opt for fewer moving parts where possible. Thanks for the feedback and comment! Hope to see you around the channel :)

  • @Kost_ipato
    @Kost_ipato5 күн бұрын

    🔥🔥🔥

  • @dylanwalters8573
    @dylanwalters85737 күн бұрын

    this is helping me so much with learning to code and game dev, I need to rewind things a lot so I can take the time to process it and being able to do that here to such great tutorials is doing me wonders! Keep up the good work and see you once I get to the end :)

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Glad you are enjoying it. I am finding my style, and cadence with this series (first time doing this obviously). I am glad you are taking your time, because the tutorials kinda accelerate quickly. Also, please don't lock yourself into doing things the way I show. If you think something might work better, or want to experiment try it out :) That's the best way to learn!

  • @plinketharry7469
    @plinketharry74697 күн бұрын

    Im not really familiar with Godot but is there a github page or anything similar for this lesson here? i have a small bug and i can not for the life of me find where it is. id really apreciate a copy of this somewhere so i can directly compare it to mine and find my stupid mistake lol. Thanks

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    github.com/michaelmalaska/aarpg-tutorial Also linked in future videos :)

  • @alan112223
    @alan1122237 күн бұрын

    Outstanding! Subscribed

  • @chalkieface9968
    @chalkieface99688 күн бұрын

    Following this along but I had to go into the comments to work out why I was getting an error that isn't explained in the video: if you DON'T type this -> after you have typed SetDirection() then the editor throws up orange text and tells you it was expecting an ":" after function declaration - and it's not. You have to type this out followed by bool: and your code is correct.

  • @plinketharry7469
    @plinketharry74698 күн бұрын

    Hey guys i am having an issue where my player doesnt return to the idle state. when i start moving he just keeps moving in the last direction once ive let the keys go. Im not even really sure where to look for the problem as it isnt giving me an error. any help at all would be apreciated thank you ! :)

  • @plinketharry7469
    @plinketharry74695 күн бұрын

    Hey mate just wanted to let you know i started from the beggining again and this new project is working fine. Still have no idea what went wrong on the other one but for now atleast i can continue, so dont waste anytime tring to debug this or anything. Thanks!

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Glad you found a solution - I've been out in nature for a little over a week, just catching up on comments today :)

  • @plinketharry7469
    @plinketharry74695 күн бұрын

    @@MichaelGamesOfficial awesome hope you had a great time, I'm looking forward to cracking into more of your tutorials

  • @kawenachen
    @kawenachen8 күн бұрын

    Thank you for this video.

  • @stoicservant4017
    @stoicservant40178 күн бұрын

    thx for so clean tutorial.

  • @Folkor
    @Folkor9 күн бұрын

    One thing I found was that if I walked into the slime Destroy animation it caused the player to get hurt. I ended up added a property track to the Destroy Effect Animation Player that removed the collision layer from the slime. I thought about what someone suggested in an earlier video of removing the slime instantly and spawning a destroy object in its place, but decided that is too much work right now and went for the easier route.

  • @mertbaysal3880
    @mertbaysal38809 күн бұрын

    I think video would be nice if you figured out how to stay close to the microphone lol

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Thanks for the feedback

  • @TentacleShark
    @TentacleShark9 күн бұрын

    There aren't nearly enough tutorials on how to handle & organize persistent save data in Godot, i'd kill for more info on that.

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Yeah, it's a hard topic to go too far with IMO, because at some point a carefully thought out and designed system is the best way to go, and it's hard to hit that with a general tutorial. I'll think of doing more on this topic in the future!

  • @Rogue_Unlikely2088
    @Rogue_Unlikely208810 күн бұрын

    at 10:20 you casualy dropped in two little vertical lines (||) for or in this and I spent like 15 minutes trying to learn what those meant and how to even type them XD! great video code works great and was easy to follow for a newbee like myself!

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Yeah, sometimes I will do stuff that just slips my mind to mention/explain! Thanks for the compliments too :)

  • @Coss1979
    @Coss197910 күн бұрын

    Nice video as always! How do you get to see the path in the tabs of the scenes in the editor like "Dungeon01/01.tscn"? For me only "01.tscn" is shown by default.

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    This happens automatically when you have multiple scenes with the same name open - the file path helps differentiate them. Not sure there is a way to do it otherwise. Thanks for watching!

  • @AndresSanchez-po2wy
    @AndresSanchez-po2wy11 күн бұрын

    Friend you are great!! and certain things learning with you, it is difficult for me to learn gd script since I do not speak English and I know very little and only by reading the subtitles is that I have managed to continue with your tutorials, and not knowing and understanding English I cannot understand your explanation hehe ... but even so I am learning, my favorite games have always been RPG, I hope later you can incorporate a system of weapons and clothing, bows, swords, armor, it would be interesting, to learn more about the subject, greetings friend and thank you very much

  • @Coss1979
    @Coss197911 күн бұрын

    Thanks for another nice video! Ran into a nasty bug/issue with Godot when I instead of duplicating the slime folder (as you instructed), created a new folder with the name "goblin" and copied the files from the slime folder. This caused some breaking issues when I in the end of this tutorial tried to add both slimes and goblins to the same scene. All enemies (slimes and goblins) would sometimes load as all goblins and sometimes all slimes. Took me quite some time to figure out what could have caused the issue. Luckily I had backups so I ended up reverting from a backup and followed this video again and duplicated the folder instead and so far everything is working. Maybe a tutorial on how to setup GIT or other ways to backup your projects would be nice? When reading the forums related to the issues I had it looks like Godot sometimes (when crashing for example) can get corrupted scenes/project and then it can be hard to repair the project. I would have been very sad if I had to start over from the beginning with your tutorials so backups are important 😅

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Yikes! Yeah, glad you had backups... I keep a GIT Repo so I am fairly well covered, but still dread having to wipe and redo a days work if I somehow break the whole thing, haha

  • @Folkor
    @Folkor11 күн бұрын

    So I've encountered a bug that I can't figure out. I can enter the attack state in 7 of 8 directions. But If I'm going up and left, he'll just keep walking. Hopefully, it was found and will be in the clean up video later in the series. *EDIT* This only happens with using the keyboard, doesn't happen with a controller.

  • @ElenaOcone
    @ElenaOcone11 күн бұрын

    I am learning so much from your tutorials, Please keep on with this serie!

  • @patrikdaun8527
    @patrikdaun852711 күн бұрын

    Hi I'm a newbie in game dev, and I think Godot works to be a good game engine and GD script, a good game programming language to start with, awesome video hope you put in more stuff. Will watch everything, want to learn everything about this game engine. Thank you :)

  • @FortniteFunys
    @FortniteFunys12 күн бұрын

    Hi! i followed your tutorial very closely but i've come across an error where the idle and walking states arent detecting the direction variable in the player script I was wondering if you know of any fix to that as I thought the answer was making the variable a static variable but now I have an error saying it's trying to assign a value of type to the walking state script from the default state script. any help is appreciated!

  • @cyzgodol
    @cyzgodol12 күн бұрын

    For some reason I can’t get him to jump more than once. The enter function still works in the sense that it will wander for the duration of playing the animation 1-3 times but he will just jump once and then move for the rest of the time in the 1st frame of wander which is the slime squished down. I’ve looked over and over for something I could be missing and originally I had way more issues where he wouldn’t even idle but that was because I accidentally capitalized the enter and exit functions but I fixed all of that and now I don’t know what to do anymore. I’m not sure if it’s something with the animation player or something with the enemy_wander_state specifically but I can’t get it to work no matter what.

  • @Folkor
    @Folkor10 күн бұрын

    I had the same bug. Took me a bit to figure out, but when you turn off the ping-pong animation you have to still have it setup for the blue arrow looping, not the white play once for the walk animations.

  • @atlibulat-larusson1739
    @atlibulat-larusson173912 күн бұрын

    idk if something has gone wrong but the continuous state for the animation did not work for me, it just switched between two frames. can anyone help

  • @sethchristy3900
    @sethchristy39008 күн бұрын

    having the same issue, did you find a solution?

  • @Dkerza
    @Dkerza5 күн бұрын

    Do you mean that the attack animation got stuck indefinitely upon attack input? I got the same issue. The character then won't move on any direction input.

  • @sethchristy3900
    @sethchristy39005 күн бұрын

    @Dkerza no, the problem is with the animation player its self when setting up the animation. It'll play the first and second frame but not the last. he actually goes over your problem in the video, maybe you missed it?

  • @atlibulat-larusson1739
    @atlibulat-larusson17395 күн бұрын

    @@sethchristy3900 i did, managed to figure that out. I set up the wrong frames basicaly

  • @sethchristy3900
    @sethchristy39005 күн бұрын

    @atlibulat-larusson1739 hmm I went back over it a couple time and don't think I messed anything up, ill check agian later when I have the chance 😂 thanks for the nudge of where to check first

  • @Kunikz87
    @Kunikz8712 күн бұрын

    Hey bro, just love how you are clean on teaching and explaining! Just a tip for this video in especific... you can simply do all this whitout all those code lanes using only animation tree node! and setting the direction with Input.get_axis =3

  • @mezo_ghost_gamer
    @mezo_ghost_gamer13 күн бұрын

    how to type this right arrow on the keyboard

  • @TheFeralFerret
    @TheFeralFerret14 күн бұрын

    Love this thank you. That said.. the background music is maddening. 😩

  • @MichaelGamesOfficial
    @MichaelGamesOfficial5 күн бұрын

    Yeah, sorry about that. Took me a while to start hearing feedback. My latest videos only include the music in the intro/outro section. You live and learn right?

  • @TheFeralFerret
    @TheFeralFerret4 күн бұрын

    @@MichaelGamesOfficial no worries, really appreciate the tutorial!

  • @Coss1979
    @Coss197914 күн бұрын

    Wonderful tutorials! Have watched them all from the begining and learned a lot of Godot from doing so! Hope you continue this series! :)

  • @Tuto1902
    @Tuto190215 күн бұрын

    I know it's a big ask but if you ever consider making a series about a farming sim (aking to Stardew Valley) I would very much watch it. (or if you make it into a course, I would pay for it as well)

  • @Tuto1902
    @Tuto190215 күн бұрын

    or make it a weekly livestream, that would be fun too.