Ten Weird Games

This has been a draft blog post since ~2019, with minor additions since then.

Perhaps it’s finally time to share these ten weird… “games” (or game-adjacent media)… that I’ve seen.

Maybe you’ll “get” them. If not, maybe they’re just for me.

1. It is as if you were playing chess

Where could I possibly start this list if not with eccentric games-as-art proponent Pippin Barr. Created in 2016, It is as if you were playing chess is an interactive experience that encourages you to mimic the physical movements of playing a digital chess game, without actually ever looking at a chessboard.

A circle and arrow shows how the circle should be 'dragged' across an otherwise empty space.

Years later I’d argue that the experience of its… sequel?… It is as if you were on your phone, is very similarEspecially to an outside observer, watching you tap and swipe at your mobile device as if you were using your mobile device: it’s almost like an alien’s guide to blending-in with humans.

Is is even a game? Pippin himself mused over this in a blog post1. He went on to make several others in the same genre, of which It is as if you were making love is perhaps the most off-the-wall. Give that a go, too.

It really is almost as if I were on my phone!2

Whether or not they’re games, these are art, and they are compelling.

2. Hard Lads

Back in 2016, a video briefly trended on YouTube called “British Lads Hit Each Other with Chair”.

It’s a 67-second portrait video featuring four partially-dressed young men somewhere in what looks like Tyneside. Two of them kiss before one of the pair swigs from a spirits bottle and takes a drag from a cigarette, throwing both onto the floor afterwards3.

Finally, the least-dressed young man (seemingly with the consent of all involved) repeatedly strikes the drinker/smoker with a folding chair.

It’s… quite something.

Screenshot from Hard Lads. Through the screen of a phone camera recording a video, we see two partially-dressed young men in the yard of a terraced house, alongside a folding chair.
Unless you watch the video and then play the game, it’s hard to explain quite how faithful a recreation it is… and yet it also permits you to subvert the story, by changing the order of events, how passionately the lads kiss, how much alcohol is consumed (or spilled), how long to drag on the cigarette, or the level of aggression in the chair strikes. Also, there’s an easter egg if you manage to beat the victim enough…

In his blog post Hard Lads as an important failure, the game’s creator Robert Yang describes it as “neorealist fumblecore”, and goes into wonderful detail about the artistic choices he made in creating it. The game is surreal, queer, and an absolute masterpiece.

3. Top Ten Games You Can Play In Your Head By Yourself

Let’s sidestep a moment out of video games and take a look at a book.

Top Ten Games You Can Play In Your Head By Yourself, edited by Sam Gorski (founder of Corridor Digital) and D. F. Lovett and based on an original series of gamebooks written pseudonymously by “J. Theophrastus Bartholomew”, initially looks like exactly what it claims to be. That is, a selective reprint of a very-1980s-looking series of solo roleplaying game prompts.

Except that’s clearly a lie. There’s no evidence that J. Theophrastus Bartholomew exists as an author (even used as a pen name), nor do any of the fourteen books credited to him in the foreword. The alleged author only as a framing device by the actual authors: the “editors”.

Dan, a white man with blue hair, sits in a cluttered office, a finger to his lips as he's deep in thought, reading a red book titled 'Top Ten Games You Can Play In Your Own Head By Yourself'.
Seriously, what even is this book?

Superficially, the book presents a series of ten… “prompts”, I suppose. It’s like reading the rules of a Choose Your Own Adventure gamebook, or else the flavour and background in an Advanced Dungeons & Dragons module.

Each prompt sets up a premise and describes it as if it would later integrate with a ruleset… but no ruleset is forthcoming. Instead, completing the story and also how to go about completing the story is left entirely up to the reader.

It’s disarming, like if a recipe book consisted of a list of dishes and cuisines, a little about the history and culture of each… and no instructions on how to make it.

Scan from the book, showing part of a section titled 'Three: The Tomb You Seek', showing a line-art diagram of a lost tomb explorer choosing between a passageway with a mummified corpse or one with tentacles coming out of the door. The text reads: Scan from the book, showing part of a section titled 'Three: The Tomb You Seek', showing a line-art diagram of a lost tomb explorer choosing between a passageway with a mummified corpse or one with tentacles coming out of the door. The text reads: There are lots of tombs in Cairo and basically all of them are haunted. If you're wondering why so many of these tombs are haunted, it's pretty simple: tombs have dead people in them and when those dead people are disturbed, you get hauntings.
Even the typographic and art styles “feel like” I’m reading a Steve Jackson/Ian Livingstone book. Which I guess is the intention.

But what’s most-weird about the book (and there’s plenty more besides) are the cross-references between the chapters4. Characters from one adventure turn up in another. Interstitial “Shadows and Treasures” chapters encourage you to reflect upon previous adventures and foreshadow those that follow.

There’s more on its RPGGeek page (whose existence surprised me!), along with a blog post by Lovett. They’re doing a horror-themed sequel, which I don’t feel the need to purchase, but I’d got to say from what I’ve seen so far that they’ve once-again really nailed the aesthetic.

I have no idea who the book is “for”, but it’s proven surprisingly popular in some circles.

4. Mackerelmedia Fish

I reviewed this game shortly after its release in 2020 by the ever-excellent Natalie Lawhead. At the time, I said:

What is Mackerelmedia Fish? I’ve had a thorough and pretty complete experience of it, now, and I’m still not sure. It’s one or more (or none) of these, for sure, maybe:

  • A point-and-click, text-based, or hypertext adventure?
  • An homage to the fun and weird Web of yesteryear?
  • A statement about the fragility of proprietary technologies on the Internet?
  • An ARG set in a parallel universe in which the 1990s never ended?
  • A series of surrealist art pieces connected by a loose narrative?

