🎮 My First C++ Game â€ĸ Episode 1 of 7 â€ĸ See All Episodes
🎮 Episode 1 â€ĸ Beginner â€ĸ No C++ Experience Needed

Compile & Play!
Pong in C++

Your first C++ game with the SFML library: two paddles, a bouncing ball, scores and an AI. C++ powers Unreal, most AAA studios and every console, and it starts right here with Pong.

🎮 Ages 12+ 🎮 ~2 Hours 🎮 C++ & SFML ✓ Free
🎮 SFML setup 🎮 Game loop 🎮 Shapes & drawing 🎮 Real-time input 🎮 Delta time 🎮 Simple AI
⭐
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-pong-workshop-reference.zip. Every code block also has a Copy button.
🎮
Stuck?
- SFML not found ? Check your compile command includes -lsfml-graphics -lsfml-window -lsfml-system
- Window does not appear ? Make sure SFML DLLs are in the same folder as your .exe
- Font not found ? Download a .ttf font and put it in your project folder
🎮
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}) (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.
🌐
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 Pong 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
Two paddles and a ball
🎮🎮🎮🎮?
Workshop Complete!
You compiled, linked and shipped a C++ game with delta-time movement, genuinely professional foundations. Episode 2: Snake!
0
Total XP
1
Level
0
Best Streak
0%
Accuracy
🎮 Episode 2: Snake ?
⭐ 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