Using game elements such as goals, levels and feedback to support learning: what tends to work, what to avoid and how to design it for your own class.