atomic love

wedding puzzles

So, remember that last blog entry where I mentioned I made a game for my friends Tim and Bri for their wedding? This is the post-partum! But first, a bit of history.

the present is out there

The background of this is that way back in 2013, my very good friends Dino and Irene (Direne) got married. Rather than do a normal thing that normal people do and just give them a nice bit of bakeware for their wedding present, I decided to make them watch an entire season of the X-Files listening for a hidden sound. 'What sound?' you might ask. A fart, of course, because I am a mature adult person. And why the X-Files? Because for whatever reason, I'd put them on a USB drive and Louise and I had been randomly watching episodes throughout the trip to Spain where Direne were getting married.

Anywho. From memory, I think that pinpointing the episode of the fart led to a website where they had to enter the episode and timestamp of the fart occurrence, and they would then receive their prize of an amount of money that a recently-graduated university student could afford, i.e. absolutely not worth the time wasted to receive it.

Louise and I got married five years later and obviously the wound of frustration was fresh enough that Direne and the rest of our friends got together and devised a multi-step nightmare of puzzles to solve for us to get our wedding present. I won't go into details but it involved finding the equivalent of a needle in a haystack, jigsaw puzzles, lockboxes, and stenography.

In October of last year, it was the turn of Bri and Tim (Brimothy) to tie the knot. I'll be honest, I had already kind of decided not to do a big puzzley thing for them because organising and hosting the bachelor party was a big effort in a lot of ways, but Direne insisted we do something and had a few ideas. One of those ideas was to get them to grow a mystery plant and identify it, which would give us enough time to organise the rest of the steps in the chain. This ended up being a great idea, but it did mean I didn't have any excuses to forego doing the one fairly obvious thing I could do: making a game for them. So I did!

theme scheme

The game is called 'Bake the Universe', and it's an idle game (though not that idle, as I'll explain) that was designed to be kind of a pain in the ass to complete. The theming comes from the fact that Bri is an absurdly good cook, and Tim is an astrophysicist. Put those together, and I immediately thought of the wonderful Carl Sagan quote: "If you wish to bake an apple pie from scratch, first you must create the universe."

That conjured up images of using kitchen equipment to create matter. I initially thought that it would be a Very Large Numbers kind of game, where I would require the player to make Avogadro's number-sized piles of atoms to finsh it. With that large of a number of objects, I wouldn't be able to represent them at an individual level, so it would have likely end up being more of a factory-style game with numbers representing production. That wasn't quite what I was after, so I went down a different path of making an individual atom the thing that was being upgraded and combined.

what a Bohr

If you're not familiar with the Bohr model of atoms, it's the one with the atom in the centre and electrons in orbitals circling it. Like this! Yes, I know this is a hydrogen atom with way too many electrons.

Screenshot of an isolated atom with electrons

That made sense to me as a starting point and I quickly added valence shells as a way of distinguishing orbitals. Then, if each rotation was worth one bit of currency, I could have upgrades that affected the speed and value of each rotation. Those were basically the only levers I had to pull in terms of powering up an individual electron, but each electron could be classified according to a bunch of different descriptors, and I could have upgrades for those.

At least, that was the intention at first. I even built a resource-based upgrade system that could be generally applied to any orbital type, atom type, and electron number. It's still in there, if Tim ever wants to decompile it and have a poke around. The problem was that balancing such upgrades over the life of the game was going to be a complete nightmare. Balance in idle/clicker games is the essential problem of all of them, so if I ever wanted to deliver this game before Brimothy grew a small plant, I'd need to make it simpler. Not only that, but any system that was just optimisation was going to get broken in half by Tim in short order. He's a clever gamer!

I shelved the generic upgrade system and thought back through the game mechanics. I'd been focussing a bit too much on number-go-up, but what if I went and had more of a poke around the baking aspect? Baking/kitchen games often have an aspect of dragging the food around the kitchen to different stations, so what if I introduced some light aspects of that. That lead to me brainstorming the different bits of equipment I wanted to represent: oven, fridge, mixer, dishwasher, and computer. At around the same time, I was thinking about how to upgrade atoms if I didn't have an overall upgrade system. And also, how to make that slightly painful for the player to engage with.

pain points

Screenshot of the game room

That's something that I haven't really mentioned yet; this game was intended to be slightly hostile to the player. It's a hoop to jump through prior to the big prize of getting a wedding present, after all. Combine that with the idea of dragging atoms around the kitchen and you have a recipe for what the game ended up being. Heavy on interactions with individual atoms, and light on overall upgrades. This is the set of rules and equipment that I ended up with:

The loop ends up being order an atom, wait for it to build up some energy, wash it. Get enough energy to combine atoms. Combine them, mix them to get faster energy build-up. Wash, wash, wash. Feed the cats some atoms, fridge at least a few atoms so that they can hold a bunch of energy, and leave the computer running if you didn't feel like doing the manual task of washing. Sansa would take care of it.

fin

At least that was the intention. With my rough calculations/assumptions of how much manual labour Brimothy wanted to do of dragging around atoms between washing and fridging and mixing, I thought it would take them a couple of weeks of idling to finish the game.

Tim did it in 4 days.

Granted, it was 4 days of spending at least a few hours giving himself RSI. I personally witnessed about 2 hours of that on a Discord livestream while talking nonsense with our mutual friend Pat (who provided cat meows in a bit of inspired VO). I think he estimated 16 hours total of playtime which, honestly? Pretty happy with! Not a bad outcome. He found a number of bugs, the largest of which was Spencer's ability never running out which tripled the speed of almost all of his electrons permanently, so maybe that unbalanced things some. Ah well.

Ultimately I'm happy with how it turned out. I lost about a month with the dead end into resource upgrades, so that limited the amount of fun stuff I could add beyond the basic mechanics. I would have liked to have events that fired throughout the journey that changed things up a bit. I also absolutely did not use inheritence properly, whoof. If anyone ever decompiles this thing they will be disgusted with my lack of reuse. But hey, whatever works right?

Spending so much time away from my main project has got me thinking some thoughts about it. More about that in the next post, but I've got some ideas that might spice it up a bit and make it easier to actually ship at some point this decade. Until then!