What I can tell you with confident is what playing feels like. And what it feels like is the moment when you’ve gotten bored waiting for page 20 of Argon Zark to finish appear so you decide to reread your already-downloaded copy of the 1997 a.r.k bestof book, and for a moment you think to yourself: “Whoah; this must be what living in the future feels like!”

Mackerelmedia Fish is a mess of half-baked puns, retro graphics, outdated browsing paradigms and broken links. And that’s just part of what makes it great.

Mackerelmedia Fish reports: WARNING! Your Fish have escaped!
Historical fact: escaped fish was one of the primary reasons for websites failing in 1996.

Just because I wrote about it before doesn’t mean that you shouldn’t play it now, especially if you missed out on it during the insanity of Lockdown 1.0.

5. Ha-bee-tat

It’s a bitsy game thrown together in 9 days for a game jam, by Cicada Carpenter.

Three-colour pixel-art square game screenshot showing a bee flying amongst flowers and butterflies.
It looks… well, like a pixsy-to-bitsy game. But it’s got more going for it than that.

I wouldn’t even have discovered this game were it not for the amazing-but-weird blog post “Every bee videogame reviewed by accuracy”, by Paolo Pedercini, who wrote:

As an amateur beekeeper, semi-professional game designer, and generally pedantic person, I decided to play all the games I could find on the subject and rate them according to their “realism”. The rating goes from one (⬢⬡⬡⬡⬡) to five (⬢⬢⬢⬢⬢) honeycomb cells.

I intentionally avoided all the games in which bees are completely anthropomorphized or function like a spaceship, and games in which bees play a secondary role. I did include short and semi-abstract games when they referenced the bees actual behavior. Realism is not a matter of visual definition or sheer procedural complexity. In my view, even a tiny game can capture something compelling about this fascinating insect.

Ha-bee-tat is one of only four games to which Paolo awards a full five honeycombs. And Paolo is picky, so that’s high praise indeed for the realism of this game, which is – get this – also surprisingly educational on the subject of different species of bee! Neat!

6. Shadows out of Time

This Twine-based adventure was released for my last Halloween at the Bodleian, based mostly upon the work of my then-colleague Brendon Connelly. We were aiming for something slightly unnerving, slightly Lovecraftian… and very Bodleian Libraries.

Splash screen showing a woodcut of the Radcliffe Camera at some point in its history, titled: Shadows Out Of Time - A Bodleian Choose Your Own Destiny Story.
The Bodleian’s Comms team and I came up with all kinds of imaginative and unusual ways to engage with the wider world, of which this was just one.

Obviously I’ve written about it before, but if I can just take a moment to explain what we were going for, which didn’t come out in any of the IFDB reviews or anything:

The story is cyclical: the protagonist keeps waking up, completely alone, in a seemingly abandoned world, having nodded off half way through The Shadow Out of Time in a Bodleian reading room. As they explore the eerie and empty world5, the protagonist catches vague glimpses of another figure moving around the space as well, always just out of reach in the distance or beyond a window. There are even hints that this other person has been following them: a book left open can be found closed again, or vice-versa, for example.

Eventually, exhausted, the character needs to rest, waking up again6 in order to continue their explorations, and it gradually becomes apparent that they are the ghost that haunts the library. The shadows they’re witnessing are echoes of their past and future self, playing through the permutations of the game as they remain trapped in an endless and futile chase with their own tail.

7. Metropoloid

When I first wrote about this video, I remarked that it was sad that it was under-loved, attracting only a few hundred views on YouTube and only a couple of dozen “thumbs up”. Six years on… I’m sad to say it’s not done much better for popularity, with low-thousands of views and, like, six-dozen “thumbs up”. Possibly this (lack of) reaction is (part of the reason) why its creator Yaz Minsky has kind-of gone quiet online these last few years.

Screengrab from Metropolis as the workers riot.
I always thought that this staircase looked like something out of an early Zelda game. Now it can sound like it too.

So what it is?

Well, you know how you’ve probably never seen Metropolis with a musical score quite like the one composer Gottfried Huppertz intended? Well this… doesn’t solve that problem. Instead it re-scores the film with video game soundtracks from the likes of Metroid, CastlevaniaZeldaMega Man, Final Fantasy, Doom, Kirby, and F-Zero, among others.

And it… works. It still deserves more love, so if you’ve got a spare couple of hours, put it on!

8. Wolf

Like Ha-bee-tat, this is a realistic, pixelated, educational video game about nature. It came out in 1994 but I didn’t get around to playing it until twenty-five years later in 2019, when I accidentally discovered it while downloading Wolfenstein to my DOSBox.

Screenshot from Wolf showing Scenario Selection with one 'won' scenario: help Glidepath (an injured, thirsty male wolf) find water.
Like many games of its vintage, it’s not always easy. Imagine my delight when my wolf Glidepath, fighting his injury, managed to find water without getting shot by a human (and it only took like five attempts).

The game itself isn’t what makes this item weird. The weird bit is this 2018 review of the game, which reads:

AWOO AWOOOO. AWOO AWOO AWOO AWOOOOO.

AWOO AWOO AWOO AWOOOO AWOO. AWOO AWOO AWOOOO AWOO AWOO AWOOOO. AWOO AWOO AWOO AWOOOOOO AWOO AWOOOOO. AWOO AWOO AWOOOOOOO AWOO AWOOO AWOO AWOOOO AWOO.

AWOO AWOO AWOO AWOO AWOOOOO AWOO AWOO AWOO. AWOO AWOOOOOO AWOOOOOO AWOOOO AWOO AWOO AWOO AWOOOOOOO AWOO AWOOOOOO AWOO. AWOOOOOO AWOO AWOOOO AWOO AWOOOO AWOO AWOO. AWOO AWOO AWOO AWOOOOO AWOO AWOO AWOOOOO AWOO AWOOO AWOO. AWOOOO AWOOO AWOOOO AWOO AWOO.

