🎮 My First C++ Game â€ĸ Episode 5 of 7 â€ĸ See All Episodes
🎮 Episode 5 â€ĸ Improver+ â€ĸ Upgrades Episode 4

Full Game!
Platformer Part 2

Open your Episode 4 project, we are shipping a full game: an Enemy class with stomps, an sf::View scrolling camera, spikes, checkpoints and multi-level structure. C++ platforming, complete.

🎮 Ages 12+ 🎮 ~2 Hours 🎮 C++ & SFML ✓ Free
🎮 Enemy class 🎮 Stomp kills 🎮 sf::View camera 🎮 Spikes 🎮 Checkpoints 🎮? Level structs
⭐
0 XP
Level 1
🎮0
Your Progress 0 / 6 steps
đŸ› ī¸
Build it in our C++ Studio too: lay out a level on a grid, tick the SFML features and download a real main.cpp plus a build file, right in the browser with no install. Open the C++ Mod Studio →
đŸ“Ļ
Reference project: download the finished code files used in this workshop: âŦ‡ cpp-platformer-part2-workshop-reference.zip. Every code block also has a Copy button.
đŸ’ģ
How to run: Save, compile and run: g++ game.cpp -o game -lsfml-graphics -lsfml-window -lsfml-system && ./game
🎮
Heads up: SFML 3 renamed a few things. The install step gives you SFML 3 today, but the short snippets in the steps below are written in the classic SFML 2 style. The differences are small and mechanical: sf::VideoMode({800, 500})sf::VideoMode({800, 500}) (curly braces), the new event loop while (const std::optional e = window.pollEvent())while (const std::optional e = window.pollEvent()) with e->is<sf::Event::Closed>()e->is<sf::Event::Closed>(), sf::Keyboard::Key::Leftsf::Keyboard::Key::Left (add ::Key::Key), and setPosition({x, y})setPosition({x, y}) / move({dx, dy})move({dx, dy}) / setCenter({x, y})setCenter({x, y}) (curly braces). The ? complete finished code at the bottom of this page is full SFML 3 and compiles on a fresh install, use it as your reference.
🎮
Need the game so far? This episode continues Platformer Part 1, so it assumes you already have that project. Open your Part 1 file to keep building, or revisit it here: Platformer Part 1 ? â€ĸ C++ Cheatsheet ?
🌐
How it works: write the code in each step, and the canvas on the right shows what your code does. It is a live preview that builds the game as you go. Type to see it update, or press Apply to Canvas to test it straight away.
đŸĻŠ
Lumo says: every step adds one feature to the same game. Type a little, click Apply to Canvas, and test it straight away. There is no wrong answer you can't undo.

Build Platformer Part 2 Step by Step

Each step adds one feature. Write the code, watch it come alive in the canvas, then make it your own.

Step 1 / 6
Moving platforms, enemies and a scrolling level
🎮🎮🎮🎮?
Workshop Complete!
Enemy objects, a real camera, checkpoints and levels, a complete C++ platformer. Two more episodes: the Tower Defence grand finale!
0
Total XP
1
Level
0
Best Streak
0%
Accuracy
🎮 Episode 6: Tower Defence Part 1 ?
⭐ View My Progress & Certificates

This workshop was free and took many hours to build. If it helped you learn something new, consider supporting the project.

☕ Support on Ko-fi

🧩 C++ Game Loop Challenge

Drag the SFML game loop steps into the correct order:

window.display()
window.draw(sprite) for each object
window.clear()
Update game state (positions, collisions)
Poll window events in a while loop
Create the RenderWindow