- BASIC 100%
| applesoft_basic | rename to DND1.BAS | |
| original | remove empty lines | |
| restructured | rename to DND1.BAS | |
| richard_garriott_design_notes | richard garriott design notes and source code | |
| README.md | update link to applesoft port | |
dnd1
Richard Garriott wrote DND1 in the 1977 to 1979 timeframe. DND1 is the precursor to Akalabeth, released in 1980. After 35 years, Shroud of the Avatar ran a contest to see who could take the old BASIC code written in the late 70s, and port it to run on the web.
https://www.shroudoftheavatar.com/?p=39149
The original code was released as a pdf and was quickly converted by fans into a text file.
original/DND1.BAS
The code appears to be a dialect of BASIC for CDC Cyber mainframe computer.
The code is missing data that would generate the dungeon maps. There are some errors in the GOTO statements. The only player name that the game will accept is SHAVS. The original code ran on a system that printed out the responses on a sheet of printer paper.
A port of the code was made to get the BASIC dialect in line with Applesoft BASIC. Loading and saving files was eliminated and two maps from Richard Garriott's design notes were included.
https://codeberg.org/random-wizard/dnd1/raw/branch/main/applesoft_basic/DND1.BAS
The code can run in Joshua Bell's javascript version of Applesoft BASIC.
https://inexorabletash.github.io/jsbasic/
The way the code is written and what it outputs to the user makes more sense if you consider that it was meant to use a system that printed out responses. On the web interface of Joshua Bell's javascript version of Applesoft BASIC, click on the Show output button to see a paper print out emulator at the bottom of the page.