Open source 2D tile based engine written in C++