A warm and fuzzy 2D game engine.
CoffeeMaker is an open source 2D game engine written in C++ with SDL2.
This engine is being built alongside an arcade 2D top-down space shooter game. All game specific files are located within
src/Game
.
- B-Spline creation
- Events
- SDL2 Mouse Event
- SDL2 User Event
- Window creation
- 2D Renderer with SDL2
- Sprites
- Audio
- Play music
- Play sound effects
- Animation
- B-Spline Animations
- Sprite Animations
- Input Manager
- Keyboard
- Scenes
- Physics
- AABB
- Fonts (TTF)
- UI widgets
- View
- Buttons
- Text
- Flexbox-like positioning
- Math
- 2D Vectors
- Bezier Curves
- Lerps
- Random Number Generation
- Async
- Timeouts
- Intervals
- Logging
- Log to files
- Log to consoles
vcpkg is a required package manager for this project. If you do not have vcpkg installed, you can follow the instructions in the link to install and setup vcpkg
.
- Clone
git clone https://github.com/obscurelyme/CoffeeMaker
-
Download the assets from Google Drive into ./CoffeeMaker/assets.
-
Run ./scripts/post-build.{sh | bat} to copy over assets into build directory.
-
Configure
-
Build