regression

In software development a regression happens when you add a new function and in doing so accidentally break an old function. You protect against this with regression testing: you test all your old functions to make sure they still work as intended. One of the ways this can happen is when you import legacy code into a new project, code that was never designed to work in the new environment, and it has side effects that violate your modern requirements.

When we choose to look back to old games for inspiration for new games, we want to be wary of this too. One of the things we want to do is improve those games (otherwise why bother), to bring newer technology to bear where possible and desirable to make these old game concepts better. This typically focuses on the functional: what did these old games do, how did they do it, and then of course, do we still want to do exactly that and is there a better technology now that preserves the feel but improves the play?

However.

I’ve been told not to use “however” but “however” is a pacing element a pause and an opportunity for you to anticipate where the text is going. So, however. Big pause.

20180115_132518
George C. Scott, doodled instead of listening to a lessons learned review. My bad.

When we look back to art made forty years ago for inspiration we aren’t just looking back forty years in the history of the technology. We’re also looking back through forty years  of context, of culture. And we are necessarily looking back down forty years worth of change in sexism, racism, homophobia, and a host of other social changes. When we mine ancient artifacts we are also necessarily going to be dredging up side effects of that older culture, that context.

There is a lot of resistance to addressing this because cultural problems are messy and even today not everyone is going to agree what was “worse” and what was “better”. Even “genocide is bad” seems to be up for debate in some circles. Nor even which mechanical elements in that game ore are reflective of what’s worse. But also because some of the nostalgia for that earlier time, the reason for mining that old material, might just be a desire for a whiter, maler, more heterosexual context. And the idea that that might be true is rightly uncomfortable as hell. And one thing we nerds know about discomfort: we do not want to talk about it.

But when we make a game that incorporates or emulates material from that past we risk racist, sexist, homophobic regressions. And we don’t have a good way to test for it, especially if we want to ignore it even as a possibility: if you want to ignore an error your first step is certainly to avoid testing for it. Or rather, we do have good ways to test but we do not deploy them. So let’s look up from the dungeon map and take a step and acknowledge that this is a risk. That material with a forty year old context may have side effects (and possibly direct effects) that reflect that context. And that in some if not many cases that would be a bad thing. That would be regressive.

20181122_103733.jpg
I am old and white and male. I wish I could get glasses for my brain that correct for this.

And if it’s a risk and if it’s undesirable (you decide for yourself but your decision will be telling) then we really ought to be testing for it. In fact it should probably be a priority in testing since it’s an awful thing to wind up shipping, it’s probably hard to spot, and it’s a genuine risk. The impact of a mechanically bad rule is usually that refs have to house rule around it, which they love doing. The impact of a socially, culturally bad rule is the propagation of bullshit that we as a culture have been trying to work past and through. Something we’ve made forty years of progress on, however small the actual progress may or may not be, and so something we should no more ignore than the changes in technology over that period.

Technology and society and culture are all equally “things we’ve learned”. They deserve at least equal weight as problems other, smarter people have confronted and solved or at least tried to solve. All this material needs some attention in order to make a great game out of old material.

The only way to make looking back progressive is to adapt it to lessons learned since then. Ignoring the progress is regressive. It’s just looking back and re-implementing old mistakes. As I write that I realise that people read both regressive and progressive as different kinds of criticism. Let’s also reclaim “progressive” then. Looking forward. Making things better. Building on technology to make even better technology. Let’s not be ashamed of being progressive. Progressive nostalgia sounds like a great goal.

Regressive nostalgia, even if it’s just because we’re not looking at our work hard enough, sucks. Forty years is a lot of learning to throw away. A lot of mistakes to ignore and re-make.

So, in the interest of offering solutions, here’s a way to find a sensitivity reader for your project.