Six Degrees of Play

The two kinds of wire

A line between two games can mean two completely different things: one I draw by hand because it tells a story, one the machine infers from the data. Plus the boring duplicate problem that nearly ate the whole project.

A line between two games on this map can mean two completely different things, and it took me a while to admit that out loud.

Some lines I draw by hand. Somebody (me, mostly) sat down, dug into the connection, decided it was real and worth saying, and wired it in. Those are the good ones. The ones that tell a story. “This game influenced that one.” “These two are bitter rivals.” “This studio’s people walked out and built the spiritual sequel somewhere else.” High signal, low noise, and every one of them is an argument I’m willing to have.

The other lines the machine draws for me. If two games share a genre, a platform, an engine, a theme, the system notices and connects them on its own. Any single one of those is weak tea. But stack up enough of them and patterns show up that I’d never reach by hand, not if I curated for ten years straight.

The hand-drawn lines are the ones that mean something

The backbone is plain old “influenced by.” Doom influenced Quake. System Shock influenced Deus Ex. Ultima Underworld influenced damn near everything with a sneaking, first-person streak in it. Those throughlines are what make the map worth looking at instead of just pretty.

But influence is only one wire. My favorite is the one for when a team walks. The folks who made GoldenEye left Rare, started Free Radical, and made TimeSplitters, and you can feel the same hands all over it. There’s a wire for games made out of spite, too: somebody played a thing, decided it solved the problem wrong, and built the rebuttal. And there’s one that traces a mod growing up into its own game. Counter-Strike started life as a Half-Life mod. DOTA was a Warcraft III map. That’s not trivia, that’s how this medium actually moves.

Here’s the honest catch: influence is an opinion. Two people who really know their stuff can flat out disagree about whether one game shaped another. So I lean on what’s written down (interviews, postmortems, the credits) over my own gut, and when a connection is a stretch, anybody can flag it and tell me I’m wrong. People do.

Letting the machine draw the rest

I couldn’t hand-draw my way through thousands of games. That’s a decade I don’t have. But the database already knows a ton: this game and that one share a genre, ran on the same engine, shipped on the same box. So I wrote the thing that reads all of that and connects the dots automatically.

The trouble is it works too well. Connect every single game that shares a genre and you don’t get a map, you get a solid brick. “Same genre” by itself would be millions of lines. So the map has a zoom to it, like a telescope. Way out, you only see the strongest connections. Push in close on one cluster and the fainter ones fade up. You get detail where you’re looking and quiet everywhere else.

The boring problem that almost ate the project

Everybody assumes the hard part was the 3D, or the physics. It wasn’t. It was duplicates.

The game database I pull from will sometimes list the same game three times: once per platform, once for the regional release, once for the remaster, each with its own ID and a slightly different title and a different piece of box art. Left alone, my map fills up with ghosts. One game shows up as three faint stars, its connections split between the copies, none of them quite right.

Cleaning that up took more tries than any shader or any physics tuning, by a mile. The merge scripts hunt down the copies, fold them into one, and keep every connection from all of them. They run in a careful “show me what you’d do but don’t touch anything yet” mode by default, and they log every single row they’d change, because the scary thing about bad data is that it’s invisible. Nobody notices until they search for a game they know by heart and find it listed twice, or not at all. That’s the moment you lose somebody’s trust. So that’s the part I sweated.

Only loading what you’re looking at

The whole catalog is too big to dump into a browser at once, so I don’t. When you’re looking at a slice of years, the site asks the database for just that slice: the top sellers from those years plus a random handful, and only the connections between the games it actually pulled. Slide the timeline somewhere else and it grabs what it needs for the new view.

So you’re never really seeing everything at once. You’re seeing an honest, representative sample of wherever you happen to be standing. It feels complete. That’s the only kind of complete you get when the real thing will never fit through the wire.

Open Six Degrees of Play on the live site ↗


all Six Degrees of Play updates