Over the past few days, I’ve been working on the design for one of the last broad game mechanics of the game; user demands.
The first of these demands is going to be demands to buff or nerf different player classes. And as part of that, I’m revisiting how the player would actually do those things.
We already have a GUI for editing class abilities. But as testers know, it’s horrible. The best thing you can say about it is that it’s functional… but it’s absurdly huge, it’s poorly laid out, many of its GUI widgets misbehave in subtle ways, and even if all the above weren’t the case, it’s also completely unintuitive. So… I’ve been trying to figure out a cleaner design for the interface, to make class editing easier.
When designing interfaces, I find that it’s a lot faster to design them with pen and paper, or with a mock-up tool. As an example, here’s a mock-up for a revamped “Admin Request” interface:
This is a combination of two different windows in the current interface. I’ll probably implement this someday; it seems a little cleaner. Or maybe this alternate layout, which requires a larger window but would involve less scrolling:
Side note: I have too much fun coming up with quest names. Except for “Mr. Zombie Loves To Dance”, which I’m absolutely certain was an actual silly quest name from something I’ve played… I feel like it must have been City of Heroes or Champions Online, but Google doesn’t show me anything. So maybe I’ve just invented it?
But back to class editing. My current thinking is that I’m going to move class editing into windows more like the current “Info” windows which display information about whatever you’ve selected; a smaller window with tabs along the bottom. Here’s a mock-up of what I’m thinking about:
There’s still some clean-up to do there, but you can see how that would work. The real trouble is over on the “Abilities” tab. Let’s take a look at the mock-up:
So. To my mind, there are some big improvements here over the current GUI. For one, you can still see the full list of abilities, while you’re editing one of them. Additionally, the attack range setting has changed from being a freeform text box accepting numbers, to a combo box providing a limited number of options that can be selected using the mouse. (In this mockup, the options are “Melee Range”, “Missile Range”, and “Sniper Range”). Similarly, the cooldown range has switched from being a freeform text box, to a combo box (In this mockup, the options go from 1-5 seconds, then jump to 10 seconds, 20 seconds, 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, 1 hour, 1 day).
But I think it’s pretty obvious that the major problem here is figuring out a nice interface for specifying the “Costs” and “Effects” for each ability. Right now, these are absurdly freeform; each ability specifies a number of costs and effects, each of which can affect either the ability’s user or their target. So you could, if you wished, create an ability which uses some of the target’s mana to heal the user. (Or more usually, use the user’s mana to heal the target. Or to damage the target. Or drain their ‘rage’ or whatever.) I don’t really want to lose that freedom… but I’m willing to give it up, if it’s the only way to simplify the editing interface.
Right now, under the GUI shown above for editing costs/effects (which is basically the same as what’s in the game right now), it requires far too many clicks to set things up. You need to click the ‘+’ to add an effect, click twice on each combo box to set the person affected and the attribute to be modified, and then somehow set the amount you want the attribute to be modified.
I don’t really have a good solution for this right now. I suppose I could do something like this:
Here, we just give people a matrix of attributes vs. people the costs/effects, and let them fill in the numbers. I’m never really thrilled at giving people what is fundamentally an excel spreadsheet to edit, but… maybe this is the simplest way to do it?
Very interested if other folks have ideas about how to make editing these things simpler, easier to read, and more fun!