The olc::PixelGameEngine is a flexible, fast single C++ header file that allows you to handle user input and graphics quickly and simply.

It is the primary tool used by javidx9, on his OneLoneCoder YouTube channel.

Now used by hundreds of developers for:

  • Games
  • Algorithm Visualisations
  • Multimedia Applications
  • Education & Learning
  • Experimentation
  • Prototyping


  • Cross Platform
  • Hardware Acceleration
  • Drawing Routines
  • Sprite Routines
  • Pseudo3D Routines
  • Keyboard Input
  • Mouse Input
  • No Install Required
  • Minimal Dependencies (C++14)
    • Works out of the box on Windows
    • Linux requires libpng and mesa-common-dev
    • Mac requires libpng
  • Easily ported to other platforms
    • Switch, Chromebook, RPI, PSP
  • Often Wrapped for other languages
    • C#, Java, Lua
  • Enhanced by Extensions
    • Audio Playback
    • Gamepad/Joystick
    • Sprite Animations


Download the single header file from Github


Documentation & Tutorial in Github Wiki