A fair few people have tried the 'Signcrafting' (gun/ability upgrading mechanic) now, and they love the powerful guns they can make - once they "get" how it works.
Except... almost nobody "gets it" unless I'm standing right next to them to explain it. Uh oh.
Turns out that most people don't think like programmers, so I completely reframed it into a more familiar metaphor: socketing!
Recap
"Signs" are power ups you get by completing a level (or sometimes from chests scattered throughout levels, or by spending cash). 1
You stick them on your weapons to "build your own skill tree":
Actions vs Modifiers
The way it worked was: a Sign could be either an "action" or a "modifier", and the game would choose the effect based on where you placed it:
- Attached to a gun? Action - so it'd (for example) shoot a bullet
- Attached to another Action sign? Modifier - so it'd apply some effect to the bullet that Action would shoot
- Attached to a Modifier? Usually a Modifier that changes the same bullet...
- But there were some special cases, like one Sign would fire another Sign when the bullet expired.2
My design goal was "anything you do will have some effect" - I was trying to reward experimentation.
But needless to say, players did not understand this in the slightest.
I added some icons to try and help players understand...
But it still wasn't clicking.
Players would click a Sign and say, "huh, now what?"
Sockets
Problem was, I had the wrong metaphor.3
Most gamers aren't programmers:4 they don't see a tree and think "aha, I can use this to write my own rudimentary program that will control the bullets of my gun!"
And that's fair - most games don't offer that kind of flexibility, because (frankly) it's a frickin game design nightmare.
But you know what gamers do understand? Placing upgrades into pre-determined slots:
An Inventory
After testing this extremely rough UI on a few unfortunate guinea pigs (I love you all), I found another problem: nobody expected the inventory to be part of the "tree".
To quote a player: "okay I see I have an inventory, but why the heck is the game not letting me open it!?"
So now the inventory is like every other game:
Showing Options
Players now (usually) understood they could move signs around, but they would reposition signs randomly.
A few leading questions later, I realized there was no way to tell whether a sign would be a modifier or an action until they actually placed it.
Whoops!
So I rewrote Signcrafting so that I could show what a given slot expects:
There are a few other little things you can spot there too: the UI is now player-colored5 to make ownership clearer in local multiplayer, and there are some intriguing lock icons that really deserve some words of their own. But I've hit my writing time limit for today!
So here's some action:
Playable web build!
My lord I almost didn't get this uploaded because I have been neck-deep in asset system reworking for weeks and I somehow managed to break the web build in three different ways.
But here we are! Go play around, have fun and report all the horrible problems in the Slow Rush Discord
Which is very similar to Noita's Expiration Trigger spell.
And these kinds of "special case" modifier signs are actually some of the coolest, so I didn't want to drop them!
There's some lore about what the Signs of Danger are, where they came from, etc but for now let's pretend they're magic upgrade items.
To be honest, I was so happy with the tree-rearranging animations that I didn't really think so much about how to get players to actually drop one Sign onto another.
With the exception of Factorio players, who are either programmers or (sometimes unknowingly) programmers-in-training.
I know, I know - color-based schemes aren't great for accessibility. But look, you can always work out which is your UI by just moving your cursor around.