Skip to content

C++ Coding Framework for Windows, Linux, macOS and Browser games

License

Notifications You must be signed in to change notification settings

MausGames/core-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Core Engine

software license: zlib content license: CC BY

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