Well, Stoo and I certainly had an amazing time at Crash Live down in Kenilworth last weekend. If you’ve not been, or heard of it, then Crash was an iconic Sinclair Spectrum magazine back in the ‘80s which is now reborn and published by Chris Wilkins of Fusion Retro and this is the show that goes with all of that. And what a show it is - high energy enthusiasm is the order of the day.
Now, we had arranged many months ago to take a table and show what I thought would be a finished UrbX Warriors (for the Spectrum Next) to the Speccy crowd. Of course, the game isn’t finished at all, but for sure we’d have a killer demo by now.
And so, three days before the show…
Basically, we had no demo at all, to speak of. The ‘game’ consisted of tech testing levels and not much else. Stoo set to work on creating a circular set of five levels that would comprise the demo. Sounds easy enough…
Over on the code side of things I was, I realised, in big trouble. I’ve been very careful to keep the PC version of the game and the Next engine (e.g. the actual game) up to date and in-sync at all times. But what I found is that while stuff worked in a build-then-test scenario the engine did not run for very long in continuous play and I discovered this as I started to play through Stoo’s new levels as they filtered through from Github. As is the way with assembly code; over time buffers get busted and memory scribbled and things fall apart in non-apparent ways. The real-game levels were not the test levels and the engine that played those was not so happy anymore. Now the game was very unreliable to say the least. The show was looking aptly named and not in a good way.
The only way forward was the tweek my way out of the problems, one by one. Some of the fixes were simple enough - zombies were wandering off the map as the real game, unlike the tech test levels, had open exits to other maps. Zombie-off-map would crash the machine.
Amidst the bug fixing, I decided to add a few speech events which pushed the text table over 255 bytes in length causing the exporter to blow up. Then I found the game would crash on the fifth restart. This was a scribble bug caused by not reseting the number of speech events to 0 at the start of a level.
And so on. There were seven or eight of these in total. Stressy at the time, but I quite like short bursts of high pressure bug fixing. It always happens before a demo or important build. The simplest changes will break the game. I was reminded of early high—stakes Revolution demos. But they always work in the end if you push through.
But atop all of this, there’s always a really last minute killer bug that appears, like the ‘big fight’ in every Hollywood action movie. This time we suddenly had an issue with the floors turning neon green in one of the levels. Usually, this sort of thing comes down to the palettes being out of sync with the graphics. The solution is to just throw it back at the artist, get new files, re-grab and all is well. But not in this case. We went around in circles for three hours on the Thursday night before we were due to travel on the Friday. Nothing made any difference. I pared things right back until nothing else was happening that might be somehow interfering. Still broken. In the end, Stoo rejigged the sprites so the palette was laid out differently. Now it worked! It looks like the sprite grabbing tool is broken somehow. I’m reluctant to speak to the author about it because in the end, the tool is never broken. Maybe it was all a dream and I can forget all about it.
Come 9am on Saturday and we had the Next setup and people started to play the game. From the off the response was amazing! People thought the game was an Amiga or a MegaDrive. Person after person played the demo from start to end then nodded approval and asked when they could buy it. I got a WhatApp from the US saying ‘You know people are talking about your game online?’ It was a dream.
What’s more, the game didn’t crash once. I rebooted it once in the middle of the day when new game started glitching, and then it ran through until 7pm when we pulled the plug. Amazing!
It’s good to have that sudden pressure. Stuff gets done. Moreover, real players are super useful as they do strange things and you learn a lot from watching that.
Now we’re pushing forward again, full of energy.
Here’s some pics from the show.
Feel free to sign up on our Kickstarter page - watching the number go up makes us feel good.
Found the link to your Substack from your X post. Having enjoyed playing the game live at Crash, this is a fascinating back story! Had no idea of the difficulties beforehand, just that I could grab a joystick and play.
I can imagine seeing real people play and do things unexpected is both amusing and helpful!
It's good to hear about all the bugs and all the frustrating things that happen, not because I delight in your misfortune, but because it's good to know that as a developer we all face the same obstacles no matter how long we've been doing the job.
As a Next owner I might have to add going to Crash Live in addition to Kickstart every year.