A knowledge engineering approach to developing educational computer games for improving students' differentiating knowledge | Synapse