Anti-User Interface

Hello! Welcome to the blog.

I don’t really feel like spending time on an intro to this one, so I’m just going to hop into the developer update. Yeehaw!


Back at the end of May, I’d just finished setting up a rough prototype for my first level involving “combat”. I polished off the scripts that controlled enemy attack patterns, stuck them in the level, and… hated it. The idea was fun, but I really didn’t like how it played at all, when put into practice.

And so, it was back to the drawing board. Literally.

A rough diagram drawn in red marker on a yellow whiteboard. Shows a window, with a loading bar reading "updating", a toggle for automatic updates, and a next button in the bottom right corner.

I’d had (and still have!) this rough draft of a design hanging next to my desk since the start of work on this level, as a constant reminder of what I was supposed to be aiming for. I’d been having trouble getting that sort of layout to feel right with the addition of an enemy, which lead me to an in-engine prototype that looked more like this:

Blue window with white text reading "Doorways 9 is Getting Ready - Please wait patiently! This will only take a few minutes." Three rectangular buttons labelled "Wait" are placed in a row across the bottom. A bright yellow laser cuts across the screen at an angle, descending towards the currently selected button.
Eww.

It was pretty bad – more of a hitbox test than anything approaching a level. However, since I’d just decided that the “attacking enemy” thing wasn’t working, I thought-

Screw it! That original layout was better, anyway.

-and went back to it.

Today's mechanic testing is dedicated to the twelve million pop-ups you get whenever you open Microsoft Edge for the first time. #gamedev #godot

My_Kneecaps (@mykneecaps.bsky.social) 2024-05-24T20:42:02.802Z
Microsoft Edge pop-ups are an inciting incident for this project.

There was a pretty straightforward idea here: most of the levels so far had static UI, with all of the buttons present from the start, so this one would introduce mid-stage pop-ups – annoying crap that gets thrown on-screen to mess with you! As with previous levels, everything highlighted in yellow would have to be unchecked before the end of the stage, or else.

The original re-draft followed a layout similar to most previous levels, with a white frame on the outside, and a “Next” button in the bottom-right corner of the screen. However, I thought that felt too cluttered, so I did away with it, and made it so the level would automatically end with the completion of the big progress bar in the center.

A blue menu screen, with a single white loading bar in the center reading "Updating!". Scattered across the screen are disabled checkboxes, reading "I forfeit my soul to GWLC". There's also a small loading bar that reads "Pain Aborted" in the bottom corner of the screen.

To keep players on their toes, I also added a few extra types of pop-ups into the mix!

First were mini-timers (pictured above), that damage you if you don’t stop them in time. They added a bit more urgency to the level, forcing you to get from one side of the screen to the other – a task that gets harder and harder with each new popup added to the screen.

The second (not pictured) are red herring buttons, which only hurt you if you do press them. These buttons look like the ones that stop timers, but aren’t – and are here mainly to make players think before they click. Only the game is allowed to spam!

With the main body of the level set up, I went back and re-purposed my discarded draft from earlier into an introductory sub-stage – something to ease the player into the main level. I also grabbed some of my attack pattern code, and fashioned it into a… “surprise” for the end of the stage. Again, gotta keep players on their toes, right?

When all was said and done, the end result looked a little something like this!

Apologies to my UI design professors.

Not bad, I think! I still have some stuff to work out, design-wise, so I’m going to be doing some closed testing later this month. I’m planning to write about my thoughts on that stuff in greater detail soon, so keep an eye out!

However, as far as this update goes… that’s it!

Thanks for reading, and have a great rest of your day!

Leave a comment