Let's Build a Platformer!
Let's Build a Platformer! is a course designed to teach anyone how to create a platformer game using GB Studio 4+.
This course accommodates newcomers to GB Studio. Follow along with Lesson 1 and 2s PDF instructions to build a Title Screen and Options Menu from scratch and familiarize yourself with GB Studios many features.
From Lesson 3 onwards, the course has been restructured and does not include a PDF to follow along with. Each lesson instead comprises of a .zip project that has been fully commented. By following the steps in the 'Getting Started' section below, you can study the detailed comments to learn how to create your own platformers.
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.
Keyboard Controls:
D-pad >>> Arrow Keys
Start, Select >>> Enter, Shift
A, B >>> Z, X
Free Assets:
- 2 variable width fonts (see Lesson 4 Overview devlog)
- My take on the GBD sample projects platformer tileset (see Lesson 5 Overview devlog)
- A collection of variant emote bubbles (see Lesson 5 Overview devlog)
The following lesson plan is subject to change as it develops. To ensure this course remains relevant, I will do my best to update it as GB Studio changes over time.
Available Now
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 Cutsenes
Lesson 5: Player Animation States and the Platformer Scene
Lesson 6: The Platformer+ Plugin
In Development
Lesson 7: Implementing a HUD
Lesson 8: Creating Obstacles
Lesson 9: Creating Enemies
Lesson 10: Player Knockback
Lesson 11: Creating Collectibles
Lesson 12: Creating a Level Select Menu
Lesson 13: Creating a Totals Screen
1. Download the latest version of GB Studio
2. Download each lesson as required.
3. Read each Lesson Overview by clicking on its respective Devlog. From Lesson 3 onwards, the Devlog Overviews are essential reading as they detail what has been added with each new lesson and will give you some direction before jumping into the project file.
If you are a beginner, I recommend following along with Lesson 1 and 2's PDF document to familiarize yourself with GB Studio.
If you are familiar with GB Studio, feel free to skim through the PDF documents before downloading Lesson 3, you may find out something you didn't know!
In the spirit of GB Studio, the Let's Build a Platformer! course will remain free, no matter how large in scope it becomes. With that being said, I do need to pay the bills and this is taking me hundreds of hours to make. If you have the means and do want to support me and the production of this course, any donations will be greatly appreciated.
Feel free to share feedback regarding the lessons in the comment section below or request topics you would like me to cover in greater detail.
Happy coding!
- Tom (Gumpy Function)
Let’s Build a Platformer! course created by Tom Lockwood (Gumpy Function)
Updated | 2 days ago |
Status | Released |
Platforms | HTML5 |
Rating | Rated 5.0 out of 5 stars (6 total ratings) |
Author | Gumpy Function |
Genre | Educational |
Made with | GB Studio |
Tags | Game Boy, Game Boy ROM, gbstudio, Tutorial |
Download
Click download now to get access to the following files:
Development log
- LBaP! Lesson 6 Overview2 days ago
- LBaP! Translations & Additional "Follow-Along" Docs6 days ago
- LBaP! Lesson 5 Overview46 days ago
- LBaP! Lesson 4 Overview55 days ago
- LBaP! Lesson 3 Overview63 days ago
- LBaP! Lesson 2 Overview76 days ago
- LBaP! Lesson 1 Overview78 days ago
Comments
Log in with itch.io to leave a comment.
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.