I recommend that you read Brain Rot by Theodore Grey and Jerry Glynn. Among other things, it discusses this very topic. The summary I took away from it is you should make the game open-ended, giving full freedom to the player to go down the wrong paths, rather than being led down the right path.
Interesting snippets:
Software should not be unnecessarily hard to use, but neither should it shy away from or disguise the inherent richness of the subject matter. It should be open-ended, deep, and capable of doing senseless things if asked.
In a continuation of the above point, in a discussion of programs to teach geometry:
If students decide to build a completely useless geometrical construction, the program won't stop them. It lets them discover for themselves that their construction is uninteresting. This is very important: By allowing freedom to go off in the wrong direction, the software is giving students the opportunity to learn.
Anyone can make an omelet with eggs. The trick is to make one with none.