Regarding 3:17 -- from what I understand animation states are universal for all actors. The docs reccommend you make each one as broadly applicable as possible to be efficient ("destroy" instead of both "crush" and "explode") unless you just need multiple similar ones on the same actor for some reason. Also, thanks for these tutorials! It's a lot to get my head around how it all works with writing alone, seeing someone do it is incredibly helpful.
Helpful and enjoyable content as always. I would also definitely love to see a tutorial for the whirlwind attack and the sword swing animation! Great work!
@@RobertDoman yes indeed. I guess you have to hold a button for a few milliseconds and charge it, then let loose and the sword is spinning. Perfect for harvesting diamonds from bushes or grass or defending against multiple enemies at once. You can do that while moving.
Hello Robert! Very much enjoying the videos, and finding them extremely helpful jumping into GB Studio and trying to make my first adventure game. Excited to see more in the near future!
I would use a true/false check when getting hit, if you get hit, it turns to true, not letting any more hits in, and then at the end of the invulnerablility time, you set it back to false so you can receive hits again Hope that helps!
This really changed the game up. That being said tho if you use this combat be prepared to make doors and hallways alot bigger because of the added canvas size to your sprite. I found that I had to go back to my maps and remove certains rocks and other terrain that I would end up getting stuck on.
Make sure that the player's collision box is correctly placed to only cover the player character, otherwise you may find it frustrating when you get hit by enemies!
@@RobertDoman dude thank you so much. I was so confused haha. I thought the collision box was more of a hit detection box only for attacks. I don't know where I even got that idea. But dude thanks I just implemented what you said and it works perfectly!
What's the use of having to mark pixel by pixel in the sprite collider if they only work on 8x8 squares in RPG, I wanted to use them in adventure but they didn't work. I want to know if there is any way to activate the collider in adventure mode and platforms
The player in adventure mode isn't stuck in the 8x8 grid like it is in top-town 2D. Make sure the scene is set to adventure, it also lets you move diagonally
@@RobertDoman what I mean is that in adventure mode and platform mode I can go through the sprites with the protagonist, I want to know how to activate the collider so that the player collides without being able to go through them
@@nehemiaslugo2252 I see, if you are wanting to be able to attack them, I'm not sure you can change that, you'd maybe have to increase the collision box and push the player away
Anyone know how I can make it so I’m not whacking the npcs that I want to talk to? Like I got it all working but I’ve set my attack button the same as my interact, any way so I can get it to play the attack animation unless there’s an npc right in front of me?
I'm not sure, but you could hide the player when entering a trigger box and then show them again when they leave Might not work perfectly though That's the simplest way I can think of, using actors for the trees could also work but may get heavy on the actor limit
Question, so I am in the planning stages of creating a Zelda like game like your example, but I was wondering if you'd be able to have 5 different equipable weapons that change the player sprite character. The idea is that there are 5 different characters that each has their own power (weapon) when switched to. This is in order to be able to solve puzzles along the game. You would recrute them as you play. Is thing like this at all possible in this engine?
Yes that should be completely possible with a switch to decide and show which weapon is currently equipped, and a variable to keep track of which weapons are unlocked
in my game in order to get the right animation speeds i have the player animate on 15fps, then double each frame for walking and idle. jumping is on ones. however, for links awakening, i think links animation works similarly, but instead of it being on twos its on threes, with the movement speed being 1.15 i think
Unfortunately, I think emotes haven't been improved since the first version of GB Studio, so I don't think their position can be adjusted. You may have to use projectiles with no movement speed instead, that way you can control the point at which they spawn.
The Problem with this technique is that now the character is centered one block higher than normal. I wonder if theres a way to do this and keep your character centered
@@RobertDoman Dang. I'm trying to find a away for my character to attack with a halberd/spear. I want the attack range to extend 32 pixels instead of 16 but when i use this method my character is centered too far up. I tried playing around with projectiles but I can't seem to get it right.
I have a question, can that blue thing that is where the sprite is located, can it be uploaded ? It's just that when I want to teleport in my game the sprite appears a little higher
ok, the procedure work, but i cannot hit my enemy, i tried to swap 20 times all the collision numbers ecc.. but the projectile doesn't hit the enemy, little help? (sorry if i'm bothering you on a 1 year ago tutorial)
I wanted to test the animation and my character just flashes and doesn't display the animation. I made an animation state for the sword using a different sprite sheet for the attack (so far I just completed the downward slash). I called it "Sword" and set it to Four Directions. I set the frames up for the Idle Down position. I added a Wait Event then a "Player Set Animation State to Default" Event. But when I test it the character just flashes and there's no animation. I was trying to switch the sprite sheet with an event and got the animation to change but it's all glitched up. Do I need to have all the actions of the character on one single sprite sheet? I'd think that would mean Id have to start over every single time I add something to the character. But that surely can't be how it works. Or does it mean you have to have a big sprite sheet for your player if you want them to attack? Sorry, complete beginner here.
@@RobertDomanjust had a good breakthrough today to set up the animations correctly! One step at a time. Now to learn collision groups and enemy Actors…
@@RobertDoman I tried another method and found some problems again so I went back to your method as it was giving me less trouble. However I am trying to figure out the right settings in speed and Wait. My attack has 3 frames. So how long should the Life Time and Speed be? It keeps looping the animation twice when I press the button.
@@lazerwheelie if the problem is that the animation loops, slow down the animation speed, I can't tell you the perfect settings for your own game! Sorry!
Can you please tell me how you get where it says Player set animation to sword / player /sword/ above the Launch Projectile? And Source player / direction. I must have missed that cause I can't figure that out.
In the sprites tab, I created animation states and named them that, so when I call the set animation state, it is using those names I made there Hope that helps!
Not really sure, I created the normal idle state player, then made new state with the sword, added the script to the b button press and used all your projectile settings from the video. I must be missing a step in the beginning. Sorry for all the trouble it's frustrating me lol
@gr8t1bobo it's okay! In game development, when I have these issues, I try to break them down piece by piece to find the exact point of failure. Is it that the projectile doesn't work, or the animation state doesn't work?
I love your tutorials! GBS 3 is a bit different than the old version and I'm so happy you showed us how to do this! I'm still figuring out what all the events do so it was a bit difficult for me to follow along but I finally figured it out😄 Now that it's working I can work on a better sword attack I guess:) Thanks for all your hard work! Is there a way to use keys for locked doors for example? Or could you show us how to get an item out of a chest?
A locked door could be an actor and so could the key When you interact with the key, a variable could turn to true, then when interacting with a door, if that variable is true, the door will disappear Hope that helps, I may make a tutorial of that in the future!
Consider experimenting with the directional offset to ensure it isn't interacting with the player It isn't a perfect system so you'll have to find what works for you
As I'm follwoing your tutorial I'm finding that there are some options fo the GB STudio 3 'Add Event 'menu that are missing for me: Player State Animation To Sword and Player Set Animation State To Default. Where do I find these?
Hi great tutorial ! Also when i put my character in the middle of the sprite sheet, the colision box i add doesn't do anything, in game its just 16x16 colision box. Would you know why?
Make sure you're using the correct scene type, for example point and click doesnt have collision You will also need to paint the collision onto the scene, and make sure you're using the sprite sheet you set up before If you did all that, I have no idea why the player wouldn't have collision, sorry!
Yes! The button has a setting to overwrite the existing button controls, I would use that, and then remove it afterwards It would require some testing though, I can think of a few ways to optimise it that would need a video
Well, I did that by setting the player walking and running speed to zero. I don't remember rn, but probably you'll have to change the velocity or acceleration to zero too.
I'll look into that. In the meantime, I noticed the offset settings in the sprite script. With some finagling of the invisible hitbox and some sprite editor magic, I think we might be able to rig up some real zelda combat animations
@@RobertDoman ok I will test it out thanks, btw saw your last video, love the discord idea. Sometimes it doesn't feel as friendly in the gb studio one. So I'm interested. Would be cool to have a section where ppl can just post their dev updates on your sub chat.
Hello, I tried to copy your skript for fighting enemies. Problem is: when I defeat them, they dissapear (as they should) but they are still attacking even though they are invisible and "dead". Do you have any ideas or is there a way to download your files to see the difference? I've really tried many times and I can't find the mistake...
That is a strange issue for sure. I recommend using 'disable collisions' as well when you hide them! You can also try to stop their 'on update' script.
Yes I believe you need to copy and paste it to all scenes you want it to work in To copy, click the drop-down arrow on the event and select copy event, to paste you can hold alt and it will change the add event button to paste event. In GB Studio 2, it used to be the ctrl button
Yes in GB Studio each scene starts with no knowledge of the last except for global variable values, so you need to put the attack code in every scene that you want it in
The sprite sheet dimensions just need to be a multiple of 8 And having the walk cycle on the same sheet is good, it means you can just change state rather than changing sprite
ended up just getting Aseprite and it was SO much easier. just having trouble now finding "Player Set Animation State to Sword" only player set in events is "Set Player sprite Sheet" Weird@@RobertDoman
Sorry, rephrase: the event you are looking for should be found if you type in State, but you need to set up the state in the sprite editor to find the exact wording you said you couldn't find
It is important you understand why I'm doing what I'm doing, things change each version, but the concepts stay the same What exactly doesn't work? Displaying sprites, moving, enemies? When does it start going wrong?
You called Link Zelda. I will never forget that
...and I will never remember to say Link hahaha
@@RobertDoman How Dare You Lol
It didn't work for me in the first place. Then I noticed, that I was missing that crucial "Wait 0.1s" - now it works. Thanks Robert!
I can’t tell you how excited I was to see this in my recommendations. Truly a gift! Keep up the great work!
Regarding 3:17 -- from what I understand animation states are universal for all actors. The docs reccommend you make each one as broadly applicable as possible to be efficient ("destroy" instead of both "crush" and "explode") unless you just need multiple similar ones on the same actor for some reason.
Also, thanks for these tutorials! It's a lot to get my head around how it all works with writing alone, seeing someone do it is incredibly helpful.
Thank you sir, you saved my school's game development project
Helpful and enjoyable content as always. I would also definitely love to see a tutorial for the whirlwind attack and the sword swing animation! Great work!
Does a whirlwind attack look like the sword spinning around the player? I would love to try something like that
@@RobertDoman yes indeed. I guess you have to hold a button for a few milliseconds and charge it, then let loose and the sword is spinning. Perfect for harvesting diamonds from bushes or grass or defending against multiple enemies at once. You can do that while moving.
@@RobertDoman it's called a spin attack, but yeah it involves spinning the sword around the player
@@xy1515 As a long time Zelda fan, I really do love the "whirlwind attack to harvest diamonds from bushes" terms you use. Very endearing.
Can you tell I preferred Pokémon? Hahaha
I was just thinking about this idea with the new combat system. Thanks for proving my thoughts correct.
Hello Robert! Very much enjoying the videos, and finding them extremely helpful jumping into GB Studio and trying to make my first adventure game. Excited to see more in the near future!
Thank you for making this video. Been waiting awhile to see this.
No problem, sorry it took so long!
👀can't wait to use this for my future game
i desperately need a method for knockback or invulnerability state for when getting hit,
I would use a true/false check when getting hit, if you get hit, it turns to true, not letting any more hits in, and then at the end of the invulnerablility time, you set it back to false so you can receive hits again
Hope that helps!
This really changed the game up. That being said tho if you use this combat be prepared to make doors and hallways alot bigger because of the added canvas size to your sprite. I found that I had to go back to my maps and remove certains rocks and other terrain that I would end up getting stuck on.
Make sure that the player's collision box is correctly placed to only cover the player character, otherwise you may find it frustrating when you get hit by enemies!
@@RobertDoman dude thank you so much. I was so confused haha. I thought the collision box was more of a hit detection box only for attacks. I don't know where I even got that idea. But dude thanks I just implemented what you said and it works perfectly!
Glad I could help!
What's the use of having to mark pixel by pixel in the sprite collider if they only work on 8x8 squares in RPG, I wanted to use them in adventure but they didn't work.
I want to know if there is any way to activate the collider in adventure mode and platforms
The player in adventure mode isn't stuck in the 8x8 grid like it is in top-town 2D. Make sure the scene is set to adventure, it also lets you move diagonally
@@RobertDoman what I mean is that in adventure mode and platform mode I can go through the sprites with the protagonist, I want to know how to activate the collider so that the player collides without being able to go through them
@@nehemiaslugo2252 I see, if you are wanting to be able to attack them, I'm not sure you can change that, you'd maybe have to increase the collision box and push the player away
Nice explained. Thank U for making It understandable 👍
Anyone know how I can make it so I’m not whacking the npcs that I want to talk to? Like I got it all working but I’ve set my attack button the same as my interact, any way so I can get it to play the attack animation unless there’s an npc right in front of me?
is it possible to make the player go behind the trees through the layers?
I'm not sure, but you could hide the player when entering a trigger box and then show them again when they leave
Might not work perfectly though
That's the simplest way I can think of, using actors for the trees could also work but may get heavy on the actor limit
Question, so I am in the planning stages of creating a Zelda like game like your example, but I was wondering if you'd be able to have 5 different equipable weapons that change the player sprite character. The idea is that there are 5 different characters that each has their own power (weapon) when switched to. This is in order to be able to solve puzzles along the game. You would recrute them as you play. Is thing like this at all possible in this engine?
Yes that should be completely possible with a switch to decide and show which weapon is currently equipped, and a variable to keep track of which weapons are unlocked
Can you upload these projects to Itch as examples projects for people to tinker with
I may do that in the future, it isnt dissimilar to the sample project right now
in my game in order to get the right animation speeds i have the player animate on 15fps, then double each frame for walking and idle. jumping is on ones. however, for links awakening, i think links animation works similarly, but instead of it being on twos its on threes, with the movement speed being 1.15 i think
I'm glad GB Studio 3 gives us finer control, I haven't deconstructed anything that much though
But with a bigger animation canvas, I can't keep baloon emote near the player, how can i do?
Unfortunately, I think emotes haven't been improved since the first version of GB Studio, so I don't think their position can be adjusted. You may have to use projectiles with no movement speed instead, that way you can control the point at which they spawn.
@@RobertDoman thanks for the advice, i'll try
I suggest a tutorial on how to achieve Zelda-style screen scrolling in the game
Great idea, I should definitely do that
@@RobertDoman Is a Pokemon style game possible?
@@Vulpas it is possible but I wouldn't recommend tackling a game so big on your own
The Problem with this technique is that now the character is centered one block higher than normal. I wonder if theres a way to do this and keep your character centered
I agree, I haven't found a solution for this yet
@@RobertDoman Dang. I'm trying to find a away for my character to attack with a halberd/spear. I want the attack range to extend 32 pixels instead of 16 but when i use this method my character is centered too far up. I tried playing around with projectiles but I can't seem to get it right.
@@peacockjive6847 I think if you keep trying, it will work, but I agree it can be annoying and time consuming to get it right!
@@RobertDoman totally figured it out. your vid was super helpful
@@RobertDoman Thank you
I have a question, can that blue thing that is where the sprite is located, can it be uploaded ? It's just that when I want to teleport in my game the sprite appears a little higher
Unfortunately not, make sure your sprite artwork is placed correctly on your sprite sheet so it isn't higher than it should be
ok, the procedure work, but i cannot hit my enemy, i tried to swap 20 times all the collision numbers ecc.. but the projectile doesn't hit the enemy, little help? (sorry if i'm bothering you on a 1 year ago tutorial)
I wanted to test the animation and my character just flashes and doesn't display the animation. I made an animation state for the sword using a different sprite sheet for the attack (so far I just completed the downward slash). I called it "Sword" and set it to Four Directions. I set the frames up for the Idle Down position. I added a Wait Event then a "Player Set Animation State to Default" Event. But when I test it the character just flashes and there's no animation.
I was trying to switch the sprite sheet with an event and got the animation to change but it's all glitched up. Do I need to have all the actions of the character on one single sprite sheet? I'd think that would mean Id have to start over every single time I add something to the character. But that surely can't be how it works.
Or does it mean you have to have a big sprite sheet for your player if you want them to attack?
Sorry, complete beginner here.
I recommend my video on the sprite editor, and to read the documentation at GBStudio.dev 🙂
@@RobertDomanjust had a good breakthrough today to set up the animations correctly! One step at a time. Now to learn collision groups and enemy Actors…
@@lazerwheelie congratulations! I hope it keeps going smoothly for you
@@RobertDoman I tried another method and found some problems again so I went back to your method as it was giving me less trouble. However I am trying to figure out the right settings in speed and Wait. My attack has 3 frames. So how long should the Life Time and Speed be? It keeps looping the animation twice when I press the button.
@@lazerwheelie if the problem is that the animation loops, slow down the animation speed, I can't tell you the perfect settings for your own game! Sorry!
I'm making a game, and the sword doesn't seem to be doing anything. I've set my slime to the right collision groups, but it's not working. Any tips?
Can you please tell me how you get where it says Player set animation to sword / player /sword/ above the Launch Projectile? And Source player / direction. I must have missed that cause I can't figure that out.
In the sprites tab, I created animation states and named them that, so when I call the set animation state, it is using those names I made there
Hope that helps!
Thanks I figured that out, still having issues with my sword not showing up. I watched your video like 100 times lol. Oh well
Take it back to basics to see what the exact issue is, does switching animation states work? Or is it just the state with the sword in?
Not really sure, I created the normal idle state player, then made new state with the sword, added the script to the b button press and used all your projectile settings from the video. I must be missing a step in the beginning. Sorry for all the trouble it's frustrating me lol
@gr8t1bobo it's okay! In game development, when I have these issues, I try to break them down piece by piece to find the exact point of failure. Is it that the projectile doesn't work, or the animation state doesn't work?
I love your tutorials! GBS 3 is a bit different than the old version and I'm so happy you showed us how to do this! I'm still figuring out what all the events do so it was a bit difficult for me to follow along but I finally figured it out😄 Now that it's working I can work on a better sword attack I guess:) Thanks for all your hard work! Is there a way to use keys for locked doors for example? Or could you show us how to get an item out of a chest?
A locked door could be an actor and so could the key
When you interact with the key, a variable could turn to true, then when interacting with a door, if that variable is true, the door will disappear
Hope that helps, I may make a tutorial of that in the future!
THANKS VERY THANKS !!!
When the enemies are too close to the character, the attack doesn't hit them. Any tips to overcome it?
Consider experimenting with the directional offset to ensure it isn't interacting with the player
It isn't a perfect system so you'll have to find what works for you
@@RobertDoman awesome, I'll try it... Thanks for all the content you're building about GB Studio, you're literally a game changer
As I'm follwoing your tutorial I'm finding that there are some options fo the GB STudio 3 'Add Event 'menu that are missing for me: Player State Animation To Sword and Player Set Animation State To Default. Where do I find these?
Set state should be an event, and then it should be a drop down to find the states you created in the sprite editor
@@RobertDoman Yeah they don't appear in the drop-down menu when I click add event. I'm using the latest version of GB Studio.
Is set animation state an event?
@@RobertDoman When I type Animation State under +Add Event the closest one is 'Set Actor Animation State'
Yes! That's the one!
Hi great tutorial ! Also when i put my character in the middle of the sprite sheet, the colision box i add doesn't do anything, in game its just 16x16 colision box. Would you know why?
Make sure you're using the correct scene type, for example point and click doesnt have collision
You will also need to paint the collision onto the scene, and make sure you're using the sprite sheet you set up before
If you did all that, I have no idea why the player wouldn't have collision, sorry!
@@RobertDoman yeah thank you ! I don't exactly know what happened I think there was a glitch but now its working !
Is it possible to make a mega man like game in GB studio 3?
Yes, you can make platformers!
Is there any way to force the player to stop walking and disable movement controls until the animation is finished?
Yes! The button has a setting to overwrite the existing button controls, I would use that, and then remove it afterwards
It would require some testing though, I can think of a few ways to optimise it that would need a video
Well, I did that by setting the player walking and running speed to zero. I don't remember rn, but probably you'll have to change the velocity or acceleration to zero too.
I'll look into that. In the meantime, I noticed the offset settings in the sprite script. With some finagling of the invisible hitbox and some sprite editor magic, I think we might be able to rig up some real zelda combat animations
@@The_Nonchalant_Shallot I agree, I think that's totally possible
It would be amazing if we could add the animations for sword swinging
People who modify GB studio:
a tip for adventure mode, change player movement speed to 1.25 or 1.5
Make sure you test this, I remember experiencing collision bugs with non integer number speeds
@@RobertDoman ok I will test it out thanks, btw saw your last video, love the discord idea. Sometimes it doesn't feel as friendly in the gb studio one. So I'm interested. Would be cool to have a section where ppl can just post their dev updates on your sub chat.
I'm very glad to hear that, thank you!
Hello, I tried to copy your skript for fighting enemies. Problem is: when I defeat them, they dissapear (as they should) but they are still attacking even though they are invisible and "dead".
Do you have any ideas or is there a way to download your files to see the difference? I've really tried many times and I can't find the mistake...
That is a strange issue for sure. I recommend using 'disable collisions' as well when you hide them! You can also try to stop their 'on update' script.
@@RobertDoman thanks for the suggestion. I did both of that so that's really weird...
@@larapichler5850 if you really want to get rid of them you can maybe set their position to somewhere crazy off screen
@@RobertDoman that's a good idea! Thank you.
Do I have to add this event to all my scenes? Is there are way to copy the events from one scene to another?
Yes I believe you need to copy and paste it to all scenes you want it to work in
To copy, click the drop-down arrow on the event and select copy event, to paste you can hold alt and it will change the add event button to paste event. In GB Studio 2, it used to be the ctrl button
@@RobertDoman That was super easy! Thanks!
@@fabulousasia9848 no problem!
So you have to create an attack event for every single scene? Or did you put the attack code somewhere else?
Yes in GB Studio each scene starts with no knowledge of the last except for global variable values, so you need to put the attack code in every scene that you want it in
@@RobertDoman Thanks. Hopefully they'll add a common event type thing at some point.
now thanks to the update you can create bigger sprites with lots of character animations I made one at 32x32 with 16 animations try it
Is a Pokemon style game finally a possibility with GBS?
what was your sprite sheet dimensions? Im having trouble getting everything to line up on the Photoshop side.
and does the sheet need to include the walking cycle as well or is there a way to just set up an attacking sheet?
The sprite sheet dimensions just need to be a multiple of 8
And having the walk cycle on the same sheet is good, it means you can just change state rather than changing sprite
ended up just getting Aseprite and it was SO much easier. just having trouble now finding "Player Set Animation State to Sword" only player set in events is "Set Player sprite Sheet" Weird@@RobertDoman
Yes, that's right, you set the state, but you create the state to set in the sprite editor!
Sorry, rephrase: the event you are looking for should be found if you type in State, but you need to set up the state in the sprite editor to find the exact wording you said you couldn't find
Download?
hey friend you make gb studio tutorials on how to make a run n gun style game
Great idea, maybe soon!
@@RobertDoman i am creating cuphead for game boy: ua-cam.com/video/qxrTOYA_sXg/v-deo.html
Us Zelda fans hurt a little every time you call him “a zelda character”… its Link 😅 otherwise GREAT VIDEO!
Haha of course, I should say 'a character from the Zelda series', I'll never say Link hahaha
@@RobertDoman if you start calling him Link, I will subscribe ❤
@@gottafindacoolname I'm sure I've called him Link at least once haha
flamesssssssssss
followed your instructions to the fucking t. Nothing is working correctly...
It is important you understand why I'm doing what I'm doing, things change each version, but the concepts stay the same
What exactly doesn't work? Displaying sprites, moving, enemies? When does it start going wrong?
Editing all these lame dialog boxes is way more annoying than writing code.
Pathetic
Dobrze by było jak by powstał manic miner ale taki jak na zx spectrum