Online Spark
Latest News

Challenge UI for Ridiculous Space Battles

What the report saysIf you played the original Gratuitous Space Battles game about 500 years ago, you will recall that the online challenges were a very popular part of the game. If not, let me explain: GSB was the first…

Challenge UI for Ridiculous Space Battles

What the report says

If you played the original Gratuitous Space Battles game about 500 years ago, you will recall that the online challenges were a very popular part of the game. If not, let me explain: GSB was the first autobattler, so its a game where you set up a fleet of space ships (that you designed), give them orders, and then use that fleet to defeat the enemy in a mission (which I called a skirmish) that was designed by me (the developer). HOWEVER, there was also the option to just design a fleet that you thought was a good all-rounder against all foes, and submit a ‘challenge’ to another player (or everyone) and let them fight against your fleet.To do this, there was an online system where you logged in, and designed the fleet, typed a ‘taunt’ for your enemies, and submitted that challenge.

It got stored on my server as a small text file, along with a small thumbnail preview image showing the fleet formation. Other players could browse available challenges, download them, and enjoy designing fleets to beat them. There were ratings system, message systems, and ability to view all of the fleets that were sent to battle against your fleet. It was so cool, and so popular, it crashed the server. The challenges were stored as individual files, and there was something silly like 500,000 of them (or more), and the whole back-end basically collapsed eventually!So lets not let that happen this time eh?

(hardly a risk, as I doubt this game will be as popular).Anyway, I am re-coding the whole thing from scratch, like I have done for the whole of Ridiculous Space Battles, so it means completely re-thinking the UI, the UX, and the back-end code. The previous layout of the challenge browser looked like this:Which has not aged THAT badly, although it certainly does not fit the more clean and white-space loving UI of the new game. The original game went with an ‘industrial physical’ theme for the UI, and that feels very 1990s to me now.

Challenge UI for Ridiculous Space Battles

Key details

The new design currently looks like this:A bunch of stuff has changed. I am now listing the challenge ID, and also a title as well as a description. I do not have difficulties in there yet, or ratings for fun, but I might include that again. The big problem is getting the balance right between ‘I have a lot of information to display here’ and ‘do not look too cluttered’. This is something I struggle with a lot in design, because I feel like my tastes are the opposite of most web designers and game designers these days.I am an autistic, numbers-obsessed data-loving geek who loves nothing more than a super-complicated dashboard of data.

(Its a miracle I only worked on the software on trading floors and did not become a trader myself) This means I am pre-disposed to a data-rich UI layout. But these days its apparently ILLEGAL to update any software without saying its a ‘cleaner’ look, which means that the whitespace has gone from 90% of the layout to 95% of the layout. Absolutely every ‘designer’ seems to assume the only UI in the universe is a mobile phone, and the only customer is someone who is mentally incapable of seeing two pieces of information on a single screen.

By Kahless I hate this trend… but anyway, nobody gets to tell me how to design my own game, so why do I care :D.Anyway, there is a lot more to do. I have a different UI almost complete for actually submitting a challenge:…but I still need to do the code that downloads the challenge from the browser, and then launches the deployment screen with it as a battle to be fought, and resolve all that at the end (Telling the challenge there was an attempt, and if it was a victory… logging what the attempting fleet was, etc).

More from the announcement

I also need to stress test everything, and set things up so you cannot create multiple users etc etc.Doing all of that means writing a bunch of web client code (I use the WinInet win32 API) and also server code in PHP and SQL. This is where I have found working alongside Claude (Anthropic’s AI) has been great. I do NOT (yet) use ‘Claude Code’, but what I am doing (with a £15/month sub) is occasionally asking for Claude to write some php, or some SQL or an WinInet function for me, that I then read through and check.

This, in my opinion is a great way to use AI to make you a more productive coder, without worrying that its doing random stuff.