Use unique pointers. Builds and runs. Gravity is somewhat fixed - falls work, players lose momentum after a jump but then they don't fall any further - floor may be broken.