Sea2D is a 2D Game Sprite Engine written in C++ for macOS. Sea2D stands for “Sprite Engine Apple 2D”. It was part of grad school individual research project.

Note: None of the art is made by me! Any art is only used for demonstration. Art made by Kenney.


  • Working C++ powered graphics engine on macOS
  • Data assets to allow tweaking outside engine code using YAML
  • Sprite system using spritesheet texture and YAML data file
  • Bitmap font system using glyph-sheet texture and YAML data file
  • Support for frame-animated sprites
  • Simple scene graph system with Entities (ie: GameObjects) and Behaviors (called “Components” in Unity3D)
  • Floating point math utility functions
  • Fast 3D vector & matrix library as foundation for fast graphics rendering
  • Advanced 2D camera system that allows rendering on a subsection of the game window (or render on the whole window)


Source Code on GitHub
Download Sea2D Paper (PDF)

The project was written using at least Xcode 7.3 or greater on macOS 10.11.