It continues like that for a while.

What you’re seeing is a review of Wolf… but for wolves. I’m not aware of any other posts on that entire site that make the same gag, or anything like it. That’s weird. And brilliant.

9. Real World Third Person Perspective

People have done similar thinigs in a variety of ways, but this was one of the most-ambitious:

In a cultivated garden, a white man crouches, wearing an Oculus Rift VR headset connected to a backpack, from which is extended a tall pole above his head with cameras attached.
I’m sure the Steam Frame will make light work of this heavyweight rig, but that’s not the point.

As part of a two-day hack project, these folks put together a mechanism to mount some cameras up a pole, from a backpack containing a computer, connected to a VR headset. The idea was that you’d be able to explore the world with the kind of “over-the-shoulder cam” that you might be used to in some varieties of videogame.

Theirs was just an experiment in proving what was possible within a “real world” game world. But ever since I saw this video, I’ve wondered about the potential to make what is functionally an augmented reality game out of it. With good enough spatial tracking, there’d be nothing to stop the world as-shown-to-your-eyes containing objects that aren’t present in the real world.

Like… what if you were playing Pokemon Go, but from a top down view of yourself as you go around and find creatures out and about in the real world. Not just limited to looking through your phone as a lens, you’d be immersed in the game in a whole new way.

From a pole, a view looking down upon the top of the head (and the ground in front of) a man wearing a VR headset outdoors; the view is similar to that used in third-person videogames.
More “above the head” than “over the shoulder”, but the principle’s much the same.

I’m also really interested in what the experience of seeing yourself from the “wrong” perspective is like. Is it disassociating? Nauseating? Liberating? I’m sure we’ve all done one of those experiments where, by means of mirrors or props, we experience the illusory sensation of our hand being touched when it’s not actually our hand. What’s that like when you’re able to visually step completely out of your own body, and yet still move and feel it perfectly?

There are so many questions that this set-up raises, and I’m yet to see anybody try to answer them.

10. Counterfeit Monkey

Finally, I can’t resist an opportunity to plug – not for the first time – my favourite interactive fiction game, Emily Short‘s Counterfeit Monkey, a game that started as an effort to make a tutorial on making a “T-Remover” like the one in Leather Goddesses of Phobos but grew into a sprawling wordplay-based puzzle adventure.

Screenshot from Counterfeit Monkey being played in Gargoyle. The player is in Sigil Street at Noon. Seeing a display of t-shirts, they've switched their t-remover to r (making it an r-remover) and attempted to use it on the t-shirts, getting the response 'No doubt this would be a cogent statement about the commercialization of the body, if it weren’t for the fact that T-SHIT doesn’t describe anything anyone with a functional colon has ever heard of.'
Even folks who are familiar with the NetHack idiom The DevTeam Thinks Of Everything are still likely to be impressed with the sheer diversity of objects and their interactions available in Counterfeit Monkey.

What makes it weird? The fact that there’s not really anything else quite like it. Within your first half hour or so of play you’ll probably have acquired your core toolkit – your full-alphabet letter remover, restoration gel, and monocle – and you’ll begin to discover that you can do just about anything with anything.

Find some BRANDY (I’m don’t recall if there is any in the game; this is just an example) and you can turn it into a BRAND, then into some BRAN, then into a BRA7. And while there might not exist any puzzles in the game for which you’ll need a bra, each of these items will have a full description when you look at it. Can you begin to conceive of the amount of work involved in making a game like this?

It’s now over a decade old and continues to receive updates as a community-run project! It’s completely free8, and if you haven’t played it yet, congratulations: you’re about to have an amazing time. Pay attention to the tutorial, and be sure to use an interpreter that supports the UNDO command (or else be sure to SAVE frequently!).


I remain interested in things that push the boundaries of what a “game” is or otherwise make the space “fun and weird”. If you’ve seen something I should see, let me know!

Footnotes

1 The blog post got deleted but the Wayback Machine has a copy.

2 Note you don’t get to see a video of me playing It is as if you were making love; you’re welcome.

3 Strangely – although it’s hard to say that anything in this video is more-strange than any other part – one of the “hard lads” friends’ then picks up his fag end and takes a drag

4 This, in case it wasn’t obvious to you already, is likely to be a big clue that the authors’ claim that each chapter was “found” from somewhere different can be pretty-well dismissed.

5 I wanted it to draw parallels to The Langoliers, a Stephen King short story about a group of people who get trapped alone in “yesterday”.

6 Until they opt to “stay asleep forever”, ending the game.

7 Or into a BAND and then into a BAN, maybe?

8 Counterfeit Monkey is free, but it was almost charityware: if it turns out you love it as much as I did then you might follow my lead and make a donation to Emily’s suggested charity the Endangered Language Fund. Just sayin’.

× × × × × × ×

snakes.run: rendering 100M pixels a second over ssh

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

I made a massively multiplayer snake game that’s accessible over ssh. Play by running ssh snakes.run in your terminal…

I’d been speculating for the last month or so what Nolen Royalty had been working on recently that had required such high-performance out of the SSH protocol, but now we know: it’s massively multiplayer snake.

Screenshot of a game of snake: a medium-sized blue snake explores amongst several smaller purple snakes
My personal best length is in the region of 180, but I wouldn’t dare risking taking a shortcut when I’m at those lofty heights.

There’s a philosophical thing here that makes it feel different from probably any other Snake game you’ve ever played: it’s a thin client. All of the program runs on the server.

