Core Engine

Core Engine

  • Description

    The Core Engine is an extensive C++ framework based on the SDL library, currently for Windows, Linux and Android games and compatible with OpenGL (ES) 2.x, 3.x and 4.x capable hardware.

    This project is under constant development, and it already provides a wide range of tools and features, solid performance, high stability, easy setup and well-written code. 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 (compressed), Shaders, Fonts
    • Audio: Sound Effects (.wav), Music Files (.ogg), Music Player
    • Input: Mouse, Keyboard, Joysticks/Gamepads, Touch, Haptic
    • Debug: CPU and GPU Performance Monitor, Run-Time Value and Texture Inspection, Pipeline Statistics
    • Asynchronous Resource Management (Hot-Reloading, Indirections/Proxies), Memory Management (Global Sharing, Pool Allocations, Alignment)
    • File Handling (Packaging, Mounting, Compression), HTML Log, Configuration and Language Files
    • Compile-Time Hashing, Random Numbers, Specialized Containers, General Utilities (String, Time, OS, etc.)
    • Vectors (2d, 3d, 4d/Quaternions), Matrices (2x2, 3x3, 4x4), Splines
    • Game Objects (2d, 3d), Particle System, Batching, Precise Collision Detection
    • Menu Objects (Labels, Buttons, Check Boxes, Selection Boxes, Text Boxes)



    The engine works with GCC/MinGW 6.2+, MSVC 14.1+ and Clang 4.0+.
    Released under the zlib License.

    Language: C++ Version: 0.0.9a (2017-05-27) Status: under development

  • Libraries

    SDL under zlib
    SDL_image (jpeg, png, zlib) under zlib
    SDL_ttf (freetype) under zlib
    GLEW under BSD-3 and MIT
    OpenAL Soft under LGPL
    OpenAL Soft with Android backend under LGPL
    OGG Vorbis under BSD-3
    SimpleIni under MIT
    stb_dxt under CC0 1.0
    forsyth_too under MIT
    Noto Fonts under SIL OFL


    Android development requires the latest SDK and NDK, the JDK and Ant (integrated into most Java IDEs).

  • Update Notes

      • implemented full memory management
      • implemented precise collision detection
      • implemented hashing support (CRC-32, FNV-1a, Murmur2)
      • implemented compile-time string hashing
      • implemented data compression (deflate)
      • implemented lightweight compute shader support
      • implemented multi-monitor support and DPI awareness
      • implemented resource proxies (indirections)
      • implemented 1- and 2-channel texture compression (BC4, BC5)
      • improved debugging (pipeline statistics, texture inspection)
      • improved logging (shader stats, performance counters)
      • implemented automatic texture compression and vertex cache optimization
      • implemented central collision detection
      • implemented text outlining
      • implemented haptic (rumble) functions
      • implemented many new supporting functions and structures (again)
      • greatly improved application start-up and shut-down performance
      • added Windows x64 and code signing support
      • improved geometry compression and model loading
      • improved application and engine configurability
      • implemented debug component (for measurement and inspection)
      • implemented many new supporting functions and structures
      • improved performance and cross-platform compatibility
      • improved overall concurrency and fixed asynchronous resource management
      • improved shader and program integration
      • implemented geometry instancing and persistent mapped buffers
      • implemented touch input
      • added game launcher project files
      • began to review, redesign and refactor the whole engine
      • implemented particle system classes
      • improved data and vertex buffer management
      • implemented framebuffer and font objects
      • implemented menu system and many different menu objects
      • implemented music objects and music player
      • implemented fast-lookup container
      • implemented 2d and 3d objects
      • added basic project/template controls
      • implemented shader and model objects
      • added basic support for Android development
      • added project files for NetBeans
      • implemented basic system, graphics, audio and input interface
      • implemented resource management, texture and sound objects
      • implemented math classes, data utilities, thread and timer objects
      • implemented basic filesystem, HTML log and configuration file
      • added project files for Visual Studio and Code::Blocks

    Related Sites

Loading Feed

Maus Games

© 2012-now Martin Mauersics
This email address is being protected from spambots. You need JavaScript enabled to view it. - Legal Notice