From menus to cutscenes and obstacles to enemies, the Let's Build A Platformer! course offers everything you need to create a platformer game from start to finish using GB Studio. For those new to GB Studio, LBaP! also acts as an introductory course for GBS itself, whether or not you’re interested in making platformer games.
For more information about the course,view the LBaP! Course Introduction document.
Check out the state of the game as of the most recent lesson by running the Let's Build a Platformer! game in your browser above.
For a detailed breakdown of all the concepts covered in the course,view the LBaP! Course Glossary document.
Available for free:
Lesson 1: Setting Up a Title Screen (Beginners PDF available in 🇬🇧 🇵🇹 🇪🇸)
Lesson 2: Preparing an Options Menu (Beginners PDF available in 🇬🇧 🇵🇹)
Lesson 3: Implementing and Tracking Options
Lesson 4: Implementing Cutscenes
Lesson 5: Player Animation States and the Platformer Scene
Lesson 6: The Platformer+ Plugin
Guide: GB Studio engine.json Guide
Purchase the full version to access:
Lesson 7: Implementing a HUD
Lesson 8: Updating the HUD
Lesson 9: Implementing a Shop
Lesson 10: Creating a Level Select Menu
Lesson 11: Creating Obstacles
Lesson 12: Creating Enemies
Lesson 13: Taking Your Game to the Next Level
1. Download the latest version of GB Studio
2. DownloadLBaP! Lessons 1 to 6 (v1.0).zip for the free lessons (see "Download Demo" link below) or purchase the full version to downloadLBaP! Lessons 1 to 13.
3. Read the (LBaP!) Course Introduction (v1.0) PDF document
4. If you have any questions or feedback relating to Let’s Build A Platformer! or you just want to share what you're working on with others learning from the course, join the Gumpy Function Games Discord Server.
Happy coding!- Tom (Gumpy Function)
Let’s Build a Platformer! course created by Tom Lockwood (Gumpy Function)
Updated | 1 day ago |
Status | Released |
Platforms | HTML5 |
Rating | Rated 5.0 out of 5 stars (9 total ratings) |
Author | Gumpy Function |
Genre | Educational,Platformer |
Made with | GB Studio |
Tags | 2D,Game Boy,Game Boy ROM,gbstudio,sourcecode,Tutorial |
In order to download this game you must purchase it at or above the minimum price of $20 USD. You will get access to the following files:
Log in with itch.io to leave a comment.
Hi there. I have designed the course to double as a beginners guide to GB Studio itself - especially lessons 1 and 2, which take you step by step through all the basics. The scenes created in lessons 1 to 4 are all Top-down scene types as well, so you will find them most useful. Lesson 5 also covers animation states in more detail so you will find that one paritally useful at least.
Since lessons 1 to 6 are free, I'd recommend certainly working through 1 to 4 as that will give you a great foundational knowledge when starting out. Cheers and good luck!
I'm not tech-savvy, so sorry if this is an obvious question: I was following along well with the PDFs in the first two lessons. But now there's no more PDFs? They're "commented on", I don't know what that means? When I try to pull up the files in the zip, they're just empty projects. I think I'm missing something.
Hi Mark, make sure to unzip the downloaded file as GB Studio won't be able to read the project file unless unzipped.
Once you have unzipped the download file and opened the project, you will be able to view lesson 3. I have made added comments that will explain all the Lesson 3 code and concepts within the project.
I recommend reading the Lesson 3 Overview Devlog as it will introduce the lesson and let you know where to find the comments:
https://gumpyfunction.itch.io/lets-build-a-platformer/devlog/813150/lbap-lesson-...
Hey there, the camera will follow the player as the dash occurs, which can be tweaked to your liking by editing some of the dash related Platformer+ engine variables in the Project Settings Menu.
Here are the dash settings I used in the project (check Lesson 6s project to see the others, if you like).
Dash Input: Double Tap
Dash Style: Ground
Dash Momentum: None
Dash Through...: Nothing
Dash Distance: 600
Dash Time (frames): 10
Dash Recharge Time: 10
Dash Camera Deadzone: 4
You could look into changing the 'Dash Time' (in frames) setting, in particular. Increasing that will slow down the time it takes for your player character to travel from start of dash to end of dash and reduce the erratic camera movement.
Here are Hauntologys P+ Docs if you need any more info:
https://github.com/becomingplural/GBS_PlatformerPlus/tree/main/docs
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 with 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.
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! 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.
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.
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.