At UC Santa Cruz
The concept of Rogue originated with Michael Toy and Glenn Wichman. Toy grew up in Livermore, California, where his father was a nuclear scientist. Once a year, his father's workplace allowed employees' families to visit, which included allowing them to use the facility's mainframe system to play games. Toy took interest in the text-based Star Trek game (1971), which represented space combat through characters on screen, and required players to make strategic decisions each turn. Toy started to learn how to program and recreate this game on other computer systems that he could access, including the Processor Technology Sol-20 and the Atari 400.
Toy enrolled in computer science at the University of California, Santa Cruz (UCSC) in the late 1970s. Working first on UCSC's PDP-11 and then its VAX-11, Toy began exploring what games were available over ARPANET, the predecessor of the current Internet. One game that intrigued him was Colossal Cave Adventure (also known as Adventure) (1976) by William Crowther and Don Woods. Adventure, considered the first text-based adventure game, challenged the player to explore a cave system through descriptions given by the computer and commands issued by the player. Toy was impressed by the game and started writing his own.
Toy met Wichman, another student at UCSC who was also writing his own adventure game. Wichman had created his own variations on traditional role-playing games such as Dungeons & Dragons while growing up. Wichman had chosen UCSC specifically to study game design to become a board-game developer, and this led him into the computer sciences to get the opportunity to play and develop games. The two became friends, shared an apartment, and challenged each other with their own adventure game creations. Of the two, Toy was more proficient at coding, while Wichman had a better sense of the design of these games. Toy and Wichman soon found that most adventure games suffered from a lack of replayability, in that the game did not change on separate playthroughs.
Around this time, ca. 1980, the Unix operating system included in the Berkeley Software Distribution (BSD) had started to gain a foothold as the operating system for many of the University of California's campuses. One element of the BSD distribution at this point included the curses programming library by Ken Arnold. curses enabled a programmer to place characters at any point on a terminal, effectively allowing for "graphical" interfaces. When Toy saw this library, he and Wichman quickly realized the potential for it. After crafting a few games using curses to learn the library, they came up with the idea of an adventure game in the flavor of Dungeons & Dragons, but, to address their concerns with the static nature of adventure games, wanted to include elements that would change every time the game was played. The two came up with a narrative, that of an adventurer setting out to explore and find treasures in the Dungeons of Doom, specifically the Amulet of Yendor (a renowned wizard in the game whose name is derived from "Rodney" spelled backwards). Wichman came up with the name Rogue, based on the idea that unlike the party-based systems of Dungeons & Dragons, the player's character was going at this alone. They also wanted to make sure the name was short to make it simple to type on command lines.
As Toy was more proficient at programming, he led the development of the game in the C language, which generally produced fast, effective code.
Wichman learned the language from Toy as they went along while providing significant input on the design of the game.
The first two major aspects of the game that they developed were the method of displaying the dungeon on-screen to the player, and how to generate the dungeon in a random manner.
Limited by choices of what a terminal could display, they stuck to ASCII characters, such as . for empty floor space, + for doors, and | and - for walls of the dungeon. They also used the "at" symbol (@) to represent the player, considering this showed the player "where they're at". For the dungeon, they found initial attempts at purely random generation to be weak, in some cases having a stairway ending up in a room inaccessible to players. They found a solution through procedural generation, where each level would start on the idea of a 3x3 tic-tac-toe grid, with each room of various size occupying one space in this grid, and then creating the hallways to connect the rooms. Once they could have their character move about these randomly created dungeons, they added equipment, magic items, and monsters. With magic items, they wanted the effects of these items to be a mystery on each run-through, and thus would initially present the items to the player only by a descriptor such as color, and only later in the game give the true name of the item once the player experimented or used another means to identify the item. For monsters, they wanted to have more advanced intelligence routines as the player got deeper in the dungeons, but had started running into memory limits on the VAX-11, and simply made the monsters stronger with more health to pose more of a challenge.
The two started testing the game with other students at UCSC, finding that despite the limited graphics, players were filling the gaps with their own imagination.
Playtester feedback helped them to improve the procedural generation routines to balance the game's challenge.
One element that fell out from playtesting was the use of permadeath.
Toy wanted to move away from the notion of simply learning the right sequence of steps to complete the game, which was usual in adventure games, and instead make the player focus on finding the right moves to avoid the character's death at that moment;
Wichman later called this idea "consequence persistence". Initially, a Rogue game had to be completed in one sitting, but by demand of playtesters, Toy and Wichman added the ability to save the state of the game, so that players could continue a game across sessions.
They soon found players were "save scumming", reloading the game from the save file, an approach counter to their design goals. They changed this so that the save file was erased upon reloading the game, thus making a character's death effectively permanent. They subsequently added a scoreboard feature that let players rank their progress with others, rewarding players with more points for surviving as deep as possible into the dungeons and making the Amulet of Yendor a lucrative goal.
Around 1982, Toy's attention to Rogue and computer games caused him to suffer poor academic performance, and he was kicked out of the school, shortly finding employment at University of California, Berkeley (UCB) in their computer lab. Toy took the Rogue code with him to continue its development. Wichman, still enrolled at UCSC, continued to help develop Rogue for a time, such as adding armor elements, but the logistics of working over the distance made it difficult for him to keep up, and he let Toy fully take over development.