indielib is a 2D game engine in C++ for game development and game prototyping, with with tutorials, api, reference, entity system, sprite animations, collision detection, and more.
I like that it's easy to learn how everything works together which makes implementing new features much quicker than other engines i've used before! It has some great tools out of box but you can also write your own if needed as well. Some things are not so intuitive at first - especially when working with events or managing states/variables across multiple entities (which could be solved easily though). The documentation isn't always very clear either. Sometimes there aren't any examples given
Pros
Very simple yet powerful design
Easy to use interface for both beginners & experts alike.
Great asset management system inbuilt along side good user support community available through forums / discord server