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.

UPDATE: Lesson 1 and 2 Beginners PDF Tutorial is now available in and Portuguese and Lesson 1 in Spanish! A big thank you to Proto Pixel and Rose Cool Beans for assisting in the Spanish translation and Priamo J. for the Portuguese translation.

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

In Development
Lesson 6: The Platformer+ Plugin and Coding a Player Move-set
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 6 days ago
StatusReleased
PlatformsHTML5
Rating
Rated 5.0 out of 5 stars
(6 total ratings)
AuthorGumpy Function
GenreEducational
Made withGB Studio
TagsGame Boy, Game Boy ROM, gbstudio, Tutorial

Download

Download NowName your own price

Click download now to get access to the following files:

Lesson 5-Player Animation States and the Platformer Scene (LBaP!).zip 1.8 MB
Lesson 4-Implementing Cutscenes (LBaP!).zip 1.5 MB
Lesson 3-Implementing and Tracking Options (LBaP!).zip 1.1 MB
Lesson 2-Preparing an Options Menu (LBaP!).zip 1.4 MB
Lesson 1-Setting Up a Title Screen (LBaP!).zip 1.4 MB

Development log

Comments

Log in with itch.io to leave a comment.

That cutscene is awesome! Can't wait to get stuck in!

(-1)

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

(+2)

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?

(2 edits)

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. 

(+1)

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.

(+1)

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

(2 edits) (+1)

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?

(1 edit) (+1)

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.

(+1)

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!

(+1)

I love your platformers. I'm thrilled for this.

(+1)

Thank you, bud. I'm excited to help you learn.

(1 edit)

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!!

(+1)

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

(2 edits) (+1)

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.