Even slither.io is a split-client. The server is responsible for game state, but rendering the graphics based upon that state runs in JavaScript code in the browser. Not so with snakes.run. The entire output is delivered as terminal rendering instructions.

It’s a reminder of how computing used to be. Dumb terminals sharing a mainframe that would do all of the processing, with only basic I/O being delegated to the terminals, was the dominant way to use computers in the 1960s through 1970s, until the growth of microcomputer technologies made it cost-efficient to make “thick” clients: powerful computers that would sit right on your desk.

It took decades until long-distance networks came to the scale and performance that we see today: fast enough that worldwide thin-client architectures are once again possible. Nowadays, the closest thing most people use to a thin client… is their Web browser, passing messages back and forth. If you’re playing a real-time multiplayer game, though, you expect the processing to be shared between your computer (for low latency graphical output) and the server (for state management and prevention of cheating).

snakes.run tips your expectation on its head. And that’s pretty cool.

It’s also a lot of fun. You should give it ago.

×

Rebels in the Sky

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

It’s the year 2101. Corporations have taken over the world. The only way to be free is to join a pirate crew and start plundering the galaxy. The only means of survival is to play basketball.

Now it’s your turn to go out there and make a name for yourself. Create your crew and start wandering the galaxy in search of worthy basketball opponents.

The game is under heavy development and breaking changes are often introduced. If you can’t continue an old game because the save file is invalid, you probably need to start a new one or open an issue to check if the save file can be migrated.

Just try it out!

Connect via SSH to try the game.

ssh rebels.frittura.org -p 3788

Save files are deleted after 2 days of inactivity.

I feel like I’m reading a lot about SSH lately and how it can be used for exotic and unusual tasks. Tarpitting‘s fun, of course, but really what inspires me is all these dinky projects like ssh tiny.christmas that subvert the usual authentication-then-terminal flow that you expect when you connect to an SSH server.

These kinds of projects feel more like connecting to a BBS. And that’s pretty retro (and cool!).

Anyway: Rebels in the Sky is a networked multiplayer terminal-based game about exploring the galaxy with a team of basketball-loving space pirates. I met the main developer on a forum and they seem cool; I’m interested to see where this quirky little project ends up going!

(The pixel art planets, based on Deep-Fold’s work, are amazing too. Honestly impressed to see animations like these transmitted over a shell!)

Dan Q on itch.io

I’ve had my itch.io account for about six years; I think I first created it to buy a copy of We Are But Worms: A One Word RPG. I’ve since made several purchases, donations, reviews, and comments, but never really used my account as a “creator”.

I changed that today when I realised that there was nothing to stop me re-publishing games like DNDle and Axe Feather 2021 via my itch.io profile as well as on their current homes (and on GitHub, I suppose). For some folks, itch.io’s discovery features might be the best way for them to discover worthwhile content weird stuff like this.

I might republish some other “things” I’ve made on itch.io too. It’s not like there haven’t been lots of them over the years!

Roomscale VR Still Rocks

Over the Christmas break I dug out my old HTC Vive VR gear, which I got way back in the Spring of 2016. Graphics card technology having come a long way1, it was now relatively simple to set up a fully-working “holodeck” in our living room with only a slight risk to the baubles on the Christmas tree.

For our younger child, this was his first experience of “roomscale VR”, which I maintain is the most magical thing about this specific kind of augmented reality. Six degrees of freedom for your head and each of your hands provides the critical level of immersion, for me.

And you know what: this ten-year-old hardware of mine still holds up and is still awesome!2

The kids and I have spent a few days dipping in and out of classics like theBlu, Beat Saber, Job Simulator, Vacation Simulator, Raw Data, and (in my case3) Half-Life: Alyx.

A tweenage girl in a black 'Hazbin Hotel' hoodie wears a VR headset; the screen behind her shows that she's drawn a picture featuring a rainbow background and the word 'CAR', while playing Job Simulator.
It doesn’t feel too heavy, but this first edition Vive sure is a big beast, isn’t it?

I’m moderately excited by the upcoming Steam Frame with its skinny headset, balanced weight, high-bandwidth wireless connectivity, foveated streaming, and built-in PC for basic gaming… but what’s with those controllers? Using AA batteries instead of a built-in rechargeable one feels like a step backwards, and the lack of a thumb “trackpad” seems a little limiting too. I’ll be waiting to see the reviews, thanks.

When I looked back at my blog to double-check that my Vive really is a decade old, I was reminded that I got it in the same month at Three Rings2016 hackathon, then called “DevCamp”, near Tintern4. This amused me, because I’m returning to Tintern this year, too, although on family holiday rather than Three Rings business. Maybe I’ll visit on a third occasion in another decade’s time, following another round of VR gaming?

Footnotes

1 The then-high-end graphics card I used to use to drive this rig got replaced many years ago… and then that replacement card in turn got replaced recently, at which point it became a hand-me-down for our media centre PC in the living room.

2 I’ve had the Vive hooked-up in the office since our house move in 2020, but there’s rarely been space for roomscale play there: just an occasional bit of Elite: Dangerous at my desk… which is still a good application of VR, but not remotely the same thing as being able to stand up and move around!

3 I figure Alyx be a little scary/intense for the kids, but I could be wrong. I think the biggest demonstration of how immersive the game can be in VR is the moment when you see how somebody can watch it played on the big screen and be fine but as soon as they’re in the headset and a combine zombie has you pinned-down in a railway carriage and it’s suddenly way too much!

4 Where, while doing a little geocaching, I messed-up a bonus cache’s coordinate calculation, realised my mistake, brute-forced the possible answers, narrowed it down to two… and then picked the wrong one and fell off a cliff.

×

Egg and Dispatch

