The Core Engine is an extensive C++ framework based on the SDL library for Windows, Linux, macOS and Browser games and compatible with OpenGL (2.0 - 4.6), OpenGL ES (2.0 - 3.2), WebGL (1.0 - 2.0) and ANGLE.
It is designed to be supportive, versatile and powerful, and to dynamically use efficient fallback methods where specific system features are not available.
- System: Hardware, Window and Event Handling, Timer, Threads
- Graphics: Camera, View Frustum and Lighting Control, Frame Buffers, Data Buffers, Models (.md3, .md5, packed), Textures (.png, .webp, compressed, animated), Shaders (parallel compiled, cached), Fonts, Screenshots
- Audio: Sound Effects (.wav, .opus, compressed), Music Files (.ogg, .opus, streamed), Music Player (seamless, threaded)
- Input: Mouse, Keyboard, Joysticks/Gamepads, Touch, Rumble
- Debug: CPU and GPU Performance Monitor, Run-Time Value and Texture Inspection, Pipeline Statistics, Debug Visualizers (Natvis, LLDB), Crash Dumps
- Platform: Achievements, Stats, Leaderboards, Data Sharing, Rich Presence, User Management, Dynamic Backend Loading (Steamworks, EOS)
- Asynchronous Resource Management (Hot-Reloading, Indirections/Proxies), Memory Management (Global Sharing, Pool Allocations, Alignment)
- File Handling (Packaging, Mounting, Compression, Safe Writing), HTML Log, Configuration and Language Files
- Compile-Time Hashing, Random Numbers, Specialized Containers (List, Set, Map), General Utilities (String, Time, OS, etc.)
- Vectors (2d, 3d, 4d/Quaternions, Colors), Matrices (2x2, 3x3, 4x4, other), Splines
- Game Objects (2d, 3d), Particle System, Batching, Precise Collision Detection
- Menu Objects (Labels (simple, rich), Buttons, Check Boxes, Selection Boxes, Text Boxes, View/Scroll Boxes)
- Tools (Blender Export, Shader Validation, Texture Optimization), Project Template, Launcher (Windows, Linux, Browser)
Please understand that pull requests are currently not accepted, as this is mainly a personal project and learning experience.
Name | Description | Links |
---|---|---|
Eigengrau | Colorful shoot'em up with varied and diverse gameplay | GitHub, GitLab |
Disco Rock | Very simple endless-runner inspired by the 70s disco era | GitHub, GitLab |
Flip It | Competitive territory game made on Mi'pu'mi day | GitHub, GitLab |
Party Raider | Multiplayer platform shooter made on Mi'pu'mi day | GitHub, GitLab |
Endless Journey | Spiritual arcade climber made on Mi'pu'mi day | GitHub, GitLab |
Last Fall | Tricky arcade puzzler made for Ludum Dare 49 | GitHub, GitLab |