Using a didactic game engine to teach computer science