I’ve found myself, unusually, with enough free time for videogaming this Christmas period. As a result I’ve played – and loved enough to play to completion – not one but two games that I’d like to recommend to you!

Egg

Egg, released last month by Terry Cavanagh, is a frustrating but satisfying 3D puzzle platformer playable for free on the Web or downloadable for a variety of platforms.

Pixelated screenshot showing a box of eggs perched precariously on a grassy cliff ledge, below some trees and structures and part of a purple pipe.
If Getting Over It with Bennett Foddy was a story about eggs instead of a man whose legs are stuck in a cauldron… then it’d still be much harder than Egg, which almost never made me want to throw my computer out of the window.

It’s not quite a “rage game”, because it’s got copious checkpoints, but it will cause at least a little frustration as you perform challenging timed jumps to deliver each of your six eggs to suitable nests hidden throughout the map. But I enjoyed it: it was never too hard, and it always felt like my hard work was paid-off in satisfying ways.

I probably spent a little over an hour lost in its retro aesthetic, and was delighted to do so: maybe you should give it a go too.

Dispatch

You probably don’t need me to introduce you to Dispatch, from AdHoc Studio, because the Internet has gone wild over it and rightly. Available for PlayStation and Steam, it’s a narrative-driven multi-pathed game that straddles both storytelling and strategic resource management mechanics.

And it does the best job I’ve seen at making it feel like your choices matter since Pentiment. Perhaps longer.

For the bits in-between the strategy layer, the quicktime events, and the dialogue choices, the game seamlessly slips into pre-rendered video that provides a best-in-class “interactive movie” experience.

The story is well-written and wonderfully voice-acted: I’d have absolutely been happy to watch this “superhero workplace comedy” as a TV show! But the way it has you second-guessing your choices and your priorities every step of the way significantly adds to the experience.

Dispatch interface showing popups describing a bank robbery in process, with the player dragging a hero called 'Punch Up' into one of the three available hero slots.
The basic gameplay is intuitive, lightweight fun, with a couple of surprises along the way… but it’s the story that’ll keep you hooked to the end of the eighth episode. There’s a good chance this one’s going to win a ton of awards.

It only took about 8-10 hours of my time, spread over two or three sessions, but it’s very “episodic” so if – like me – you need to be able to dip in and out of games (when life gets in the way) it’s still a great choice. And there’s some replay-value too: I’m definitely going to run through it a second time.

So if you’ve got at-least-as-much space for videogaming in your life as I do (which isn’t a high bar), those are my two “hot picks” for the season.

× ×

The perils of doors in gamedev

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Recent discussion about the perils of doors in gamedev reminded me of a bug caused by a door in a game you may have heard of called “Half Life 2”. Are you sitting comfortably? Then I shall begin.

A Combine soldier threatening with a baton, in front of a door. Which one is a greater menace in gamedev?

What is meant to happen is a guard (spoiler alert – it’s actually Barney in disguise) bangs on a door, the door opens, he says “get in”, and then the game waits for you to enter the room before the script proceeds.

But in this case the door sort of rattled, but didn’t open, and then locked shut again. So you can’t get in the room, and the gate closed behind you, so you can’t go do anything else. The guard waits forever, pointing at the locked door, and you’re stuck.

If you watch the video, when the door unlocks and then opens, there’s a second guard standing inside the room to the left of the opening door. That guard is actually standing very slightly too close – the very corner of his bounding box intersects the door’s path as it opens. So what’s happening is the door starts to open, slightly nudges into the guard’s toe, bounces back, closes, and then automatically locks. And because there’s no script to deal with this and re-open the door, you’re stuck.

So this kicked off an even longer bug-hunt. The answer was (as with so many of my stories) good old floating point. Half Life 2 was originally shipped in 2004, and although the SSE instruction set existed, it wasn’t yet ubiquitous, so most of HL2 was compiled to use the older 8087 or x87 maths instruction set. That has a wacky grab-bag of precisions – some things are 32-bit, some are 64-bit, some are 80-bit, and exactly which precision you get in which bits of code is somewhat arcane.

Amazing thread from Tom Forsyth, reflecting on his time working at Valve. The tl;dr is that after their compiler was upgraded (to support the SSE instruction sets that had now become common in processors), subsequent builds of Half-Life 2 became unwinnable. The reason was knock-on effects from a series of precision roundings, which meant that a Combine security guard’s toe was in a slightly wrong place and the physics engine would bounce a door off him.

A proper 500-mile-email grade story, in terms of unusual bugs.

DOCTYPE

This weekend, I received my copy of DOCTYPE, and man: it feels like a step back to yesteryear to type in a computer program from a magazine: I can’t have done that in at least thirty years.

Dan sits at a cluttered desk reading a copy of DOCTYPE, a magazine with an aggressively 'cyberspace circa 1990' graphic design cover.
I mentioned that I’ve been on a bit of a nostalgic Web Revivalist kick lately, right?

So yeah, DOCTYPE is a dead-tree (only) medium magazine containing the source code to 10 Web pages which, when typed-in to your computer, each provide you with some kind of fun and interactive plaything. Each of the programs is contributed by a different author, including several I follow and one or two whom I’m corresponded with at some point or another, and each brings their own personality and imagination to their contribution.

I opted to start with Stuart Langridge‘s The Nine Pyramids, a puzzle game about trying to connect all nodes in a 3×3 grid in a continuous line bridging adjacent (orthogonal or diagonal) nodes without visiting the same node twice nor moving in the same direction twice in a row (that last provision is described as “not visiting three in a straight line”, but I think my interpretation would have resulted in simpler code: I might demonstrate this, down the line!).

Open magazine showing program code in front of a screen showing a text editor and the running program.
The puzzle actually made me stop to think about it for a bit, which was unexpected and pleasing!

