Graphics Programming • Game Dev • 2024

Platformer Game

A minimalist 2D platformer game built with C++ and Raylib. Jump, run, and reach the exit across handcrafted levels.

Platformer Game

Overview

This platformer game is a love letter to classic 2D platformers. Built entirely in C++ using the Raylib framework, it demonstrates fundamental game development concepts like physics, collision detection, level design, and game state management.


The project showcases how modern C++ and build tools like CMake and Vcpkg can streamline game development. Whether you're learning game programming or just looking for a fun retro-style platformer, this project has something for you.

Technical Features

Classic Platformer Mechanics

Jump, run, and navigate through handcrafted levels with smooth physics and responsive controls.

Lightweight & Fast

Built with C++ and Raylib for optimal performance and minimal resource usage.

Cross-Platform

Runs on Windows, macOS, and Linux with easy build setup using CMake and Vcpkg.

Clean Codebase

Well-structured, maintainable code that's perfect for learning game development.

Technology Stack

Language
C++
Game Framework
Raylib
Build System
CMake
Package Manager
Vcpkg
Windowing
GLFW
Graphics
OpenGL

Gameplay Features

Smooth character movement with physics-based jumping

Multiple handcrafted levels with increasing difficulty

Collision detection and tile-based level design

Minimalist pixel art aesthetic

Responsive controls optimized for keyboard input

Development Journey

I built this platformer as a way to deepen my understanding of game development fundamentals. The project taught me about game loops, delta time, collision detection algorithms, and how to structure a game's codebase for maintainability.


One of the biggest challenges was implementing smooth physics and responsive controls — ensuring the character feels good to control was more complex than I initially thought. I also learned a lot about level design and how subtle changes in jump height or movement speed can completely change how a game feels.


The project uses Raylib, a simple and easy-to-use game framework that's perfect for learning. Combined with modern build tools, it made the development process smooth and enjoyable.

More Projects