If you're not content to play existing games and want to create your own Interactive Fiction (IF), there are tons of good resources out there. Until recently, IF authorship was pretty evenly split between TADS 3 and Inform 6, which are quite sophisticated object-oriented programming languages. There are also other languages such as Hugo, Alan and Adrift which have their own followings, though at a smaller scale.
Here's a brief excerpt of what it looks like to code in Inform 6
Object foyer "Foyer of the Opera House" with description "You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers overhead. The entrance from the street is to the north, and there are doorways south and west.", s_to bar, w_to cloakroom, n_to "You've only just arrived, and besides, the weather outside seems to be getting worse.", has light; Object cloakroom "Cloakroom" with description "The walls of this small room were clearly once lined with hooks, though now only one remains. The exit is a door to the east.", e_to foyer, has light; Object hook "small brass hook" cloakroom with name 'small' 'brass' 'hook' 'peg', description [; print "It's just a small brass hook, "; if (self == parent(cloak)) "with a cloak hanging on it."; "screwed to the wall."; ], has scenery supporter;
In 2006, Inform author Graham Nelson launched an all-new language called Inform 7, which is a much higher-level system that uses a plain english type of declarative rule-based programming. Inform 7 includes a graphical IDE (Interactive Development Environment) for creating your text, compiling it, debugging it and so on. The Inform 7 IDE is available for Windows, Mac and Linux.
Here's the same code written in Inform 7:
Foyer of the Opera House is a room. "You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers overhead. The entrance from the street is to the north, and there are doorways south and west." Instead of going north in the Foyer, say "You've only just arrived, and besides, the weather outside seems to be getting worse." The Cloakroom is west of the Foyer. "The walls of this small room were clearly once lined with hooks, though now only one remains. The exit is a door to the east." In the Cloakroom is a supporter called the small brass hook. The hook is scenery. Understand "peg" as the hook. The description of the hook is "It's just a small brass hook, [if something is on the hook]with [a list of things on the hook] hanging on it[otherwise]screwed to the wall[end if]."
There are excellent resources available for Inform 7 including the full manuals, tutorials, examples and extensions. While hard-core programmers may prefer Inform 6 or TADS since they more closely resemble traditional programming, more and more IF is being written these days with Inform 7 due to its easy accessibility.
The Cloak of Darkness site, from which these examples are taken, is a good resource for seeing code in various IF programming languages.