Per tradition with this kind of programming, I made a couple of typos, the worst of which was missing an entire parameter in a CSS conic-gradient() which resulted in the majority of the user interface being invisible: whoops! I found myself reminded of typing-in the code for Werewolves and Wanderer from The Amazing Amstrad Omnibus, whose data section – the part most-liable to be affected by a typographic bug without introducing a syntax error – had a helpful “checksum” to identify if a problem had occurred, and wishing that such a thing had been possible here!

But thankfully a tiny bit of poking in my browser’s inspector revealed the troublesome CSS and I was able to complete the code, and then the puzzle.

I’ve really been enjoying DOCTYPE, and you can still buy a copy if you’d like one of your own. It manages to simultaneously feel both fresh and nostalgic, and that’s really cool.

Dogspinner

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Dogspinner is the Monday morning distraction you didn’t know you needed. Get that dog up to full speed! (It’s worth it for the sound effects alone.)

I had some difficulty using it on desktop because I use the Forbidden Resolutions. But it probably works fine for most people and is probably especially great on mobile.

I’d love to write a longer review to praise the art style and the concept, but there’s not much to say. Just… go and give it a shot; it’ll improve your day, I’m sure.

Impossible Countdown

Or: Sometimes You Don’t Need a Computer, Just a Brain

I was watching an episode of 8 Out Of 10 Cats Does Countdown the other night1 and I was wondering: what’s the hardest hand you can be dealt in a Countdown letters game?

Rachel Riley, wearing a pink and black dress, stands in front of a partially-filled Countdown board showing the letters 'DANQ.ME'.
Or maybe I was just looking for an excuse to open an image editor, I don’t know.

Sometimes it’s possible to get fixated on a particular way of solving a problem, without having yet fully thought-through it. That’s what happened to me, because the first thing I did was start to write a computer program to solve this question. The program, I figured, would permute through all of the legitimate permutations of letters that could be drawn in a game of Countdown, and determine how many words and of what length could be derived from them2. It’d repeat in this fashion, at any given point retaining the worst possible hands (both in terms of number of words and best possible score).

When the program completed (or, if I got bored of waiting, when I stopped it) it’d be showing the worst-found deals both in terms of lowest-scoring-best-word and fewest-possible-words. Easy.

Here’s how far I got with that program before I changed techniques. Maybe you’ll see why:

#!/usr/bin/env ruby
WORDLIST = File.readlines('dictionary.txt').map(&:strip) # https://github.com/jes/cntdn/blob/master/dictionary
LETTER_FREQUENCIES = { # http://www.thecountdownpage.com/letters.htm
  vowels: {
    A: 15, E: 21, I: 13, O: 13, U: 5,
  },
  consonants: {
    B: 2, C: 3, D: 6, F: 2, G: 3, H: 2, J: 1,
    K: 1, L: 5, M: 4, N: 8, P: 4, Q: 1, R: 9,
    S: 9, T: 9, V: 1, W: 1, X: 1, Y: 1, Z: 1,
  }
}
ALLOWED_HANDS = [ # https://wiki.apterous.org/Letters_game
  { vowels: 3, consonants: 6 },
  { vowels: 4, consonants: 5 },
  { vowels: 5, consonants: 4 },
]

At this point in writing out some constants I’d need to define the rules, my brain was already racing ahead to find optimisations.

For example: given that you must choose at least four cards from the consonants deck, you’re allowed no more than five vowels… but no individual vowel appears in the vowel deck fewer than five times, so my program actually had free-choice of the vowels.

Knowing that3, I figured that there must exist Countdown deals that contain no valid words, and that finding one of those would be easier than writing a program to permute through all viable options. My head’s full of useful heuristics about English words, after all, which leads to rules like:

  • None of the vowels can be I or A, because they’re words in their own right.
  • Five letter Us is a strong starting point, because it’s very rarely used in two-letter words (and this set of tiles is likely to be hard enough that three-letter words are already an impossibility).
  • This eliminates the consonants M (mu, um: the Greek letter and the “I’m thinking” sound), N (nu, un-: the Greek letter and the inverting prefix), H (uh: another sound for when you’re thinking or hesitating), P (up: the direction of ascension), R (ur-: the prefix for “original”), S (us: the first-person-plural pronoun), and X (xu: the unit of currency). So as long as we can find four consonants within the allowable deck letter frequency that aren’t those five… we’re sorted.
Rachel Riley, wearing a blue dress, places the last tile on a board to complete the tileset 'U J Y U Q V U U Z'.
I came up with U J Y U Q V U U Z, but there are definitely many other tile-sets that are completely valid within the rules of Counddown (albeit insanely unlikely to turn up organically) but for which there are no valid words to be found.

I enjoyed getting “Q” into my proposed letter set. I like to image a competitor, having already drawn two “U”s, a “J”, and a Y”, being briefly happy to draw a “Q” and already thinking about all those “QU-” words that they’re excited to be able to use… before discovering that there aren’t any of them and, indeed, aren’t actually any words at all.

Even up to the last letter they were probably hoping for some consonant that could make it work. A K (juku), maybe?

But the moral of the story is: you don’t always have to use a computer. Sometimes all you need is a brain and a few minutes while you eat your breakfast on a slow Sunday morning, and that’s plenty sufficient.

Update: As soon as I published this, I spotted my mistake. A “yuzu” is a kind of East Asian plum, but  it didn’t show up in this countdown solver! So my impossible deal isn’t quite so impossible after all. Perhaps U J Y U Q V U U C would be a better “impossible” set of tiles, where that “C” makes it briefly look like there might be a word in there, even if it’s just a three or four-letter one… but there isn’t. Or is there…?

Revised "impossible countdown" board, showing letters 'U J Y U Q V U U C'.

