Ready to create your first game? This step-by-step guide will walk you through building a complete 2D platformer using Waffle. No coding experience required - just follow the prompts and watch your game come to life! Each step builds on the previous one, so you’ll learn fundamental game development concepts while creating something playable. By the end of this guide, you’ll have a working platformer with movement, jumping, collectibles, enemies, and multiple levels. Let’s get started!

Walkthrough

1

Add a Player and Ground

Our first goal is to get something on the screen! Every game needs a starting point. Without a player and a floor, you can’t test movement or build anything else. This step gives you a sandbox to work in.Prompt to use in Waffle:
Create a 2D game with a player character in the center of the screen. Add a solid ground platform at the bottom so the player doesn’t fall through the screen.
2

Make the Player Move Left and Right

Next, let’s get your character moving horizontally. Basic movement is the core of any platformer. It let’s you explore and interact with your level.Make the Player Move Left and RightPrompt to use in Waffle:
Make the player move left when I press the left arrow key and move right when I press the right arrow key. Keep the player standing on the ground.
3

Add Jumping and Gravity

Awesome, now we want the player move vertically. Jumping turns your flat ground into an actual platformer. Gravity keeps the player from floating endlessly and makes the movement feel real.Prompt to use in Waffle:
Make the player jump when I press spacebar. Add gravity so the player falls back down and lands on the ground.
4

Add Floating Platforms

After we have movement, let’s add more places for the player to explore. This gives your game verticality. Without platforms, your level is just a flat surface with nothing interesting to do.Prompt to use in Waffle:
Add 3 floating platforms above the ground that the player can jump onto and stand on.
5

Add a Goal to Win the Level

It’s important to give the player an objective. Players need a goal. A win condition gives them a reason to move forward instead of wandering aimlessly.Add a Goal to Win the LevelPrompt to use in Waffle:
Place a flag at the right edge of the level. When the player touches the flag, display the text ‘You Win!’ on the screen.
6

Add Coins to Collect

Another good idea is to give the player something fun to grab. Collectibles make the level feel interactive. They give players an incentive to explore and teach them how to navigate your platforms.Prompt to use in Waffle:
Add 5 coins floating above the platforms. When the player touches a coin, remove it from the game and increase a score counter on the screen.
Note: If you want the coins to look like real coins instead of colored circles, you’ll need to upload an image file like coin.png.See our Sprite Guide for help uploading custom images.
7

Add an Enemy

Great! We have movement, goals, and collectibles. Now we need some negative reinforcement - a challenge for the player to avoid. Enemies add tension. Without hazards, the level is too easy and there’s no sense of risk.Add an enemyPrompt to use in Waffle:
Add a simple enemy that moves back and forth on one platform. If the player touches the enemy, restart the level.
Note: Custom enemy graphics will require uploading a sprite sheet like goblin.png.See our Sprite Guide to learn how to create and upload sprites.
8

Add Multiple Levels

Create progression in your game. Multiple levels make the game feel bigger and give players a reason to keep playing beyond the first screen.Prompt to use in Waffle:
When the player touches the flag at the end of the level, load a new level with a different background and platform layout.
9

Add Background Music (Optional)

A cool idea is to make the game feel alive with sound. Music sets the mood and makes the game feel more polished.Prompt to use in Waffle:
Add background music that loops while playing the game.
Note: Adding music requires uploading an audio file like background.mp3.
10

Add a Simple Main Menu

Finally, give the players a place to start or restart the game. A menu is the first thing players see. It makes your game feel complete and gives them control over starting or stopping.Prompt to use in Waffle:
Create a main menu with a ‘Start Game’ button that begins the level and a ‘Quit’ button that exits the game.

Bonus Ideas

Once Steps 1-10 work, try these prompts to make your game even better:
  • Add checkpoints so players don't restart the level from the beginning.
  • Add power-ups that make the player run faster or jump higher.
  • Add particle effects when the player collects a coin or hits an enemy.

Next Steps

Ready to start building your first platformer? Explore these resources: