@HelloProject said in UX: It's time for The Talk:
@Rook I mean, like for example, and I honestly forgot what game this was, maybe it was more than one? Anyway:
There was a game where you had to join into a combat pool. It wasn't always entirely clear if you were in the combat pool or not, you could actually forget and be in it for days, so combat was not technically over. Everyone being done didn't automatically dump you out of it or anything. There were a few commands involved, I think something like +init to start combat, then I think something like +combat/join to actually join into the combat pool thing.
This by itself isn't particularly a syntax issue (though I still think that these plus signs and slashes need to be burned with fire). But the fact that you need two separate commands to join combat, plus a third command to leave combat that you constantly forgot to even use, so you'd be trying to join a combat situation with someone else and you'd be like "Wtf is even wrong". Then you'd have to go and find the room you were in when you started combat to get out of it, if I recall correctly, some crazy shit like that. Then once you do that you can finally go back and finally enter combat with the person you planned to.
This is like, an example of a seemingly simple thing just gone way out of hand. None of this was even a bug, that was just how the freaking thing worked.
That's a miss on the coder's part. The room, when dropped into combat, should have had an @oleave/@otport set and the player should have had an @omove set to leave the combat.
My solution would have been to just type <attack><target> and have people automatically enter initiative, then have people automatically leave initiative once the opposing party/person is KO'd. Though obviously I'd have a command to leave combat, just in case everyone doesn't get KO'd, or someone leaves combat before getting KO'd.
But what about the children modifiers? This game had no combat modifiers? Where in '<attack> <target>' did they go?
But anyway, the point was that it was needlessly complicated. Obviously this is just one example, but I feel like it's a good example. What makes things needlessly complicated isn't always syntax.
Your example is not needlessly complicated. It's the exact opposite. It's anemic on details.
You are getting nowhere, here, in the quest to provide concrete things that us coders can pick apart and see where we can offer advice on simplification. In fact, there's nothing to pick apart yet?
Another example is how I've seen some games handle descs in the past. Now, I'm personally used to @desc, I've seen easier descing systems and just didn't use them because I'm used to the regular @desc. But I've seen people create a whole thing where you had to enter into a whole, like, weird desc command line and editing the desc was a whole goddamned process, and goddamn if you wanted to write two paragraphs, fucking forget it.
On those games, "@desc me=<blah>" didn't work? If you had been on MUSH/MUX, we could have taught you @edit, or just 'exam me/desc' to copy/paste back into the input buffer.
Actually, I think that desc example might have happened multiple times, and they were all MOOs. In fact, MOOs (the ones I've tried) seem to do incredibly simple things in a needlessly complicated way, and I have no idea why. But anyway, the proper alternative would be literally any sane desc system. Though I do think that desc could do away with the @ and the =, it's not a huuuuuge deal for how simple what it does is.
MOOs suck. I will not speak coding in regards to MOO, lest @Thenomain call me a Furry again.
......wait. Are your examples and the origin of this thread... based on MOOs? Oh god. I need a drink.