Mimema
Mimema (greek for "to imitate") is a "from scratch" C++ 3D Game Engine using OpenGL. It's an expansion on my old 2D Game Engine (https://github.com/spotenza2016/CPP-Game-Engine) with the intention of developing it into a complete and functional 3D Game Engine from scratch for practice/as a personal challenge. I intend to use this to create a pretty simple 3D puzzle exploration game for fun :D.
Current Dependencies (end goal is to only use OpenGL wrappers)
Current Functionality
- 3D Model and Texturing Support (Olive Otter model from Shipwrecked64 for Testing)
- Phong Shading with GLSL Shaders
- Multicolored Point Lights (with attenuation) and Direction Lights
- Camera Movement with HMI Class
- Fixed Timestep Engine Loop with Linear Interpolation between frames based on Accumulator
- Custom Level File System (.MIMEMA_LEVEL files)
- Octree Collision Detection and Gravity Physics
- Separating Axis Theorem for convex colliders
Future Goals (check out the Issues tab for full list :D)
- Shadows and Reflections
- Scripting Support
- Model Animation
- Audio using OpenAL
- Setup CI with smell checks and style requirements
- Netcode and Proxy Chat (long term goal)