Environmental Conditions
In biology, convergent evolution is the process by which unrelated organisms develop similar traits as a result of adapting to similar environmental conditions. Convergent evolution occurs frequently in nature. Bats, birds, insects, and pterosaurs all developed wings because they were forced to acclimatize to similar environments, even though none of the species are closely related.
Convergent evolution has been known to occur in video games as well.
Rogue is popularly credited as the progenitor of the roguelike, a subgenre of computer role-playing games (CRPGs) known for procedurally generated levels, turn-based gameplay, items bearing randomly assigned properties, and irreversible death. While the genre bears its name, Rogue was not the first of its kind. Don Worth got there first.
Worth discovered computers when he enrolled at University of California San Diego as an undergrad in 1967. He became entranced by the colossal mainframes that took up whole rooms and stored data on punch cards instead of hard drives. One of his first pet projects was learning DITRAN (Diagnostic FORmula TRANslating System), a programming language created for the express purpose of crunching advanced physics computations.
In 1968, Worth transferred to University of California Los Angeles (UCLA) and got a job in the universityâs computer center, then known as Campus Computing Network. His job was to write software in assembly language that ran on the universityâs IBM System 360, a mainframe connected to the Department of Defenseâs Advanced Research Projects Agency Network (ARPANET). Heralded as the precursor to the Internet, ARPANET was built so scientists and military personnel could share information. The growing web of connected mainframes included most University of California campuses, and Worthâs code facilitated communication between UCLA and other mainframes on the network.
As one of the first individuals to explore cyberspace while its virtual galaxies were still forming, Worth put his programming skills and network access to good use. âA couple of us had written a space game called FRON on the mainframe,â he told me.1
Youâd enter in moves for your ships, and then overnight, thereâd be a turnover, and youâd get back a map of all the ship movements and figure out what you were going to do for the next move. It was all partial informationâmeaning, the computer knew where all the ships were, but you only knew where your ships were and maybe [you knew the contents of] a square or two around them.
Outside the computer lab and away from their homemade space-faring game, Worth and his buddies played Dungeons & Dragons. They immersed themselves in the fantasy of exploring strange places, unearthing fantastic treasures, and rolling dice to determine whether their intrepid party of programmers-turned-adventurers lived or perished.
In 1978, Worth and a friend split the cost of an Apple II computer. Hashing out a deal analogous to a custody agreement, Worth got to keep the computer for two weeks before turning it over to his friend for another fortnight. Worth spent his computing time learning Integer BASIC, a language crafted by Apple engineer Steve Wozniak and a staple available on all Apple II machines. Naturally, his inclination was to write a computer simulation of Dungeons & Dragons.
BAM
The concept Worth laid out for his game was simple. Players would create an adventurer and explore dungeons inhabited by fearsome creatures that guarded magical artifacts. In RPG parlance, the game would be a dungeon hack, an adventure focused purely on fighting and plundering.
Like his space game, Worthâs dungeon hack forced adventurers to go into new environments blind. Players started on a single square. Only adjacent squares were viewable; the rest of the dungeon was cloaked in darkness. Step by step, the darkness peeled back to uncover chambers and winding passageways. The goal of the game was to delve deep beneath stately Apple Manor and recover the fabled golden apple. Worth called his game Beneath Apple Manor, or BAM for short. âI figured since I was writing it for the Apple, I needed to have âAppleâ in the name, and then I just invented the back-story about a manor house with a dungeon under it.â
In the initial, low-resolution version of Beneath Apple Manor, color-coding game elements gave the illusion of movement. All floor tiles were gray, and a blue square represented the player-character. When the player pressed the N, S, E, or W keys to move in a cardinal direction, Worth lit the adjacent square blue to show the playerâs new location, and painted his previous location floor-tile gray.
With the premise set, Worth began adding meat to Beneath Apple Manorâs bones. He imported abilities and rules that he and his friends employed in their D&D campaignsâlistening at doors to detect noise and movement within, breaking down a door, and casting an x-ray spell to reveal the level map. Play proceeded according to turns: first players moved, and then the monsters took a turn, and so on, affording players limitless time to mull over each action.
Worth also tried his hand at writing algorithms that drew brand new levels every time players sat down to the game. To Worth and his friends, part of the fun of Dungeons & Dragons was coming across strange new places. They never knew what dangers might lie in wait around the next turn, which blanketed BAM in suspense and trepidation. One cocksure or poorly calculated move and their avatars could be killed off.
One of Worthâs references for generating levels was Dragon Maze, an Apple II game that drew random mazes.
I set the dimensions, the X and Y coordinates of the far corners [of the level], and just plopped them randomly on the screen. So rooms tended to overlap sometimes or sit right next to each other. I kind of copied Dragon Maze and had the program do a random walk from the upper-left hand corner of a room until it hit open space in another room. Those turns were the corridors connecting each room to the others. I had to write some code to make sure I didnât have a room sitting out by itself someplace.
Once a level was generated, Worth populated it with colored blocks representing doors (brown), a single treasure (yellow), and monsters. The strength of the monsters roaming each level depended on how deep beneath the manor players had descended, as well as their experience level. Like the gameâs rules, its bestiary came from D&D: green slimes...