I think there should exist games that teach computer science concepts:
- regular expressions
- A* search
- Dijkstra's algorithm
- B+ trees
I remember in college, it was difficult to form an intuitive understanding of these concepts by reading a textbook or listening to a lecture. But I bet if you played a graphical game where you have to construct regular expressions to save the princess, you'd learn them real quick.
For example, in one possible incarnation of the game, the princess would be imprisoned in a traveling buggy. You are riding a horse, attempting to catch up to the buggy. The evil guard driving the buggy throws regular expressions at you. You have to construct a string which matches the regex before it reaches your horse. If you get it wrong, the part that doesn't match will flash green, and you can try again in the remaining time.
The game with B+ trees could consist of building a tree out of numbered jigsaw pieces sent by the princess from her prison tower. Dijkstra's algorithm is used to find the shortest path to the prison tower.
I've expressed this dream to friends, in the past. They laughed at me. Indeed no one will amass wealth or fame from making these games. But they should exist! It is a travesty that they do not exist in this world. The creator of these games would get adoration, at least from me.
This is like Dan's idea that technical articles should be written with dramatic plot and character development. I was skeptical at the time. But now it has been three years, and I still vividly remember that silhouette detection and rendering paper!