Footnotes

1 It boggles my mind to realise that show’s managed 28 seasons, now. Sure, I know that Countdown has managed something approaching 9,000 episodes by now, but Cats Does Countdown was always supposed to be a silly one-off, not a show in it’s own right. Anyway: it’s somehow better than both 8 Out Of 10 Cats and Countdown, and if you disagree then we can take this outside.

2 Herein lay my first challenge, because it turns out that the letter frequencies and even the rules of Countdown have changed on several occasions, and short of starting a conversation on what might be the world’s nerdiest surviving phpBB installation I couldn’t necessarily determine a completely up-to-date ruleset.

3 And having, y’know, a modest knowledge of the English language

× × ×

DOGWALK

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Well this was adorable.

Blender Studio’s official game project is a short casual interactive story. Play a big, adorable dog traversing through winter woods and help out a little kid decorate a snowman with colorful items hidden in the environment.

Animation from DOGWALK featuring a papercraft scene of a large hairy dog pulling a young child through a wintery forest.

DOGWALK is a free, open-source Godot game for Windows, MacOS and Linux, produced and given to the world by Blender Studio as a way of showcasing some of their video lessons. The beautiful, playful “papercraft” models were made by making actual hand-painted paper models of the assets, unfolding them, scanning them, and then re-folding the maps back into in-game assets, which is an amazing and imaginative approach.

It was released a little over a week ago, and it’s a short but adorable little game.

It’s also free on Steam, if that’s your preference.

×

ChatGPT beats GeoGuessr

You’ve probably come across GeoGuessr already: it’s an online game where you (and friends, if you’ve got them) get dropped into Google Street View and have two minutes to try to work out where in the world you are and drop a pin on it.

City street shown in GeoGuessr, with white and cream buildings, under a bright blue sky. 1 minute 45 seconds remains to place a pin.
Can you tell where we are, yet?

A great strategy is to “walk around” a little, looking for landmarks, phone numbers, advertisements, linguistic clues, cultural indicators, and so on, narrowing down the region of the world you think you’re looking at before committing to a country or even a city. You’re eventually scored by how close you are to the actual location.

Cheating at GeoGuessr

I decided to see if ChatGPT can do better than me. Using only the free tier of both GeoGuessr and ChatGPT1, I pasted screenshots of what I was seeing right into ChatGPT:

Conversation with ChatGPT. The human pastes two photos from Google Street View, and asks 'Try to figure out where these photos were taken and give your best guess.'. ChatGPT responds: Based on the architecture, street signs, and language used, these photos were most likely taken in Saint Petersburg, Russia. Here are the key clues: 1. Street Signs in Russian: In the first image, you can clearly see a street sign that reads "ГОРХОВАЯ УЛИЦА" (Gorokhovaya Ulitsa), which is a well-known street in the heart of Saint Petersburg. 2. Architecture Style: The buildings have that classic 18th–19th century European architecture with neoclassical and baroque influences, typical of central Saint Petersburg. Narrow streets, high windows, and detailed facades are very characteristic of this city's historic districts. 3. Language & Storefronts: There are Cyrillic characters on store windows and signs, further confirming that this is a Russian-speaking country. All signs point to Saint Petersburg, particularly a district close to the center—possibly near Gorokhovaya Street, which intersects with major roads and is near iconic locations like Nevsky Prospekt. Want help pinpointing a specific building or planning a walking route around that area?
ChatGPT confidently assessed the geographic clues, translated some text that it found, and eventually made a guess down to a particular street in St Petersburg.

That’s pretty spooky, right?

The response came back plenty fast enough for me to copy-and-paste the suggested address into Google Maps, get the approximate location, and then drop a pin in the right place in GeoGuessr. It’s probably one of my most-accurate guesses ever.

This isn’t a one-off fluke. I tried again, this time using only a single photo, rather than one pointing in each direction on the street:

Another round with ChatGPT, during which it responds: This photo was taken in Bangladesh, and more specifically, it looks like a street in Narayanganj, which is a city just southeast of Dhaka. Here’s the breakdown of clues: 1. Language: The signs are written in Bengali (Bangla), the official language of Bangladesh. Words like "পপুলার মেডিকেল সেন্টার" (Popular Medical Center) and "স্মার্ট" (Smart) are in Bangla script. 2. Vehicles: The green auto-rickshaws (CNGs) and yellow cargo trucks are extremely common in Bangladesh. The design and paint jobs of these vehicles are specific to the country. 3. Local Clues: On the right wall, there’s a sign for “PZ International School” with a local Bangladeshi phone number. The overall environment — architecture, signage style, electric poles, street dividers, and the road's layout — strongly resemble those in urban areas around Dhaka and Narayanganj. 4. Urban Layout: The photo shows a divided road with moderate commercial development, which is typical of main roads in industrial or semi-urban Bangladeshi towns. If you want, I can try to pinpoint the exact intersection using some of the shop names or school signs — just let me know!
Again, the text recognition and translation capabilities of the AI were highly useful, but it was helped by architectural and cultural clues too.

This time, it wasn’t quite right: the actual location of the photo was Chittagong, not Dhaka, about 200km away.

But that’s still reasonably spectacular from only a single vantage from a single point.

GeoGuessr screenshot showing a guess in Dhaka being compared to the correct answer of Chittagong.
Don’t think I’d have done better, though.

Obviously my approach here was crude, but it’d be relatively easy to, for example, implement a browser wrapper that cheated on-your-behalf: while playing GeoGuessr, you’d just click a “send to AI” button whenever you fancied and it’d start working in the background, improving precision with each subsequent screenshot (so you could still “walk around” and pass extra details to it).

