I'm looking for a student for an M.Sc. in Computer Science at the University of Calgary. *This is a fully funded position.*

The project: building tools to help understand how "retro" video games were made under amazingly constrained circumstances. While it's a CS position, this is interdisciplinary work done in collaboration with archaeologists and others.

Needs: strong coding skills, good writing abilities. Ideally: low-level, reverse engineering, or compiler experience.

CPSC Future Students Graduate Admission Requirements

Faculty of Science

@herrprofdr Since you use the word "retro", this is about how people made games that fit original form factors even though larger computers are around, and not how people made games back in the eighties?

Not that you need archeology for either, you can just use anthropology and history, since many people who made games since the seventies are still available.

But I'll give one hint: coat-hangers were really important to keep everything together.

@halla There are crossovers with other areas, I agree. Our work fits under the umbrella of "archaeogaming", an area that's been around for just over a decade.

@herrprofdr It kinda feels weird, though... I've coded and made amateur games in the eighties, and I remember a lot of stuff from back then, like how to use Z80 assembly, or how to do Lords of Midnight stuff. Or map out a bitfield.

But I''m also still coding these days, despite long covid, and I feel it's all like a continuum -- I mean, bitfields are still a thing.

(Back in the early eighties I was twelve, though.)

@herrprofdr Oh. the coat hangers remark was real btw. You'd cut up and bend wire coat hangers, take out some screws from Speccy and disk drive and bend the wires so the drive and speccy were securely connected.

Otherwise you would get typing-induced resets.

And saving your work to tape instead of discovery disk drive was way too slow....

@herrprofdr Oh, one side-thing you might want to consider is Wen Yidou. When it comes to dancing withing limitations, his Dead Water is kinda relevant.

(Not that the 48k speccy felt like a limitation, not after trying to do stuff on the 16k one.)

@herrprofdr Well, "interdisciplinary" kind of gave away that "crossover with other areas" part. @halla
@riley @halla True. I was thinking more of game history, computer history, game studies, platform studies, and others that I'm insufficiently caffeinated to remember right now.

@herrprofdr If I was in Canada, I'd apply. This sounds like some very interesting research, and overlaps with much of what I have been doing over the years.

@halla

@halla @herrprofdr A lot of us are still doing it. I participated in a competition just a few months ago where the rules constrained the hardware even further (because a computer from 1986 still has more power than you need 🙂 )
@loke @herrprofdr 48kb is all you need:)
@halla @herrprofdr that is true. Although in this case the restriction was that you weren't allowed to draw any pixels in screen memory.
@loke @herrprofdr Ah, that sucks! Directly accessing the screen buffer -- and being able to swap the screen buffer from one address to another -- is key!

@halla @herrprofdr right, but with the right tricks (changing the background colour at the right times, you can still makes some interesting effects on the screen)

Here's a video of it if you're interested.

https://youtu.be/QlbSEDq6Cno?si=4qEZH8ZX1N6uvs_7

(n)0 PIXELS (n)0 REGRETS by DHS (Zero Bitplane Atari ST demo)

YouTube
@loke @herrprofdr Cool! But yeah, Atari ST is from after my computer baptism.

@halla @herrprofdr I started with the C64, and did some assembler on it, but I didn't really get into it until after I moved to the Atari ST.

More recently I went back and did some simple stuff on the C64 and it's quite different.

@herrprofdr Great. People are going to be laughing at my shit early code haha 🐂
@herrprofdr @misty might know of people or be able to signal-boost for you!
@herrprofdr huh that's incredibly cool
@herrprofdr My programming mentor, Dave Levine, has quite the resume, being a founding member of LucasArts Games Division. This contains some detail on his development of classic games like Ballblazer for Atari 800, which had a realtime 24-bit precision physics engine rendering 60 fps on a 2Mhz 8-bit 6502 https://grokware.com/dl/resume.pdf
@herrprofdr Wait, this is just for a Masters, and not a PhD? Really seems like PhD level work, but I could be completely deluded.
@kristinHenry Fair point, and like any project, it needs to be scoped properly. Also, in Canada, a thesis-based M.Sc. is a full-on research degree; I've heard they can have a different status elsewhere. I remember one of my former M.Sc. students giving a conference presentation, and someone afterward marvelling that she wasn't doing a Ph.D.!

