What the fuck? He's perfectly entitled to charge for his course. He worked hard on it, how he earns his living. Also, which of his courses is $100? I can't stand people like you.
Umm, people make games for money? I don't get why you complain, he teaches us really amazing stuff and puts prices on some courses so he can stay at it giving us free courses...
Bro, its a 9.99 dollar course, go to google, write "udemy 90% off cupon" and you get it at that price, if you didnt know, thats a selling strategy Udemy uses to sell high numbers in low prices, not like other courses that are 25$. Also, HeartBeast Course has high quality content made by him at a 100% with his own way of coding following the GML rules and sprites that he also made and didnt take from free resources banks. Another extra big things about the course, are: Certificate of Udemy (really helpful for our portfolio), Help from Ben Tristem and his dedicated admins that respond any question of any kind, a high quality and very accesable Forum, a Marking system to study better, High quality Servers to load the videos REALLY fast (amazingly fast even with a poor own internet connection), Download capability for Smartphones and at last, a powerful community that has a powerful system to answer new devs questions with pictures and examples and even code. Now, you dont have that in youtube, so those 9.99 are acutally worth for a complete course with that quality and friendly interface to study. Also, Udemy is respected by many tech companies, completing courses there gives you and advantage against others and if you just want to be an Indie Dev, it also serves as a "I am no bullshit, i did this on my own and i can proof it" statement on yourself so you can get teammates that know you are not useless.
His channel has tons of great tutorial videos for free. His paid courses are optional and cover the same things he covers on YT. They're just for people who appreciate his work and want to support him. Maybe look a little closer next time before you hate on someone.
I've watched many GM tutorial videos and these are definitely my favorite. The way that you visualize the code you're explaining and break it down into comprehensive steps is so incredibly helpful and I think a lot of people who do these videos could learn a lot from your process. I don't feel as though I'm just copying code over and over until I gradually come to understand it, I feel as though I can use what I've learned in your videos and apply it elsewhere. I love Heartbeast and Shaun Spalding and I've learned a lot from both of them, but your videos go above and beyond. Thank you so much for providing these for free.
To skip the section where I explain the behaviour code for the states (starts at 9:48) if you're mostly just interested in the concepts, head over to 17:27. Also, there's been some interesting discussion about switch statements vs if/else if statements. To be clear, switch statements will be much faster than a chain of if/else ifs. So all else being equal, if you're comfortable with switch statements, opt for those. That said, if you're more comfortable with if/else ifs, then stick with those until you have more experience. They're a very intuitive concept which is why I opted to continue using them in the video, over switch statements that can be a tad more abstract. But once you understand switch statements, you'll see it's super easy to convert if/else if chains like ours to a switch.
You could also use a variable called state which stores the index of a script and change the script as needed. Do you know of any downsides to using the method I mentioned? It works great in c++ and seems to work petty well in gml too, but maybe I'm not aware of some quirk in gml?
why would anyone skip the construction of a multi-state enemy with a system that could easily be worked into a stealth system? that's worth the price of admission alone.
Usually I dont like a video, but multiple times through this video I felt like I needed to like a few times because of the indepth and well thought out concepts discussed.
I've been working with GMS for about seven years and have employed a variety of ways to maintain states, but for my newest project I'm using the method described in this video. I love the standardize and organizational structure of using enumerators, arrays and scripts. This makes so much sense because once you have finalized a piece of code, you don't ever have to look at it again. I love looking in my STEP event and seeing only one line of code!
Your explanations are so clear and easy to understand! Easily one of the top GM tutorial makers on RUclips. Thank you so much! I learned a lot from this vid.
Fantastic video! Everything else I watched on state machines were too high-level to be helpful or dove right into the code without connecting it back to the rest of Game Maker. Your video hit the nail on the head; I feel totally equipped to start implementing this now.
I'm fairly confident with most of this and was just sitting here enjoying the video & the excellent presentation. Then you went and did this: script_execute(states_array[state]); Mind blown. So simple! :D
This is an absolutely great tutorial! That what really shows how good this video is, is that I didn't want to do anything like an enemy logic. The thing I was looking for was how to make my player character simply switch from walking to idle animation and I was keepable of doing that thanx to information about states from this tutorial! Thanx a lot!
Very clearly explained and I love the clean, manageable code separation. Keep up the great work, your GMS2 tutorials are some of the finest quality tutorials out there.
Both the solution and the presentation of the video are very elegantly designed. I especially like how you switch between the visuals to the code just at the right time to help the viewer understand the relationship of what’s happening on the screen and how to write the code. I just started with the Game Maker trial and am feeling pretty confident now, thanks!
Definitely the most underrated channel I've come accross while coding with GM. You've helped me so much with beginning to code in GM, and have helped me progress. I've been watching the entire farming simulator tutorial for all my interactions and movements and I must say, the amount of detail and compassion you have in the work you do is beyond amazing. keep up the great work!
Thank you! Thank you! Thank you!. Not only is your tutorial better than Sean Spalding's tutorial it taught me more than what I came here for. Out of 6 different tutorials your's was the best!
There are ten million and one Game Maker tutorials on the internet, and 99.9% of them are just OK or worse. You are the single best tutorial teacher I've found so far! You make sure to explain each step in the right amount of detail and it's incredibly helpful. Thanks for helping me learn Game Maker!
That's a sub if ever I saw one. Clear, concise, well elaborated where necessary. Visualisations are key to promote clear understanding. Good structure from high level overview into the details. Wish all tutors followed this procedure. ;)
As always great work, I love the ranges and use of visual aids. I knew concept of states already but I think this video was one that makes it much clearer.
Thanks for the tutorial and explanation. As a gamemaker noob, i really like these youtube tutorials. And thanks to HeartBeast because his video's made me buy GMStudio 2.
Your tutorials are awesome. You explain things so well and clearly. Some of the best I’ve found for sure. And your accent is so pleasant and lovely to hear.
Great video! Learned a few things I wasnt sure was useful to me yet. I morely love the fact you added #region. That helped with keeping things clean looking.
I loved the video. The other videos i have seen talking about state machines in game maker are just uhmm..... do this and that, but they don't explain how and why, so i thank you!
Wow!!! This is my first time watching one of your videos and I have to say the quality of the content and the way you take the listener through the knowledge material is extra ordinary. I was looking for a patreon link to support because the content was soooo good! You have to keep this up! Let us know how we can support!
Hey - thanks so much!! I'm really flattered. I definitely plan on continuing to make videos; I'm really enjoying it! I do have a patreon set up at www.patreon.com/friendlycosmonaut. But don't feel obligated; kind comments like yours give me lots of support too :)!
This was exactly the answer to what I was searching for the last couple of days! Now I can continue with my new game project :D Very clear and helpful. I love how you quickly showed some snippets of the alternative ways how you can build upon this foundation. Thanks as always!
It looks like you haven't made content in a couple of years. Just wanted to say you have an excellent delivery, it is easy to watch, just the right amount of entertaining and educational, well thought out, and flows very well. This video was great. It takes concepts from my "Game Programming Patterns" book and gives clear examples in an easy to watch format. I appreciate all of your hard work. I'll be looking through other videos that you've made. Hopefully you come back to it one day! And it makes you a ton of money :)
Yes! This has actually come up in a previous comment. I hope you don't mind me pasting the exchange: R) Just watched this video and have 1 question or comment. In some of those scripts you put "image_xscale = sign(moveX)". If the selection of direction was exactly 90 or 270 then "sign(moveX)" will return 0 and setting the image_xscale to be 0 doesnt that make the sprite disappear? Me) Oh dang, you're right! Can't believe I missed that. You probably already know how to fix this -- but for others reading, if our direction is exactly 90 or 270, that means we are going exactly up or down. That means there's NO horizontal component to our movement, so moveX will be 0. This means we're going to end up assigning image_xscale = 0 (in the wander and alert state), which will make the sprite disappear. So what we can do is just only change the image_xscale if moveX != 0, like this: if(moveX != 0) image_xscale = sign(moveX); Great catch Ron.
Wow i'm amazed how high quality your videos are. Subscribed! I'm moving from Game Maker Studio 1.x to GMS 2 and this #region thing is gonna help out SOO MUCH EDIT: Just a heads up sign can also be 0 i'm sure you knew that just forgot. sign(0) will return 0
Thank you so much for this video, it's helping me immensely with a game I'm trying to make (where the player object is quite complex). Please keep up the great work you're doing :)
Fantastic tutorial on some really awesome stuff. I'm not even close to being able to use this yet, but I will definitely be using this in a bunch of ways.
Omg !! I already knew this tricks but this is just “Tutorial Done Perfectly” kinda stuff!! ;) keep it up!! And please make a Zelda still game tutorial like this one!! ☺️ ranged attack... bombs... pushing blocks, picking bombs and pots... I also love the artwork you choose 😊 those exclamation points on the enemies do add a lot of feeling to the game!!
Thanks so much! Although I'm working mostly on the Farming RPG I'll be doing a non-farming one every month at least, where I will very likely be going over concepts for games like this. I actually built this as a demo project so I'd have something to use in future videos. Yeah the artwork is lovely! Most of it is by the artist Buch (there's a link in the description to their work). Haha the exclamation point is actually one of the only things I drew personally so I'm super glad you singled it out :)
Programming is so much more fun in theory than it is in practice, but that's just because I'm lazy I suppose. I love thinking about systems and how they would be put together aswell as how to best optimize them for efficiency however when it comes to actually coding any of it I sit infront of my computer as if it was an unfamiliar machine with millions of buttons. Someone help me realize my ideas please lol. It's all so easy in theory but takes so much time in practice that it's quite demotivating for me But I'm here to thank you for all the great content! I've been subscribed since day one and can't thank you enough for all the effort you put into educating all of us!
Holy shit, I've been using Game Maker for so long and there were so many little things I didn't know that make a HUGE difference that I found in this video. Obvious stuff like #region or sign(). I've been using work arounds for those for a looooong time. Oh my god.
there are multiple ways to code in states. either making a different object for each state and make the object change. or make a variable that defines the states in a big switch statement.
Perfect!
What the fuck? He's perfectly entitled to charge for his course. He worked hard on it, how he earns his living. Also, which of his courses is $100? I can't stand people like you.
Umm, people make games for money? I don't get why you complain, he teaches us really amazing stuff and puts prices on some courses so he can stay at it giving us free courses...
Bro, its a 9.99 dollar course, go to google, write "udemy 90% off cupon" and you get it at that price, if you didnt know, thats a selling strategy Udemy uses to sell high numbers in low prices, not like other courses that are 25$. Also, HeartBeast Course has high quality content made by him at a 100% with his own way of coding following the GML rules and sprites that he also made and didnt take from free resources banks. Another extra big things about the course, are: Certificate of Udemy (really helpful for our portfolio), Help from Ben Tristem and his dedicated admins that respond any question of any kind, a high quality and very accesable Forum, a Marking system to study better, High quality Servers to load the videos REALLY fast (amazingly fast even with a poor own internet connection), Download capability for Smartphones and at last, a powerful community that has a powerful system to answer new devs questions with pictures and examples and even code.
Now, you dont have that in youtube, so those 9.99 are acutally worth for a complete course with that quality and friendly interface to study. Also, Udemy is respected by many tech companies, completing courses there gives you and advantage against others and if you just want to be an Indie Dev, it also serves as a "I am no bullshit, i did this on my own and i can proof it" statement on yourself so you can get teammates that know you are not useless.
His channel has tons of great tutorial videos for free. His paid courses are optional and cover the same things he covers on YT. They're just for people who appreciate his work and want to support him. Maybe look a little closer next time before you hate on someone.
looking at this comment chain after 1 year and having the other dude delete his shit makes this look very strange ngl
6 years later and still assisting people in game maker. Thanks!
I've watched many GM tutorial videos and these are definitely my favorite. The way that you visualize the code you're explaining and break it down into comprehensive steps is so incredibly helpful and I think a lot of people who do these videos could learn a lot from your process. I don't feel as though I'm just copying code over and over until I gradually come to understand it, I feel as though I can use what I've learned in your videos and apply it elsewhere. I love Heartbeast and Shaun Spalding and I've learned a lot from both of them, but your videos go above and beyond. Thank you so much for providing these for free.
Just found this video after struggling for weeks to understand states.
This is the best explanation out there.
Thank you so much!!
To skip the section where I explain the behaviour code for the states (starts at 9:48) if you're mostly just interested in the concepts, head over to 17:27.
Also, there's been some interesting discussion about switch statements vs if/else if statements. To be clear, switch statements will be much faster than a chain of if/else ifs. So all else being equal, if you're comfortable with switch statements, opt for those. That said, if you're more comfortable with if/else ifs, then stick with those until you have more experience. They're a very intuitive concept which is why I opted to continue using them in the video, over switch statements that can be a tad more abstract. But once you understand switch statements, you'll see it's super easy to convert if/else if chains like ours to a switch.
PS. I would definitely support you on patron but I'm to young.
You could also use a variable called state which stores the index of a script and change the script as needed. Do you know of any downsides to using the method I mentioned? It works great in c++ and seems to work petty well in gml too, but maybe I'm not aware of some quirk in gml?
why would anyone skip the construction of a multi-state enemy with a system that could easily be worked into a stealth system? that's worth the price of admission alone.
Usually I dont like a video, but multiple times through this video I felt like I needed to like a few times because of the indepth and well thought out concepts discussed.
I only watched this because I was bored, you're basically just doing it the right way which is great.
I've been working with GMS for about seven years and have employed a variety of ways to maintain states, but for my newest project I'm using the method described in this video. I love the standardize and organizational structure of using enumerators, arrays and scripts. This makes so much sense because once you have finalized a piece of code, you don't ever have to look at it again. I love looking in my STEP event and seeing only one line of code!
Your code is so clean and simple i love this
I'm going to have to watch this 50 times, there's so much great here. This is the kind of stuff that takes a project from demo to game.
Awesome, I'm glad it's helped :)
Your explanations are so clear and easy to understand! Easily one of the top GM tutorial makers on RUclips. Thank you so much! I learned a lot from this vid.
Fantastic video! Everything else I watched on state machines were too high-level to be helpful or dove right into the code without connecting it back to the rest of Game Maker. Your video hit the nail on the head; I feel totally equipped to start implementing this now.
you're very good at explaining things in a logical and sensible way, really great job
I'm fairly confident with most of this and was just sitting here enjoying the video & the excellent presentation.
Then you went and did this: script_execute(states_array[state]);
Mind blown. So simple! :D
I'm currently working on a bigger project in GoDot and this really helped me organize some things in my code.
Thank you for making this video!
This is one of the highest quality video tutorial I've ever seen.
the best explanation of the finite state machine
This is an absolutely great tutorial! That what really shows how good this video is, is that I didn't want to do anything like an enemy logic. The thing I was looking for was how to make my player character simply switch from walking to idle animation and I was keepable of doing that thanx to information about states from this tutorial!
Thanx a lot!
That's great to hear! I'm glad you found the tutorial helpful and adapted it to your needs :)
Very clearly explained and I love the clean, manageable code separation. Keep up the great work, your GMS2 tutorials are some of the finest quality tutorials out there.
Thanks so much for the kind comment :)!
Both the solution and the presentation of the video are very elegantly designed. I especially like how you switch between the visuals to the code just at the right time to help the viewer understand the relationship of what’s happening on the screen and how to write the code. I just started with the Game Maker trial and am feeling pretty confident now, thanks!
One of the best gamemaker tutorials around !
Definitely the most underrated channel I've come accross while coding with GM. You've helped me so much with beginning to code in GM, and have helped me progress. I've been watching the entire farming simulator tutorial for all my interactions and movements and I must say, the amount of detail and compassion you have in the work you do is beyond amazing. keep up the great work!
Thank you! Thank you! Thank you!. Not only is your tutorial better than Sean Spalding's tutorial it taught me more than what I came here for. Out of 6 different tutorials your's was the best!
There are ten million and one Game Maker tutorials on the internet, and 99.9% of them are just OK or worse. You are the single best tutorial teacher I've found so far! You make sure to explain each step in the right amount of detail and it's incredibly helpful. Thanks for helping me learn Game Maker!
I have to say, the end portion where you compress all the step code into one line is a very effective visual of the power of states.
Incredible stuff, really. Thank you for sharing.
That's a sub if ever I saw one. Clear, concise, well elaborated where necessary. Visualisations are key to promote clear understanding. Good structure from high level overview into the details. Wish all tutors followed this procedure. ;)
As always great work, I love the ranges and use of visual aids. I knew concept of states already but I think this video was one that makes it much clearer.
Lovely - thanks for the feedback Feniks :)
following the tutorial finally made me understand states, thank you
one of the best game maker learning resource channel.
Thanks for the tutorial and explanation. As a gamemaker noob, i really like these youtube tutorials. And thanks to HeartBeast because his video's made me buy GMStudio 2.
I am mindblown. You are an amazing person for this video.
So... yes...
I knew about states but this was one of the best ways that I have seen to accomplish it! Thank you!
Your tutorials are awesome. You explain things so well and clearly. Some of the best I’ve found for sure. And your accent is so pleasant and lovely to hear.
The most incredible explanation I've found thus far. Thank you for this video and your wonderful teaching skills.
Awesome video! I used it to create my first boss fight with different states today :)
Great video! Learned a few things I wasnt sure was useful to me yet. I morely love the fact you added #region. That helped with keeping things clean looking.
This is an awesome video. The way you go over concepts in the abstract is something a lot of other tutorial makers don't do. Nice job!
Great video and great style! Can't wait to see what great heights your channel will reach!
Thanks, PresPickle! :)
Awesome tutorial, watching this from Colombia, keep it going!!!
I loved the video. The other videos i have seen talking about state machines in game maker are just uhmm..... do this and that, but they don't explain how and why, so i thank you!
These videos are awesome, honestly the best game dev videos I have found, thanks so much for making them.
Wow!!! This is my first time watching one of your videos and I have to say the quality of the content and the way you take the listener through the knowledge material is extra ordinary.
I was looking for a patreon link to support because the content was soooo good!
You have to keep this up!
Let us know how we can support!
Hey - thanks so much!! I'm really flattered. I definitely plan on continuing to make videos; I'm really enjoying it!
I do have a patreon set up at www.patreon.com/friendlycosmonaut. But don't feel obligated; kind comments like yours give me lots of support too :)!
best tutorial on GM I have ever seen 👍
This has been awesome! I tuned in to found out more about animations between states, but i picked up so much more, great stuff
Your explanation of these concepts is top tier. Thank you!
This was exactly the answer to what I was searching for the last couple of days! Now I can continue with my new game project :D Very clear and helpful. I love how you quickly showed some snippets of the alternative ways how you can build upon this foundation. Thanks as always!
Wow this video was great, I loved how the way you edited it made what you were explaining clearer to understand as well. Thank you.
This has saved me typing so many if statements :) -- Thank you, your video's are always so in-depth and to the point.
I wish I had this tutorial when I was just beginning! I've been using GMS for a while, and I still learned a lot from watching this.
I don't speak English, but I love and translate your videos. Continue with Game Maker, the market gained momentum again.
Best object states tutorial ever. Thank you so much^^
Excellent. Thank you for producing top notch content! 11/10
You are my new favorite GM teacher! Thank you for what you do! 🙏🏻
You have the best tutorials! Thank you so much
Very good video, very well at teaching too. hope all is well
It looks like you haven't made content in a couple of years. Just wanted to say you have an excellent delivery, it is easy to watch, just the right amount of entertaining and educational, well thought out, and flows very well. This video was great. It takes concepts from my "Game Programming Patterns" book and gives clear examples in an easy to watch format. I appreciate all of your hard work. I'll be looking through other videos that you've made. Hopefully you come back to it one day! And it makes you a ton of money :)
finally something with states that doesn't get overly complex for my pea brain.
One of the best tutorials for GML!
Very clear tutorial, I like it a lot!
I didn't know enum can be accessed from any objects. That would be very helpful so thanks, FriendlyCosmonaut.
Great tutorial, thumbs up and subbed.
Edit: question answered.
By the way, I love how organized you are. I'm taking notes : )
Yes! This has actually come up in a previous comment. I hope you don't mind me pasting the exchange:
R) Just watched this video and have 1 question or comment. In some of those scripts you put "image_xscale = sign(moveX)". If the selection of direction was exactly 90 or 270 then "sign(moveX)" will return 0 and setting the image_xscale to be 0 doesnt that make the sprite disappear?
Me) Oh dang, you're right! Can't believe I missed that. You probably already know how to fix this -- but for others reading, if our direction is exactly 90 or 270, that means we are going exactly up or down. That means there's NO horizontal component to our movement, so moveX will be 0. This means we're going to end up assigning image_xscale = 0 (in the wander and alert state), which will make the sprite disappear. So what we can do is just only change the image_xscale if moveX != 0, like this:
if(moveX != 0) image_xscale = sign(moveX);
Great catch Ron.
Wow i'm amazed how high quality your videos are. Subscribed! I'm moving from Game Maker Studio 1.x to GMS 2 and this #region thing is gonna help out SOO MUCH
EDIT: Just a heads up sign can also be 0 i'm sure you knew that just forgot. sign(0) will return 0
Yeah I think this came up in another comment, that was an oversight by me! And thanks so much :)
This is an amazing explanation for a novice programmer like myself!!! Please make more
Thank you so much for this video, it's helping me immensely with a game I'm trying to make (where the player object is quite complex). Please keep up the great work you're doing :)
Fantastic tutorial on some really awesome stuff. I'm not even close to being able to use this yet, but I will definitely be using this in a bunch of ways.
Your tutorials are amazing, and your code is as clean as a magic eraser.
I love the enum as array index for state technique!
you're the best gamemnaker tutorial-ist on youtube in my opinion..
Wow, thank you!
This was a really well explained Video! Great Job! Thank you! :) Keep up the good work!
Your videos help me a ton, thank you 🙏🙏
I am so thankful for this video
Wow, great videos! I love the organization and accompanying visuals. Keep up the great work!
Cheers! :)
Omg !! I already knew this tricks but this is just “Tutorial Done Perfectly” kinda stuff!! ;) keep it up!! And please make a Zelda still game tutorial like this one!! ☺️ ranged attack... bombs... pushing blocks, picking bombs and pots... I also love the artwork you choose 😊 those exclamation points on the enemies do add a lot of feeling to the game!!
Thanks so much! Although I'm working mostly on the Farming RPG I'll be doing a non-farming one every month at least, where I will very likely be going over concepts for games like this. I actually built this as a demo project so I'd have something to use in future videos.
Yeah the artwork is lovely! Most of it is by the artist Buch (there's a link in the description to their work). Haha the exclamation point is actually one of the only things I drew personally so I'm super glad you singled it out :)
Excellent tutorial. Many nice little ideas in there. Thanks v much!!!
really glad youtube recommended you to me
Amazing tutorial! Thank you!
That helps me understand a lot.
Programming is so much more fun in theory than it is in practice, but that's just because I'm lazy I suppose. I love thinking about systems and how they would be put together aswell as how to best optimize them for efficiency however when it comes to actually coding any of it I sit infront of my computer as if it was an unfamiliar machine with millions of buttons. Someone help me realize my ideas please lol. It's all so easy in theory but takes so much time in practice that it's quite demotivating for me
But I'm here to thank you for all the great content! I've been subscribed since day one and can't thank you enough for all the effort you put into educating all of us!
What a perfect tutorial. Thank you!
Thanks this video introduced some really helpful concepts!
Seeing how you set up a control object would have been very helpful
Wow you make everything so understandable :D
Clean explanation 👌
Very well explained!
Good god this is easy to understand!
Holy shit, I've been using Game Maker for so long and there were so many little things I didn't know that make a HUGE difference that I found in this video. Obvious stuff like #region or sign(). I've been using work arounds for those for a looooong time. Oh my god.
Ty for this very good tutorial!
Another amazing tutorial 😍
Great video !! Keep up the good work !
So, so good! Thks for this!
wow I wasn't even confused once. that's a sub for me.
These videos are gold 👌
there are multiple ways to code in states. either making a different object for each state and make the object change. or make a variable that defines the states in a big switch statement.
This is so cool!
Thank you!
Amazing video!
Forgetting the break is the bane of my switch statements. :p
Great tutorial. I learned a lot.
Absolutely incredible video!!!!!!