Rogue (1980)
We’ve mentioned roguelikes, but just what is this Rogue that they’re like?
Rogue is, as you can see above, a dungeon-crawling roleplaying game. It is by no means the earliest: The very first printing of Dungeons & Dragons was in 1974 and there were already dungeon crawlers on the PLATO system by 1975.
The crucial difference between Rogue and its UNIX contemporaries was that Rogue procedurally generated its dungeons. Where many other games, following after ADVENT, had fixed adventures, the dungeon in Rogue was new every time. This was one of the developer’s goals:
One of the things we wanted to do was create a game we could enjoy playing ourselves. Most of the existing adventure-type games had “canned” adventures – they were exactly the same every time you played, and of course the programmers had to invent all of the puzzles, and therefore would always know how to beat the game. We decided that with Rogue, the program itself should “build the dungeon”, giving you a new adventure every time you played, and making it possible for even the creators to be surprised by the game.
– A Brief History of “Rogue" by Glenn R. Wichman
Michael Toy, Glenn Wichman, and Ken Arnold originally developed Rogue on university computers running BSD/Unix; when it got included in the BSD distribution its position in history was assured as it spread across college campuses worldwide. The game rapidly spawned clones, creating the nascent roguelike genre.
The version I’m playing above is a port of the 5.4.4 Unix version, which is from ‘85 or so. By that time, the roguelike genre was well underway, though scattered and with haphazard cross-pollination.
You’ll notice that it’s not just the maps that are procedurally generated: the scroll I picked up has a randomly assigned name, and I won’t know which scroll it actually is until I identify it. Procedural generation can create exploration for more than just spatial movement; exploration can apply to systems as well as maps.