if the purpose of a game is you teach something, it has already failed. the design priority always needs to be fun, or people aren't going to play it in the first place.
games like infinifactory or human resource machine do a better job at the educational part, and not surprisingly, aren't marketed as educational.