And similarly, a little prompt manipulation could have the output include estimated GPS coordinates, allowing the code to place the pin for you while outputting its reasoning on the side2.

The short of what I’m saying is: if you’re playing GeoGuessr against somebody you don’t trust not to cheat… they might well be cheating. And thanks to the explanatory output, they can even justify their explanations for the places they dropped pins.

What about other photos?

The other thought that comes to my mind is: could this be used to infer approximate geolocations from photos whose EXIF metadata has been stripped. Because if so, that’s the kind of thing that’s certain to get exploited by all kind of people who want to know where you are/were at a particular time. For example… law enforcement, stalkers, and other unsavoury types.

I wrote a prompt for gpt4o and put it to work:

1. Starting out easy

The Logos Hope docked at the Port of Spain cruise ship terminal, Trinidad & Tobago.
I took this photo from the balcony of our first hotel during Ruth and I’s trip to Trinidad & Tobago.

The AI guessed:

Location: Port of Spain, Trinidad and Tobago

Explanation: The photograph shows a large ship docked at a port with a building that displays the text “WELCOME TO PORT OF SPAIN”. This text is in English, indicating an English-speaking country. The mention of “Port of Spain” directly specifies the port’s location in the capital city of Trinidad and Tobago. The design and style of the port facilities, as well as the presence of a ship named “Logos Hope”, which is known to visit many ports globally, further suggests a Caribbean port, aligning with Port of Spain’s known characteristics.

Coordinates: 10.6549, -61.5011

✅ That was pretty easy, to be fair.

2. A little more challenging

A squat neolithic stone circle with many stones (some might say an uncountable number). A dog pulls at her lead to follow one of her humans more-closely around it.
We have an annual tradition of visiting this particular monument.

The AI guessed:

  • Location: The Rollright Stones, England, United Kingdom

  • Explanation: The photograph depicts an area with several ancient standing stones arranged in a circle in a rural setting, characteristic of a stone circle. These are typically found in certain parts of the UK. The terrain is typical of the British countryside, with a grassy field and surrounding trees. The specific arrangement and size of the stones, along with the style of fencing and walking paths, are reminiscent of the Rollright Stones, one of Britain’s historic sites known for a circle of Neolithic or Bronze Age standing stones located in Oxfordshire, England.

  • Coordinates: 51.9743, -1.5731

✅ Again, spot on. If you’d never been to the Rollright Stones, you probably wouldn’t get that one, because while it’s a distinctive-looking stone circle… it’s not that distinctive-looking, right? Let’s be honest: it’s some rocks in a field.

3. Ramping up the difficulty

Three men sit on the upper deck of a passenger ferry near a bridge. A city skyline can be seen in the background.
I snapped this on the way across the Bosphorus Strait to the Asia side of Istanbul (to “have lunch in a different continent” and find my-Easternmost virtual cache), during my final Automattic team meetup.

The AI guessed:

Location: Istanbul, Turkey

Explanation: The photograph prominently features the Galata Tower in the background, a well-known landmark in Istanbul, Turkey. Moreover, the presence of a ferry or similar boat and the architectural style of the surrounding buildings are indicative of Istanbul’s famous skyline. The signage in Turkish, as suggested by the word partially visible on the left, also supports this location as Turkey is a predominantly Turkish-speaking country. These elements combined make it highly likely that the photograph was taken in Istanbul.

Coordinates: 41.0082, 28.9784

✅ The coordinates aren’t exactly right – it’s placed us in the city rather than on a boat, which we clearly are – but it’s not done badly. Spotting the Galata Tower3 was a nice move.

4. Okay, now hard mode:

Dan waves to the camera in front of a pleasure marina and revitalised docklands.
This photo is from 3Camp4 last year.

The AI guessed:

Location: Cardiff Bay, Cardiff, Wales, United Kingdom

Explanation: The photograph features a marina with modern residential buildings, which is characteristic of the Cardiff Bay area in Cardiff, Wales. The architecture, clear blue skies, and marina setting are reminiscent of Cardiff’s waterfront development. Additionally, the presence of English signage on the boat (“FINBAR”) supports a location in an English-speaking country. Cardiff Bay is known for its redeveloped waterfront area with modern apartments and leisure facilities surrounding the marina. The style and design of the building are consistent with developments in Cardiff’s revitalized docklands.

Coordinates: 51.4626, -3.1678

❌ Oops! Nope. I can see the thinking of what it’s claiming, there, but this was actually the Ipswich marina. I went for a walk to take a break from the code I’d been writing and took this somewhere in the vicinity of the blue plaque for Edward Ardizzone that I’d just spotted (I was recording a video for my kids, who’ve enjoyed several of his Tim… books).

So I don’t think this is necessarily a game-changer for Internet creeps yet. So long as you’re careful not to post photos in which you’re in front of any national monuments and strip your EXIF metadata as normal, you’re probably not going to give away where you are quite yet.

Footnotes

1 And in a single-player game only: I didn’t actually want to cheat anybody out of a legitimate victory!

2 I’m not going to implement GeoCheatr, as I’d probably name it. Unless somebody feels like paying me to do so: I’m open for freelance work right now, so if you want to try to guarantee the win at the GeoGuessr World Championships (which will involve the much-riskier act of cheating in person, so you’ll want a secret UI – I’m thinking a keyboard shortcut to send data to the AI, and an in-ear headphone so it can “talk” back to you?), look me up? (I’m mostly kidding, of course: just because something’s technically-possible doesn’t mean it’s something I want to do, even for your money!)

3 Having visited the Galata Tower I can confirm that it really is pretty distinctive.

4 3Camp is Three Rings‘ annual volunteer get-together, hackathon, and meetup. People come together for an intensive week of making-things-better for charities the world over.

× × × × × × × ×