I found this great list of design patterns for serious games. For example, here is an entry on what types of interaction work well to teach certain subjects.
If the project has a constrained budget or if you don’t know all the knowledge which must be inserted into the Serious Game, you can design Questions-Answers. If the pedagogical objectives contain memorizing simple and factual knowledge, you can apply Pavlovian Interactions based on repetition and time-pressure. To make abstract concepts more understandable, it could also be useful to design In Situ Interactions i.e. placing the user into detailed, narrative and emotional contexts where concepts are exemplified. If the pedagogical objectives contain a complex system to understand you can design Microworld Interactions where users will build or modify this system in order to perceive its relations and components. If the pedagogical objectives include the discovery of different points of view, you can design Social Pedagogical Interactions. If pedagogical objectives contain different types of knowledge, don’t hesitate to design Serious Varied Gameplay.