@herrprofdr Awesome. Interesting work, I tried writing a little Apple ][ demake game in 6502 a few years back and even with a host computer emulating the Apple, and all the Internet's resources at my fingertips it was torturous work and is on hold indefinitely :-/ How on earth did they do it back then?

https://nick.zoic.org/art/writing-an-apple-2-game-in-2021-1/

Writing an Apple 2 game in 2021 (Part 1) · ... and another thing ...

@herrprofdr Dang I'm an absolutely crap writer with some of the low level experience. Good luck finding someone!

@herrprofdr “fully-funded” = paid position? or does that just mean students shouldn’t expect any tuition costs?

if it’s paid, is there a salary band?

@deobald Good question. Basically, it's two years of year-round support. Part of that money comes from TAing, as it does for all our students, and then I have grant funds to pay out for the rest.
@herrprofdr when I was working on starcraft 2, the engine lead told me how in snes days they used a scripting language (the language was bytes). I was amazed to hear it, but he said it was to be able to fit more game on the cartridge because of course, one scripting language command would translate to several machine code operations.
Pretty interesting stuff.

@demofox @herrprofdr very little is truly new, computers are just much faster now as you'll be aware, and high end technologies trickle down to commodity systems.

Witness the use of a virtual machine back in 1979, into the 80s, and then the modern day with different tools to run Infocom interactive fiction games on many different resource constrained systems. They probably got *that* idea from mainframes.

@herrprofdr Some of us were in the room where it happened and are still around.

It was a struggle for the most part.

@herrprofdr Wow- that's an amazing opportunity for someone. Can't wait to see the research that comes out from that.
@herrprofdr
CS? You young whipper-snappers and your programmable micro circuit thingamabobs. Back in the day it was all analogue and we had to start off getting a picture onto the CRT.

@herrprofdr A lot of people have done insights on The Cutting Room Floor (https://tcrf.net/), a wiki about video game assets that have been discovered as cut, unused or otherwise included alongside the playable portions of games.

Good places to look as well, are the various decompilation projects for several vintage games - oftentimes, they have had to reconstruct or emulate the development tools originally used to produce the ROM, assets and executables within.

Finally, there have been various commentaries posted on the basis of leaked or found original-source disks or workstation backups, especially for games prior to 2000.

The Cutting Room Floor

@herrprofdr Have we as a discipline really gotten so far away from the machine that trying to understand how to write non-trivial software without gigabytes of memory and IDEs is a _research topic_.

Like, do I need to just show up on your doorstep with my Apple ][+ and a copy of SC-Assembler and teach people how to computer again?

@frang For the most part, low-level content has diminished greatly in CS education, and there are few if any opportunities for students to work under serious constraints. That's what started me down this path some 10+ years ago.
@herrprofdr Nitpicking on "retro"... strictly speaking I wouldn't say retro games were made under constrained circumstances (like memory, CPU and GPU) because of the meaning of the word retro (backwards looking, reviving old fashion). Even old retro games like Cave Story (2004) ran on GigaHertz machines. You can of course argue that the meaning of the word retro has changed, but then what is Cave Story? A Retro retro game?
"Retro gaming" might be fine though, maybe?
@androidarts Oh, "retro" is a *really* troublesome term to pin down, I agree - I gave a whole conference presentation on that once!
@herrprofdr Yeah, I saw you put it in quotes. I know everyone knows what is meant by it, but once I started thinking formalizing my thoughts around it, it kind of became irksome seeing it. Now it's like knowing the difference between optimal and ultimate, or knowing a full idiom that only gets quoted in part...

@androidarts @herrprofdr we all agree that we like the term retro. why not just hyphenate and/or add some words?

retro-inspired
retro-themed
etc?

this comes up a lot in the chiptune scene where people are debating whether someone's music is "chiptune" because someone is a part of that scene.

we don't have to use just one word. "cave story is a beautiful retro-themed indie game with pixelart and chiptune-inspired music." done.

pardon the toot gravedigging and late-night musing!

@herrprofdr interesting, my youngest is not only a computer architecture wonk but he learned Japanese (I think so he could read old game design manuals) and does a lot of with with emulators and speed runs. Unfortunately he doesn't graduate with his CS Game Design degree from UCSC until spring because he wants to take his required textual analysis course in Advanced Japanese.
@scerruti The easiest start time for an M.Sc. here is actually the fall term, it's just the application deadlines are much sooner than that.
@herrprofdr Sociologists involved? - back in the days before tickets and commits and "blame", it was rather harder to suss out the team dynamics just by looking at the code and comments, but we sometimes felt that we'd come up with some pretty good guesses.
@herrprofdr Way over my head (on a good day I can *just* follow the explanations by Retro Game Mechanics Explained and Displaced Gamers) but still possibly the coolest thing I've read all day, so I wish you the best of luck finding someone!

@herrprofdr I'm thinking of a compiler I wrote constrained to 16KB of ram on an 8 bit processor and chuckling at the definition of "amazingly constrained circumstances" in that call.

How times have changed.

@herrprofdr I'm still alive and mostly did Commodore 64 back in the day. I'm more than happy to be available to give my perspective on tools back then and also compare and contrast with modern tools for the same platform. A bit like this...
https://youtu.be/j2HiD5kgfaQ
C64 Games memories - Scramble Infinity

YouTube
@herrprofdr

So a rather significant part of my childhood is now a subject for archaeology...
@herrprofdr I'm glad someone's finally trying to recover and reconstruct all the precolumbian video games