Tech: C++17 / CMake [PC/Linux]
Little Engine [WIP] is an unlit, sprite-based 2D game engine built using C++17, using SFML for windowing/rendering/audio, and PhysicsFS for zlib decompression. The project is organised via CMake and supports Win64 and Linux, including Ninja generators and Clang/LLVM compilers.
Development
- No “malloc” / “new” / “free” / “delete” anywhere: strong ownership memory model using unique and shared pointers
- Shallow libraries, deep dependence stack (Ninja builds are recommended)
- Fixed point implementation via scaled integers
- 2D coordinate system and Transform class with cached Matrix3
- Simple locking-queue Job System used for asset loading and particle system matrix multiplications
- Asynchronous render loop using double buffer interpolation
- Fixed-time slice game loop
- Entity-Component architecture (fat class Components)
- Support for loading assets asynchronously through an archive and a manifest
- Debugging console, profiler, render stats, etc.
- Serialised UI layout files and corresponding container classes
- Joystick and mouse support
- Support for CMake single/multi-configuration generators