Pikuma is the GOAT on this subject, his cpp 2d game engine course is exactly what you want where he is using many of the "new" features of cpp17 to get stuff to work such as heavy use of templates and smart pointers. I took the course as a way of learning a thing or two about game engines as practice and some c++ (or rust-- as its called sometimes :P).