Starting porting over the code from a roguelike game I mostly wrote in 1988 mostly in VAX Pascal for VMS, which technically means that I wrote a game on an actual mini-computer (tranlation: 32-bit dinosaur from the 1980s).
I managed to distribute the executable to other computer science students without the (actually quite friendly) system administration by providing an innocuous name to masquerade the executable in use; this had the side benefit of not occupying precious disk space quota (except possibly for the tiny save file). There was a quirk where a command used to check what programs people were running at the time was based on what was typed at the terminal rather than the underlying program.
The game was a barebones dungeon crawl with a bit of snark thrown in. I had a few hardware limitations to cope with in the university's computing environment, which in retrospect made the creation of the game a fun challenge.
VMS Pascal compilers were available as part of coursework for all computer science students, so I picked that language to write in. That led to a challenge or few. There was no random number support built into the Pascal libraries, nor any way to poll for a keypress; the language as implemented fit the era where terminals output to dot-matrix paper rather than screens.
Given the computing environment, we were limited to character-based VT100(-compatible) video terminals, though that was fine for a roguelike. Screens were normally 80 characters wide with 24 rows. I figured out how to get Pascal code to spit out VT100 terminal control escape codes so I could "draw" a 7x7 map in the upper left while using the bottom of the terminal window as a scrolling area for updates.
BASIC had random numbers as part of the standard, and I knew from the visual editor that there must be a VMS system call to read a keypress. A bit of consultation with thick binders of official documentation, access courtesy of an accomodating sysadmin, allowed me to find the names of the underlying calls and which libraries to refer to. That turned out to be enough to complete implementing the game despite restrictions imposed on student user accounts. A wrapper function in BASIC let me link it to the Pascal code.
The game appears to be not awful, so I'll get around to porting it to a modern platform (Unix/Linux, in C), but I think I'm moreā¦proud(?) of the workarounds I employed to get the game to work within the system rather than the game itself.
I managed to distribute the executable to other computer science students without the (actually quite friendly) system administration by providing an innocuous name to masquerade the executable in use; this had the side benefit of not occupying precious disk space quota (except possibly for the tiny save file). There was a quirk where a command used to check what programs people were running at the time was based on what was typed at the terminal rather than the underlying program.
The game was a barebones dungeon crawl with a bit of snark thrown in. I had a few hardware limitations to cope with in the university's computing environment, which in retrospect made the creation of the game a fun challenge.
VMS Pascal compilers were available as part of coursework for all computer science students, so I picked that language to write in. That led to a challenge or few. There was no random number support built into the Pascal libraries, nor any way to poll for a keypress; the language as implemented fit the era where terminals output to dot-matrix paper rather than screens.
Given the computing environment, we were limited to character-based VT100(-compatible) video terminals, though that was fine for a roguelike. Screens were normally 80 characters wide with 24 rows. I figured out how to get Pascal code to spit out VT100 terminal control escape codes so I could "draw" a 7x7 map in the upper left while using the bottom of the terminal window as a scrolling area for updates.
BASIC had random numbers as part of the standard, and I knew from the visual editor that there must be a VMS system call to read a keypress. A bit of consultation with thick binders of official documentation, access courtesy of an accomodating sysadmin, allowed me to find the names of the underlying calls and which libraries to refer to. That turned out to be enough to complete implementing the game despite restrictions imposed on student user accounts. A wrapper function in BASIC let me link it to the Pascal code.
The game appears to be not awful, so I'll get around to porting it to a modern platform (Unix/Linux, in C), but I think I'm moreā¦proud(?) of the workarounds I employed to get the game to work within the system rather than the game itself.