You could set a global variable to true at the start of the dash state and then false at the end using the 'Attach Script to P+ State' event. Then check that variable in the enemies 'On Hit' script. If true, then destroy the enemy, else player is hurt.
There is also the 'Store P+ State in Variable' event in the P+ plugin. That checks what state the player is in and stores it in a variable. You could use that event within the enemies 'On Hit' script. Directly after that event, you check if the stored variable is equal to the dashes value (the 'Store P+ State in Variable' event will tell what value is associated to what state) and run a script if true, else player is hurt. If you need to check for multiple states at once, you can use an 'If Math Expression' event.
I'll add this kind of functionality to the game in an upcoming lesson, in fact. I'll be adding little mini-missions to some of the houses in Peas home town to explore these kinds of mechanics and discuss how to effectively tutorialize mechanics in games.
With the latest build (lesson 6) there’s a noticable lag in the movement in the platformer section. I both tested it in the browser and with the BGB emulator. Is this just how it is with platformers in DMG mode (build with GB Studio and Platformer+) or may have something crept in the latest build that causes that lag (e.g. an unnecessary, costly check in an “on update” event) and was forgotten to comment out?! I compiled the project in Colour Mode and that’s when the simulated CPU can handle everything fine – but it’d be cool if DMG mode needs not to be abandoned for a great-feeling platformer. That being said, excellent new lesson – already learned plenty from your documentation! Thank you so much!
All good, great to hear the feedback. I thought about enabling it for this lesson because the frame rate dips are pretty bad. But then I figure its a good opportunity to see what happens when you start adding all these plugins and features to a game in DMG mode and hold off on enabling it for learning purposes.
I'll be discussing my thoughts about DMG mode in relation to GBS platformer design in the next lesson but essentially; making a good platformer in GBS effectively requires the GBC as the P+ engine is a must IMO. While it does provide a good amount of scope and depth for designers, it is at the cost of optimized code.
When I started making Feed IT Souls for GB Compo 23, my original self-imposed challenge was to attempt to create a good platformer that runs smoothly in DMG mode within 6 weeks. By the end of week 1, I realized it would be impossible for me to implement mechanics that would make the game unique/interesting and have it run well. This is why Feed IT Souls uses a single palette - the art was made with DMG in mind and in jam conditions, I wasn't about to redo it all for color mode, instead opting to give the player unlockable palettes).
so ok i did not play the game and i want to compare it to another game engine, gdevelop 5. first why would you want to make a game on a game boy game. i know its cool that its possible but why... oh wait its named gb studio 4. second i tried the web mode and it freezes with 3 diffrent colored dots on the bottom right when i start the game. wait, is it loading ?. third, does it actually teach you how to make a game boy game or is it just for fun
Well, I'm making a Sonic fangame and I'm having trouble implementing the duck/crouch feature.
Here's the player's normal collision box;
When Sonic is crouched he should have a collision box of 16x16;
I've tried to set a different player sprite by attaching a script to the down button, it didn't work. That's why I came to you for help. Any idea of what I'm doing wrong?
Hello Tom! Would you be interested in translating the course into other languages? I'm sure plenty of non-English-speaking #gamedevs would be interested in such a valuable resource. Please let me know what you think. Cheers!!!
Hello! Thank you so much for taking the time to make this course. I greatly appreciate it! I wanted to mention that you can get stuck on the options menu in the beginning of this game/course.
Specifically, if you keep pressing down (past Credits), the cursor will keep going down to what seems indefinitely. Additionally, I cannot go back up normally. If I press down too many times and want to go up, it does not let me. It immediately sends the cursor next to "Credits" and stays there. I had to reload the page again to start over.
We will be using the Platformer Plus plugin and manipulating the states within in it. It is a state machine, but we won't need to touch any engine code to create nice platformer movement.
related to platforms like everything, the eggs that you can step but then they break and you fall.... the pissed floor that lets you slip, the "dash" and the wall slide, that game is full of great stuff
I will be sharing how to create a breakable platform in the 'creating obstacles' lesson. I can also include the slippery puddles mechanic in that lesson, too. It will be a good example of using triggers to create unique mechanics, in fact.
There will be a very in-depth lesson on the Platformer Plus states (such as dashing) and how to tweak them to make your game more unique. The Player Move-set will likely end up being covered over multiple lessons because there is so much going on with that element of game design.
I finished writing the second lesson this evening. I will spend a day or so polishing it before I release it.
I have built the game up to lesson 4 but planned well beyond that. And have started working on gathering screenshots and writing up a draft for lesson 3.
So what I will do is release lesson 2 very soon, lesson 3 likely next week.
It's taken me around 30 hours to complete lesson 2 (including creating the assets and building the game in a way that will suit the lessons) though.
Depending on the size of each lesson and how detailed I go into various aspects of game development, the course may take quite a few months to complete in full.
But I will attempt to make a big push to get the earlier lessons out asap. That way, we can get beyond the basics and move into the more meatier aspects of creating a platformer sooner rather than later.
That is amazing. I’m really excited for the more meatier parts.
This is why I asked in the first place.
I really appreciate your time and work you’re pouring into this.
Don't push yourself to get each lesson out though... Bigger in-depth lessons spaced out are far more rewarding than having lots of them available which contain errors or are incomplete. Can't wait to read (and follow along) the lot!
← Return to game
Comments
Log in with itch.io to leave a comment.
Hi, Tom. How do I implement destroying enemies using P+ dashing state?
Hey there,
There are a couple of ways to do this.
You could set a global variable to true at the start of the dash state and then false at the end using the 'Attach Script to P+ State' event. Then check that variable in the enemies 'On Hit' script. If true, then destroy the enemy, else player is hurt.
There is also the 'Store P+ State in Variable' event in the P+ plugin. That checks what state the player is in and stores it in a variable. You could use that event within the enemies 'On Hit' script. Directly after that event, you check if the stored variable is equal to the dashes value (the 'Store P+ State in Variable' event will tell what value is associated to what state) and run a script if true, else player is hurt. If you need to check for multiple states at once, you can use an 'If Math Expression' event.
I'll add this kind of functionality to the game in an upcoming lesson, in fact. I'll be adding little mini-missions to some of the houses in Peas home town to explore these kinds of mechanics and discuss how to effectively tutorialize mechanics in games.
With the latest build (lesson 6) there’s a noticable lag in the movement in the platformer section. I both tested it in the browser and with the BGB emulator. Is this just how it is with platformers in DMG mode (build with GB Studio and Platformer+) or may have something crept in the latest build that causes that lag (e.g. an unnecessary, costly check in an “on update” event) and was forgotten to comment out?! I compiled the project in Colour Mode and that’s when the simulated CPU can handle everything fine – but it’d be cool if DMG mode needs not to be abandoned for a great-feeling platformer. That being said, excellent new lesson – already learned plenty from your documentation! Thank you so much!
Whoops, you tackle that problem in the final paragraph of the Overview! Alright. So COLOR MODE it will be in forthcoming installments – got it!
All good, great to hear the feedback. I thought about enabling it for this lesson because the frame rate dips are pretty bad. But then I figure its a good opportunity to see what happens when you start adding all these plugins and features to a game in DMG mode and hold off on enabling it for learning purposes.
I'll be discussing my thoughts about DMG mode in relation to GBS platformer design in the next lesson but essentially; making a good platformer in GBS effectively requires the GBC as the P+ engine is a must IMO. While it does provide a good amount of scope and depth for designers, it is at the cost of optimized code.
When I started making Feed IT Souls for GB Compo 23, my original self-imposed challenge was to attempt to create a good platformer that runs smoothly in DMG mode within 6 weeks. By the end of week 1, I realized it would be impossible for me to implement mechanics that would make the game unique/interesting and have it run well. This is why Feed IT Souls uses a single palette - the art was made with DMG in mind and in jam conditions, I wasn't about to redo it all for color mode, instead opting to give the player unlockable palettes).
so i do not want gb studio to be my main game engine but i want catel albastru joc video on my 3ds so i chose that
That cutscene is awesome! Can't wait to get stuck in!
so ok i did not play the game and i want to compare it to another game engine, gdevelop 5. first why would you want to make a game on a game boy game. i know its cool that its possible but why... oh wait its named gb studio 4. second i tried the web mode and it freezes with 3 diffrent colored dots on the bottom right when i start the game. wait, is it loading ?. third, does it actually teach you how to make a game boy game or is it just for fun
Hey there, you can read the description above for all the details. The course is currently in development.
Hi, Gumpy. I need help with something.
Yes, what can I help you with?
Well, I'm making a Sonic fangame and I'm having trouble implementing the duck/crouch feature.
Here's the player's normal collision box;
When Sonic is crouched he should have a collision box of 16x16;
I've tried to set a different player sprite by attaching a script to the down button, it didn't work. That's why I came to you for help. Any idea of what I'm doing wrong?
You can set a new hitbox using the 'Set Actor Collision Bounding Box' event when sonic is set to his crouching state.
The GB Studio Discord is really good for fast responses to these types of questions, I'd join the discord if you haven't already.
I don't seem to have that event, is it in a plug-in?
You may not be using the most recent version of GB Studio? It's a new event that is not currently listed in the GBS docs.
Hello Tom! Would you be interested in translating the course into other languages? I'm sure plenty of non-English-speaking #gamedevs would be interested in such a valuable resource. Please let me know what you think. Cheers!!!
Hey there, feel free to contact me on discord to discuss.
Hello! Thank you so much for taking the time to make this course. I greatly appreciate it! I wanted to mention that you can get stuck on the options menu in the beginning of this game/course.
Specifically, if you keep pressing down (past Credits), the cursor will keep going down to what seems indefinitely. Additionally, I cannot go back up normally. If I press down too many times and want to go up, it does not let me. It immediately sends the cursor next to "Credits" and stays there. I had to reload the page again to start over.
Indeed, lesson 3 will complete the Options menu. The build above is the state of the Game at the end of Lesson 2.
I hope that the player movement isn’t some complex state machine.
We will be using the Platformer Plus plugin and manipulating the states within in it. It is a state machine, but we won't need to touch any engine code to create nice platformer movement.
This tutorial will really teach everything on super dasalo land??? Because there are some stuff in that game that i would LOVE to learn how to do n.n
Pretty much, yes. Let me know what you want to learn.
related to platforms like everything, the eggs that you can step but then they break and you fall.... the pissed floor that lets you slip, the "dash" and the wall slide, that game is full of great stuff
No problem.
I will be sharing how to create a breakable platform in the 'creating obstacles' lesson. I can also include the slippery puddles mechanic in that lesson, too. It will be a good example of using triggers to create unique mechanics, in fact.
There will be a very in-depth lesson on the Platformer Plus states (such as dashing) and how to tweak them to make your game more unique. The Player Move-set will likely end up being covered over multiple lessons because there is so much going on with that element of game design.
wow amazing, i'll help me a lot with my proyects n_n thanks a lot man you're priceless
Donated for Lesson #1! Hopefully I'll keep up the donations per lesson!
Thanks so much, really appreciate the support.
Do you have a timeline in mind for the next 2?
I finished writing the second lesson this evening. I will spend a day or so polishing it before I release it.
I have built the game up to lesson 4 but planned well beyond that. And have started working on gathering screenshots and writing up a draft for lesson 3.
So what I will do is release lesson 2 very soon, lesson 3 likely next week.
It's taken me around 30 hours to complete lesson 2 (including creating the assets and building the game in a way that will suit the lessons) though.
Depending on the size of each lesson and how detailed I go into various aspects of game development, the course may take quite a few months to complete in full.
But I will attempt to make a big push to get the earlier lessons out asap. That way, we can get beyond the basics and move into the more meatier aspects of creating a platformer sooner rather than later.
That is amazing. I’m really excited for the more meatier parts. This is why I asked in the first place. I really appreciate your time and work you’re pouring into this.
Don't push yourself to get each lesson out though... Bigger in-depth lessons spaced out are far more rewarding than having lots of them available which contain errors or are incomplete. Can't wait to read (and follow along) the lot!
I love your platformers. I'm thrilled for this.
Thank you, bud. I'm excited to help you learn.
Can't wait to get my teeth into this series and hopefully learn some good practices!
Super Dassal Land was a feast of quality platform tricks and implementation. Hope this shows off some of those principles!!
Cheers! I'll cover more or less everything that was implemented in Super Dassalo Land, yep.
Merci pour cette initiative !
J'espère avoir le temps dans les prochains mois de suivre votre cours car j'adorerais faire un petit jeu de plateforme sur Gameboy 🙂
Bonne journée !
Pleasure. I'll do my best to release lessons quickly. Certainly for the first few lessons so beginners can get some momentum going as they learn.
the rom playing in the web browser works? i cannot pass the options menu XD
It does, the browser version represents the project up to the most recently released lesson. At this point, lesson 1.
As the course is developed and subsequent lessons are released, the browser game will be updated accordingly.
so.... up to the title screen? XD
Correct - lesson 1.