Post by krusader74 on Dec 31, 2015 6:13:35 GMT -6
D&D Meets the Electronic Age
In 1979, Gangbusters creator and Original D&D Discussion contributor Rick Krebs had a D&D campaign called "Realm of the Celestial Wizard" when he wrote the following:
Quoted from the article "D&D Meets the Electronic Age" in Dragon (Issue 26 - Jun 1979), p. 26.
The purpose of this thread is to discuss the relationship between early D&D and computers. It sometimes seems today's grognards still don't like to mix computers and D&D. And I'm not sure why. Not oldschool? D&D's founding fathers both got into the computer gaming industry---
Dave Arneson: Computer company founder and Professor of computer game design. Quoting from Dave Arneson's official website: In 1978,
According to their projects page, 4D Interactive Systems, Inc. programmed several game titles for Avalon Hill, including Guns of Fort Defiance, Computer Acquire, Computer Stocks & Bonds, and Computer Baseball Strategy.
Gary Gygax: computer RPG game developer. Let me get this out of the way first: Gary Gygax did made some negative comments specifically about online computer games, as quoted in a New York Times article:
But in a previous interview with Ciro Alessandro Sacco, Gygax expresses love for computer games and has even worked on developing them!
In Krebs's article, he finds a balance between the DM's imagination and the cold mathematical logic of the computer:
So what did Krebs's computer program, SAGE, do for his campaign? (And Rick: If you're reading this, can you please talk about SAGE? Do you still have the BASIC source code to SAGE???)
Krebs concludes:
Oldschool computer games
"The computer in gaming ha[d] been around awhile" when Krebs penned this article for Dragon in 1979. Will Crowther programmed Colossal Cave Adventure for his daughters after playing D&D in 1975. This early computer game would later became the highly successful interactive fiction game, Zork, along with numerous sequels. "Adventure" was originally written in 700 lines of FORTRAN. (The code is archived here.) Here's a screenshot of the beginning of "Adventure":
Inspired by "Adventure," Glenn R. Wichman wrote Rogue in 1980. This was also a dungeon crawl, but it differed from "Adventure" in two main ways. (1) The dungeon was randomly generated on-the-fly, not fixed. (2) A map of the dungeon was written to the screen in ASCII characters---it wasn't an interactive fiction game. "Rouge" begat many other "Rogue-like" games, like Nethack in 1987, which is still going strong today. "Rogue" was originally written in C on a UNIX machine, but later got ported to PC and Mac in 1984. Here's a screenshot of the first level of "Rogue" after clearing it of monsters and treasure:
So "Adventure" was FORTRAN and "Rogue" was C. But by the early 1980s, BASIC would become the lingua franca of computer games and game aids, because every brand of personal computer (TRS-80, Commodore, Apple, IBM, ...) had a BASIC interpreter. I already mentioned that that Rick Krebs's program SAGE was written in BASIC.
In 1978, David H. Ahl compiled a book of 101 BASIC computer games. It's important to note: He didn't write these games, merely compiled them together in one book. Many of the games are combat simulators. These programs are all available online today on a few sites in several flavors of BASIC: (1), (2), and (3). I seem to remember some of them getting discussed in Dragon, like StarTrek (Issue #38?).
Besides computer game reviews, Dragon published more than a few BASIC programs in the early '80s, particularly in "The Electric Eye" column by Mark Herro. Here's an excerpt from the Dragon index on the subject of computers:
Dungeon Master's Personnel Service
Quoted from the article: "Q: What do you get when you cross a Dungeon Master with a computer? A: Programmed character creation - without human hesitation!" by Joseph C. Spann in Dragon (Issue 74 - Jun 1983), pp. 42--48.
In that article, Spann describes a BASIC program for generating D&D characters, which he calls the "Dungeon Master's Personnel Service." Here is a listing of the program: DUNGEON MASTER'S PERSONNEL SERVICE BY JOSEPH C. SPANN. Language: QBasic. 515 lines of code. Size: 18.11 KB. I've run this code successfully as-is on Windows XP using QB64, an MS QBasic retro-clone that provides an IDE and compiler. I remember laboriously typing this program into my IBM PC's BASIC REPL the summer of '83 and giving it a go. Here is an animated GIF demonstrating the character creation process using this program:
(As an aside, the character name I used here for this cleric, Luveh-Keraphf, refers to the High priest of Bast during Egypt's 13th Dynasty and writer of the Black Rites. It's the name that Robert Bloch used to pay homage to Lovecraft.)
Here I'm using the Bywater BASIC Interpreter on Ubuntu (bwbasic runs on Windows too). Changing from QBasic to bwbasic required a couple of minor syntactic changes (pm me if you want the changes). That's one of the BIG problems for BASIC---it lacks the kind of standardization you find in other legacy programming languages like FORTAN and C...or in modern languages like JavaScript and Python. Every computer maker had their own flavor of BASIC, and you often had to make changes to get code from a magazine running on your system.
Does anyone else remember using this program or any of the other computer programs printed in the pages of Dragon? Please share!
Purple Worms and Punch Cards
My dad was a mainframe programmer, and my first exposure to programming was in the late 1970s when he took me to work and showed me a keypunch and yellow punch cards with COBOL punched in them. He explained how columns 1-6 were for line numbers, 7 for indicating comments, 8-11 (area "A") for headers and variable "levels", and 12-72 (area "B") for code. I learned the COBOL commands for arithmetic, flow of control and so forth. In school in 1980, I was given a "Paper and Pencil" computer. It had 32 8-bit memory locations with programs that we simulated using paper-and-pencil... A "Paper and Pencil" computer is to a real computer what a pencil-and-paper roleplaying game is to a video game. In 1981, my school got an Apple II plus, and I learned BASIC on it. In 1982, we got an IBM PC at home. After I got bored with BASIC, I quickly learned Assembly, C, Prolog and Pascal.
I got into roleplaying games in 1981, around the same time I started programming. So it's only natural I coded a bunch of roleplaying game aids in the early 80s. Unfortunately, most of this stuff got trashed some time ago---the punch cards were taking up too much space in the basement ;-) Feeling nostalgic, I recently began reconstructing an OD&D character sheet in COBOL. The splash screen shows a dragon in oldskool ASCII art with disclaimers about WotC owning all the IP on the trademarks, game mechanics, etc.
On the main screen, the program first prompts for the player's name. Then it rolls abilities and gold. Then it prompts for a character name, race and class. You can type in 1- or 2- letter abbreviations and it will canonicalize the text. It checks to make sure the class is compatible with the race. Then it prompts for alignment (again, 1 letter suffices). Next it prompts for the level number. It fills in the level name, starting XP, and rolls for HP. Next, it prompts for your AC number (it fills in the full name of the armor) and weapon-in-hand. Finally, it displays your saving throws, to-hit target numbers, spells per day, and turn undead info (if applicable). At this point, you can either quit or roll another character.
Here is an animated GIF demonstrating rolling up several characters. (Note that this animated GIF runs much s-l-o-w-e-r in a typical web browser than it actually took to run the program in a terminal).
And here are a couple sample lines of the source code on oldschool punch cards...
Line 143: Rolling a D6
Line 186: Describing a Veteran (1st level Fighting-Man) with a long string of digits
The entire program listing is just short of 500 lines of code. You can view it online in my Pastebin. (Unfortunately Pastebin's syntax highlighter for COBOL screws up around line 312, but the RAW Paste Data there is correct and should compile OK.)
This is only a first draft of this RPG retro-clone software. There are no doubt bugs, anachronisms, and typos in the tables I use to fill-in fields automatically. If you are interested in running it, it compiles under GnuCOBOL, which works under Windows.
Epilogue
There have been a number of computer games and computer game aids mentioned on these boards. Here are a few:
Paul Hughes wrote a dungeoncrawl in a randomly generated dungeon using Adobe Flash. It's called Dungeon Robber. And there's a thread here devoted to it.
Paul Gorman (paulg ) wrote a Python script in the thread on Analysis of OD&D treasure types.
Former board contributor "aher" wrote a Lisp program and some Mathematica in that thread on the "Analysis of OD&D treasure types." Also, a text-based OD&D combat simulator in Perl as well as a graphical combat simulator in Logo for the thread on A Veteran's Odds.
I wrote a JavaScript fiddle for the thread on Alternative Post Melee Morale. I also wrote a JavaScript virtual dice roller and probability calculator called Palamedes discussed in this thread.
Lastly, while not a computer program, I want to mention this bust of Gary Gygax in ASCII computer art. There are many "easter eggs" hidden in the ASCII text in the image here in my pastebin.
Once again, if you have any experiences using or coding oldschool computer games or computer game aids, please share your stories!!!
In 1979, Gangbusters creator and Original D&D Discussion contributor Rick Krebs had a D&D campaign called "Realm of the Celestial Wizard" when he wrote the following:
We were one of those fortunate groups to gain the use of a 4K (4,000 bit) memory, BASIC speaking microcomputer. We mentioned to several fellow DMs and gamers of our plans to program it to handle role playing games (D&D, Boot Hill), and to my surprise there was a lot of concern about letting a machine become a part of role playing games.
Quoted from the article "D&D Meets the Electronic Age" in Dragon (Issue 26 - Jun 1979), p. 26.
The purpose of this thread is to discuss the relationship between early D&D and computers. It sometimes seems today's grognards still don't like to mix computers and D&D. And I'm not sure why. Not oldschool? D&D's founding fathers both got into the computer gaming industry---
Dave Arneson: Computer company founder and Professor of computer game design. Quoting from Dave Arneson's official website: In 1978,
Arneson stepped into the computer industry. He founded 4D Interactive Systems, Inc., a computer company in Minnesota that is still in business today. He also did some programming and worked on several games. He eventually found himself consulting with computer companies.
Living in California in the late 1980s, he had a chance to work with special education children. Upon returning to Minnesota, he pursued teaching and began speaking at schools about educational uses of role-playing. In the 1990s, he began working at Full Sail, a private university that teaches multimedia subjects, and continues there as a professor of computer game design.
According to their projects page, 4D Interactive Systems, Inc. programmed several game titles for Avalon Hill, including Guns of Fort Defiance, Computer Acquire, Computer Stocks & Bonds, and Computer Baseball Strategy.
Gary Gygax: computer RPG game developer. Let me get this out of the way first: Gary Gygax did made some negative comments specifically about online computer games, as quoted in a New York Times article:
"There is no intimacy; it's not live," he said of online games. "It's being translated through a computer, and your imagination is not there the same way it is when you're actually together with a group of people. It reminds me of one time where I saw some children talking about whether they liked radio or television, and I asked one little boy why he preferred radio, and he said, 'Because the pictures are so much better.'"
But in a previous interview with Ciro Alessandro Sacco, Gygax expresses love for computer games and has even worked on developing them!
- "I do have several builder/strategy and tactical historical games around that I would love to see as computer ones,..."
- "I'm [in] the process of developing RPG-like games for the computer"---a reference to Lejendary Adventure, which began as a computer roleplaying game and became a tabletop game because of "two botched deals, not [Gary's] fault"
In Krebs's article, he finds a balance between the DM's imagination and the cold mathematical logic of the computer:
An analysis of D&D reveals that movement around a dungeon (which way to go, which door to open, should we fight or run, how do we disarm the trap, etc.) is basic logic (sometimes good logic, sometimes bad) problem solving that can be broken into a mathematical or a computer flow chart. But, the contents of the rooms, how monsters react, what a chamber looks like is an art that a DM develops from experience and use of his/her imagination. So why not let the computer handle the mechanics and the DM handle the material. With the computer doing part of the job it leaves the DM more time to be creative and interact with the players.
So what did Krebs's computer program, SAGE, do for his campaign? (And Rick: If you're reading this, can you please talk about SAGE? Do you still have the BASIC source code to SAGE???)
- hit charts and damage allocation
- name generation (for the thousands of minor NPCs)
- creating requisites and levels of non-player characters
- handling the bookkeeping details on player characters
- basic Dungeon that runs itself
Krebs concludes:
the fear that the use of a micro computer will destroy the creativity of role playing games if used in them is groundless. Our experience in recent months has been very positive in SAGE's use in both D&D and Boot Hill (our program for Gamma World is not finished yet), and if anything, has helped this DM in handling his chores...
The micro computer has its place in role playing gaming as long as its limitations are understood, and the human programmer remembers that his duty is in creativity, while the computer can and should only speed up the mechanics. The computer provides the skeleton for gaming, and the DM still creates the flesh of the campaign.
Oldschool computer games
"The computer in gaming ha[d] been around awhile" when Krebs penned this article for Dragon in 1979. Will Crowther programmed Colossal Cave Adventure for his daughters after playing D&D in 1975. This early computer game would later became the highly successful interactive fiction game, Zork, along with numerous sequels. "Adventure" was originally written in 700 lines of FORTRAN. (The code is archived here.) Here's a screenshot of the beginning of "Adventure":
Inspired by "Adventure," Glenn R. Wichman wrote Rogue in 1980. This was also a dungeon crawl, but it differed from "Adventure" in two main ways. (1) The dungeon was randomly generated on-the-fly, not fixed. (2) A map of the dungeon was written to the screen in ASCII characters---it wasn't an interactive fiction game. "Rouge" begat many other "Rogue-like" games, like Nethack in 1987, which is still going strong today. "Rogue" was originally written in C on a UNIX machine, but later got ported to PC and Mac in 1984. Here's a screenshot of the first level of "Rogue" after clearing it of monsters and treasure:
So "Adventure" was FORTRAN and "Rogue" was C. But by the early 1980s, BASIC would become the lingua franca of computer games and game aids, because every brand of personal computer (TRS-80, Commodore, Apple, IBM, ...) had a BASIC interpreter. I already mentioned that that Rick Krebs's program SAGE was written in BASIC.
In 1978, David H. Ahl compiled a book of 101 BASIC computer games. It's important to note: He didn't write these games, merely compiled them together in one book. Many of the games are combat simulators. These programs are all available online today on a few sites in several flavors of BASIC: (1), (2), and (3). I seem to remember some of them getting discussed in Dragon, like StarTrek (Issue #38?).
Besides computer game reviews, Dragon published more than a few BASIC programs in the early '80s, particularly in "The Electric Eye" column by Mark Herro. Here's an excerpt from the Dragon index on the subject of computers:
Computers:
ADVENTURE game "Electric Eye, The" Mark Herro 42(42) Adventure
As game aid "D&D Meets the Electronic Age" Rick Krebs 26(26) OD&D
"DM's Right-Hand Man(?), The" Roy Earle 36(42) D&D1
"Dungeon Master's Familiar" John Warren 80(17) D&D1
"Role-Player's Best Friend, A" M. D'Alfonsi 158(45) --
Avalon Hill games "AH Meets the Computer" Tom Wham 41(32) --
Basic information about "Electric Eye, The" Mark Herro 33(50) --
Character creation program "What Do You Get When You..." Joseph C. Spann 74(42) D&D1
Combat "Combat Computer" L. & T. Hickman 74(40) D&D1
Dice "Electric Eye, The" Mark Herro 45(56) --
Dungeon Master utilities "Electric Eye, The" Mark Herro 41(44) D&D1
"Electric Eye, The" Mark Herro 49(76) D&D1
Glossary of terms "Electric Eye, The" Mark Herro 39(40) --
Home "Electric Eye, The" Mark Herro 46(70) --
Online gaming: Getting started "Online Gaming: Get In the Game!" Michael Blake 312(90) --
Programming: BASIC "Electric Eye, The" Mark Herro 40(46) --
Purchasing "Electric Eye, The" Mark Herro 50(70) --
Quiz "Electric Eye, The" Mark Herro 54(74) --
Answers "Electric Eye, The" Mark Herro 55(48) --
Software "Electric Eye, The" Mark Herro 36(62) --
SPACE GAMES-3 "Electric Eye, The" Mark Herro 43(70) --
Sports games "Electric Eye, The" Mark Herro 47(70) --
TRAVELLER use of "In Defense of Computers" Paul M. Crabaugh 51(13) Traveller
Dungeon Master's Personnel Service
It cannot be simply coincidental that there are so many roleplaying game enthusiasts among our nation's rapidly growing number of "computer hackers." Or perhaps it would be more accurate to say "so many computer hackers among the ranks of RPG players," as evidenced by the presence of computer-oriented columns and information in gaming magazines like this one. At any rate, the balance of this commentary consists of some speculations concerning this commonality of interests.
Quoted from the article: "Q: What do you get when you cross a Dungeon Master with a computer? A: Programmed character creation - without human hesitation!" by Joseph C. Spann in Dragon (Issue 74 - Jun 1983), pp. 42--48.
In that article, Spann describes a BASIC program for generating D&D characters, which he calls the "Dungeon Master's Personnel Service." Here is a listing of the program: DUNGEON MASTER'S PERSONNEL SERVICE BY JOSEPH C. SPANN. Language: QBasic. 515 lines of code. Size: 18.11 KB. I've run this code successfully as-is on Windows XP using QB64, an MS QBasic retro-clone that provides an IDE and compiler. I remember laboriously typing this program into my IBM PC's BASIC REPL the summer of '83 and giving it a go. Here is an animated GIF demonstrating the character creation process using this program:
(As an aside, the character name I used here for this cleric, Luveh-Keraphf, refers to the High priest of Bast during Egypt's 13th Dynasty and writer of the Black Rites. It's the name that Robert Bloch used to pay homage to Lovecraft.)
Here I'm using the Bywater BASIC Interpreter on Ubuntu (bwbasic runs on Windows too). Changing from QBasic to bwbasic required a couple of minor syntactic changes (pm me if you want the changes). That's one of the BIG problems for BASIC---it lacks the kind of standardization you find in other legacy programming languages like FORTAN and C...or in modern languages like JavaScript and Python. Every computer maker had their own flavor of BASIC, and you often had to make changes to get code from a magazine running on your system.
Does anyone else remember using this program or any of the other computer programs printed in the pages of Dragon? Please share!
Purple Worms and Punch Cards
My dad was a mainframe programmer, and my first exposure to programming was in the late 1970s when he took me to work and showed me a keypunch and yellow punch cards with COBOL punched in them. He explained how columns 1-6 were for line numbers, 7 for indicating comments, 8-11 (area "A") for headers and variable "levels", and 12-72 (area "B") for code. I learned the COBOL commands for arithmetic, flow of control and so forth. In school in 1980, I was given a "Paper and Pencil" computer. It had 32 8-bit memory locations with programs that we simulated using paper-and-pencil... A "Paper and Pencil" computer is to a real computer what a pencil-and-paper roleplaying game is to a video game. In 1981, my school got an Apple II plus, and I learned BASIC on it. In 1982, we got an IBM PC at home. After I got bored with BASIC, I quickly learned Assembly, C, Prolog and Pascal.
I got into roleplaying games in 1981, around the same time I started programming. So it's only natural I coded a bunch of roleplaying game aids in the early 80s. Unfortunately, most of this stuff got trashed some time ago---the punch cards were taking up too much space in the basement ;-) Feeling nostalgic, I recently began reconstructing an OD&D character sheet in COBOL. The splash screen shows a dragon in oldskool ASCII art with disclaimers about WotC owning all the IP on the trademarks, game mechanics, etc.
On the main screen, the program first prompts for the player's name. Then it rolls abilities and gold. Then it prompts for a character name, race and class. You can type in 1- or 2- letter abbreviations and it will canonicalize the text. It checks to make sure the class is compatible with the race. Then it prompts for alignment (again, 1 letter suffices). Next it prompts for the level number. It fills in the level name, starting XP, and rolls for HP. Next, it prompts for your AC number (it fills in the full name of the armor) and weapon-in-hand. Finally, it displays your saving throws, to-hit target numbers, spells per day, and turn undead info (if applicable). At this point, you can either quit or roll another character.
Here is an animated GIF demonstrating rolling up several characters. (Note that this animated GIF runs much s-l-o-w-e-r in a typical web browser than it actually took to run the program in a terminal).
And here are a couple sample lines of the source code on oldschool punch cards...
Line 143: Rolling a D6
Line 186: Describing a Veteran (1st level Fighting-Man) with a long string of digits
The entire program listing is just short of 500 lines of code. You can view it online in my Pastebin. (Unfortunately Pastebin's syntax highlighter for COBOL screws up around line 312, but the RAW Paste Data there is correct and should compile OK.)
This is only a first draft of this RPG retro-clone software. There are no doubt bugs, anachronisms, and typos in the tables I use to fill-in fields automatically. If you are interested in running it, it compiles under GnuCOBOL, which works under Windows.
Epilogue
There have been a number of computer games and computer game aids mentioned on these boards. Here are a few:
Paul Hughes wrote a dungeoncrawl in a randomly generated dungeon using Adobe Flash. It's called Dungeon Robber. And there's a thread here devoted to it.
Paul Gorman (paulg ) wrote a Python script in the thread on Analysis of OD&D treasure types.
Former board contributor "aher" wrote a Lisp program and some Mathematica in that thread on the "Analysis of OD&D treasure types." Also, a text-based OD&D combat simulator in Perl as well as a graphical combat simulator in Logo for the thread on A Veteran's Odds.
I wrote a JavaScript fiddle for the thread on Alternative Post Melee Morale. I also wrote a JavaScript virtual dice roller and probability calculator called Palamedes discussed in this thread.
Lastly, while not a computer program, I want to mention this bust of Gary Gygax in ASCII computer art. There are many "easter eggs" hidden in the ASCII text in the image here in my pastebin.
Once again, if you have any experiences using or coding oldschool computer games or computer game aids, please share your stories!!!