Dry is a FOSS cross-platform 2D and 3D game engine implemented in C++ that started out as a fork of Urho3D.