Advertisement

User interface challenge, more input needed than reasonable.

Started by April 07, 2010 02:01 AM
14 comments, last by Silvermyst 14 years, 10 months ago
For the purposes of my challenge imagine an FPS with swords and sorcery, where the combat resolution is similar to SoulCalibre or Tekken, meaning the collision is per poly and you have a variety of attacks and counters that good players will chain from one to the next, as well as defensive moves to avoid damage. My issue is the user input. I'm going to lay out the initial idea but as I've been implementing it some "should have been easy to spot" problems have arisen. The entrie game is meant to be skill based, meaning user input is the dominant determinant in combat resolution. I'll start with the example that is working fine which is spell casting. This game is for PC so the user inputs are assumed to be a mouse and keyboard. Key: LMB == left mouse button. RMB == right mouse button. HCB == half circle back with the mouse HCF == half circle forward. WWW(or any WASD button) == Key pressed in quick succession, similar to a mouse double or triple click. etc.. A wizard casts a fireball spell... Hold down LMB, W, W, S, W, Release LMB, LMB to fire. Poof fireball. A priest casts an aoe heal centered on a warrior. Hold down LMB, A, S, D, HCF, release LMB, LMB to fire. Poof AOE Heal. These work because you must be standing still to cast a spell. Now we move to the warrior class. Warrior uses a "Charge with Shield" ability.(Avatar charges forward, shield first, doing a physics knockback plus damage.) Hold down LMB, WWW. Release LMB at the appropriate time to bash with the shield. Warrior uses a "Mighty Stomp" ability(Avatar raises a boot and then stomps down on the terrain, causing a small AOE physics knockdown.) Hold down LMB, Hold S to charge, W, W, Release LMB. While the spells work fine, in that you can capture all of the data and simply ignore the input commands' normal functions(linear movement plus avatar heading) For melee based classes the requirement of not being able to move while performing combat actions just isn't feasible. For the shield charge it actually works out well because the charge is at triple the normal run speed. But for other actions, like the whirlwind attack or a rogue's backflip slice you really need to be able to close to melee range and stay in melee range. For classes that will try to kite or run away having to stop and try to attack will be an effort in frustration. So here's the requirements: 1)Combat mechanics and resolution has to be based on user input. 2)The input required to perform advanced attacks need to be complex enough to be challenging under the duress of battle, and differentiate the master from the noobie. 3)Melee classes need to be able to move and aim and at the same time execute complex attacks that require said input. 4)Movement and aiming should be executed by the standard FPS convention of mouse and WASD or whatever keymap is used. Resources: 1)A robust gestures system allows the mouse input to distinguish a variety of complex patterns such as half circle back, forward, full circle, diagonal line, vertical line, horizontal line, etc... Ideas: I've considered making all of the non-movement based melee attacks based on mouse input only, then you could implement an "autoface" mechanic while you were performing an attack. This would allow you to still keep range with the WASD controls, and range is an important part of combat because some weapons and ablities have both a maximum AND minimum range. My problem with this solution is that it seems hacky, and you can run into the situation where the computer chooses the wrong target to face, especially if the targets are stacked closely together. This solution does solve another issue which is movement based attacks. For example, the rogue has a "flip-over" attack where he does a forward tucked flip over the head of a target and as he flips he stabs the target in the back. The ideal input for this type of move would be a WWW, Spacebar(jump), LMB & RMB to stab. During this move you really don't want to use the mouse axis input. A more advanced move would be a rotating flip where you whirlwind with your weapons and do damage in an AOE. So maybe WWW, Spacebar(jump), Full circle on the mouse. If you allow the mouse to control heading you'll end up facing some oddball direction but the real roblem is for the human controller, your mouse may be at some funky angle and half off your mousepad. You need a safe button to press where you can reorient your mouse without compromising your view in-game. Auto-target feels too much like a console shortcoming but I honestly haven't thought of a better way. If you have any ideas I'd like to hear them. When you think of a solution keep in mind the game is meant to be tactical/twitchy without auto-hit resolution. By that I mean if you swing a weapon the physics determine if you hit, not the fact that (Target Range - Weapon Range <= 0) I'm talking about projecting a collision volume through 3d space and testing for collisions. Thanks.
"Let Us Now Try Liberty"-- Frederick Bastiat
First of all your going to overload the player with information
A player in a shooter has to take care of player position prediction as well as his on while keeping accuracy high

In a 2d/3d fighter the player has to cope with positions and attack prediction while performing there own attacks although at the cost of accuracy as its basically a 2d plane of movement with some sidesteps as moves

In your case not only do you need all of the shooter information but also need to predict the players attack and also perform the attacks
So the best way is to seriously simplify the attack performs or it will be unplayable

Easy to use but hard to master is a design decision that is a must in your case
For example in the case of GunZ the hard control scheme to perform k-style not only alienates some players but severely downgrades accuracy and thats just a repeated patter without attack prediction from players and takes a great player to master the combinations to maintain accuracy and resolve players best attack combo moves and perform them
Another example of overload is in the case of M&B directional defense when set to not be automatic

So things like whirlwind and other crap has to go or be simplified
Yo might look at FEAR's way of doing melle by having a button for the special while still have to direct it

Also if you still want to go this way I suggest slowing down combat to give time for the brain to compute(btw we think at 24 fps)
Advertisement
Before you read this, understand that I've disagreed with just about every point. I'm not criticizing you in any way, I'm just giving you a very different perspective. I play fighting games with a rather large group of friends - we study mechanics from tournament footage, discuss the games on forums, and play consistently. I don't want to sound like I'm claiming to be a pro or even that good at a game in particular, but if you want to make a fighter or something with that level of depth, maybe some of my experiences can help.
Quote:
Original post by Dreddnafious Maelstrom
the collision is per poly
No, these games still use hitboxes and hitspheres, they just use them in an intelligent fashion so it looks like it would be per poly. Disjointed hitboxes can't happen in a per-poly collision system - but these games have them.
Quote:
The entrie game is meant to be skill based, meaning user input is the dominant determinant in combat resolution.
Then it can't be online. If it is online, then any lag in a complicated input will cause a failed result. If input's handled client side, then the input can easily be faked by a bot set to send the message on command and you'd have no way of detecting this.
Quote:
Hold down LMB, W, W, S, W, Release LMB, LMB to fire. Poof fireball.
This translates to wrote memorization and muscle memory, neither of which is related to skill. It should never be hard to do an attack - it should require planning to pull it off. Inputs are not where skill lies - it's in your approach and reacting to circumstances to get your opponent into a BnB or other combo/equivalent that skill lies.
Quote:
For classes that will try to kite or run away having to stop and try to attack will be an effort in frustration.
Kiting is a skill. It's another element of strategy and it's present in both 3D fighters you mentioned (sidestep = kite, unless the game's tracking system has too many degrees *cough*Soul Calibur 3*cough* for it to be effective). Give players responses to kiters, rather than eliminating it. Who doesn't sidestep in real world combat anyway? I get the feeling you want a very cinematic-like game. Sidestepping is important for that sort of feel.
Quote:
1)Combat mechanics and resolution has to be based on user input.
Better, more tactical battles will come out of single input moves. I press 1 and use my high attack, 2 and do a spinning uppercut, ect. Memorizing keys does nothing to influence the depth of a combat system. Convoluted controls are masks for poor balance, wont work online (dear god TvC online is a nightmare even with a DMZ'd router!!!), and can scare away a player base fast.
Quote:
2)The input required to perform advanced attacks need to be complex enough to be challenging under the duress of battle, and differentiate the master from the noobie.
Much the opposite. Input should not be the difficult part of any game. Make high reward attacks also have high risk. Soul Calibur had unblockables that had huge wind up times which allowed your opponent to capitalize on your foolishness if you tried it at a bad time. Tatsunoko's mega crash breaks combos, but takes 2 super bars and some health - wiff on a crash and you're screwed.

Think in terms of start up frames, damage frames, shield stun and disadvantage frames rather than "if it's good make it hard." Navigating these sorts of variables, positioning yourself, and responding to circumstances requires far more skill and gives a game far more depth than any alternative.
Quote:
3)Melee classes need to be able to move and aim and at the same time execute complex attacks that require said input.
They'll have a big advantage in that, but so long as you balance it it could work.
Quote:
4)Movement and aiming should be executed by the standard FPS convention of mouse and WASD or whatever keymap is used.
I can't recall any details, but I think SAVAGE 2 works like this. Check it out.
Quote:
1)A robust gestures system allows the mouse input to distinguish a variety of complex patterns such as half circle back, forward, full circle, diagonal line, vertical line, horizontal line, etc...
Back? Forward? I think you mean QCR and QCL, since QCB and QCF make no sense - that notation only works if you can divide the play area into a 2D plane. You can't have too many gestures, though, or they'll be too similar. Similar gestures means lower tolerances, lower tolerances are just annoying.
Quote:
You need a safe button to press where you can reorient your mouse without compromising your view in-game.
Hold shift to lock the screen orientation, or some other key. Shift is a great one, because most people are used to holding shift even while performing other inputs.
Quote:
Auto-target feels too much like a console shortcoming but I honestly haven't thought of a better way.
Then give the user an option. If they release shift during the attack, then let them aim as they choose.
Quote:
I'm talking about projecting a collision volume through 3d space and testing for collisions.
This translates to bone aligned, iterated hit spheres (or prisms, but spheres are just so much simpler and can be much faster).

Quote:
Original post by Zouflain
Before you read this, understand that I've disagreed with just about every point. I'm not criticizing you in any way, I'm just giving you a very different perspective. I play fighting games with a rather large group of friends - we study mechanics from tournament footage, discuss the games on forums, and play consistently. I don't want to sound like I'm claiming to be a pro or even that good at a game in particular, but if you want to make a fighter or something with that level of depth, maybe some of my experiences can help.


That's why I posted, hoping to get criticism. Thanks for taking the time to read and respond.


Quote:
No, these games still use hitboxes and hitspheres, they just use them in an intelligent fashion so it looks like it would be per poly. Disjointed hitboxes can't happen in a per-poly collision system - but these games have them.


The point I wanted to make was that the collision system is high fidelity as opposed to say Morrowind or WoW. With your background in fighters I'm sure you understand the difference. I wanted to let the reader know tha if you wound up a huge axe swing at someones head they could duck it with the right timing.

Quote:
Then it can't be online. If it is online, then any lag in a complicated input will cause a failed result. If input's handled client side, then the input can easily be faked by a bot set to send the message on command and you'd have no way of detecting this.


I'll have to respectfully disagree here. I believe a combination of client side resolution with a smart and authorative server can support the game type. The technical hurdle has been tackled effectively in a variety of current gen games.


Quote:
This translates to wrote memorization and muscle memory, neither of which is related to skill. It should never be hard to do an attack - it should require planning to pull it off. Inputs are not where skill lies - it's in your approach and reacting to circumstances to get your opponent into a BnB or other combo/equivalent that skill lies.



Again I'll have to disagree. Executing a move under duress while balancing a good situational awareness is the hallmark of the better twitch games. The best snipers in counterstrike can headshot you with a snapshot and then can immediately switch to a pistol to work the guy trying to sneak up behind him.

If you visually map the input on this move it's a wrist snap, LMB(snapshot), mouse wheel up(switch weapon), mouse axis left(point to new target), Hold W(strafe), hold control(make yourself small), aim, LMB. The feedback is a mixture of instant and waiting on the weapon swap animation to play.


That said, I'm not married to the complexity I outlined above, which is why I am asking for advice. What I need to do is have a wide range of abilities that can be executed using the mouse and keyboard, that combine a mixture of twitch skill along with situational awareness.

The solution I outlined above is imperfect for at least the reasons I outlined, if not others that yet lie undiscovered. I'm open to alternatives and I hope someone will present some.

What is unacceptable is auto-target and auto-hit when in range, where the match up is the prime determinant of the combat resolution. I need enough player skill involved where rock paper scissors can be overcome regularly.

Quote:
Kiting is a skill. It's another element of strategy and it's present in both 3D fighters you mentioned (sidestep = kite, unless the game's tracking system has too many degrees *cough*Soul Calibur 3*cough* for it to be effective). Give players responses to kiters, rather than eliminating it. Who doesn't sidestep in real world combat anyway? I get the feeling you want a very cinematic-like game. Sidestepping is important for that sort of feel.


I think you misunderstand. I have no problem with kiting. I have 3 melee classes(warrior, rogue, priest) and 2 kiting classes(mage, ranger). My point was that if a warrior had to stop to execute a combat move he would be unable to hold his own against a class that kited him. I need each class to be able to defeat the other, given enough player skill. Thus I'm looking for an interface option that allows a player to tell the system what move he wants to do as well as continue to move and aim at the target.


Quote:
Better, more tactical battles will come out of single input moves. I press 1 and use my high attack, 2 and do a spinning uppercut, ect. Memorizing keys does nothing to influence the depth of a combat system. Convoluted controls are masks for poor balance, wont work online (dear god TvC online is a nightmare even with a DMZ'd router!!!), and can scare away a player base fast.


This is one route to go, although I'd argue that it limits the depth of the gameplay. If you take an old fashioned 2d fighter, say Mortal Combat. You had a basic set of moves that were 1 button pushes, but the depth of the game lay in a half circle back, weak punch, forward, forward, back, strong punch, strong kick, half circle back, strong punch( Scorpions killer teleport, punch, throw spear, leg sweep, upper cut combo.)

Think about StreetFighter 2. It was a mixture of complex inputs that lead to complex combinations. Think about Killer Instinct, where it was entirely about complex inputs and chaining combinations, while on the receiving end it was about knowing the other players combo and when you could combo break them to turn the tables.

So I feel like I'm on solid ground, at least I would be if the player had a joystick and 6 buttons to press, and the game were in 2D. I'd like to capture that type of inter-play in 3D.


Quote:
Much the opposite. Input should not be the difficult part of any game. Make high reward attacks also have high risk. Soul Calibur had unblockables that had huge wind up times which allowed your opponent to capitalize on your foolishness if you tried it at a bad time. Tatsunoko's mega crash breaks combos, but takes 2 super bars and some health - wiff on a crash and you're screwed.

Think in terms of start up frames, damage frames, shield stun and disadvantage frames rather than "if it's good make it hard." Navigating these sorts of variables, positioning yourself, and responding to circumstances requires far more skill and gives a game far more depth than any alternative.


See the above comment, it's not that I want to make the "input hard" it's that in order to have a large variety of moves, as well as to apply an additional layer to be mastered, I believe you need a deeper style of input system.

Even the 3D games I began discussing have a variety of complicated inputs for the more complex moves.

It may help to think of the game as Mortal Combat in 3D. I believe framing it that way has given me a bit more clarity on the concept.


Quote:
Back? Forward? I think you mean QCR and QCL, since QCB and QCF make no sense - that notation only works if you can divide the play area into a 2D plane. You can't have too many gestures, though, or they'll be too similar. Similar gestures means lower tolerances, lower tolerances are just annoying.


Agreed about the lower tolerances.

HCB ==





HCF ==










Quote:
This translates to bone aligned, iterated hit spheres (or prisms, but spheres are just so much simpler and can be much faster).


I do believe I'm going to have to implement a sphere tree on top of Unreal, although that's something I'll tackle near the end of the proof of concept.

So I guess, to frame the concept, think multiplayer, team based, Mortal Combat in 3D with a keyboard and mouse. Of course the classes themselves vary enough where the frame isn't perfect, and add to that healing and class synergy.
"Let Us Now Try Liberty"-- Frederick Bastiat
Quote:
Quote:
This translates to wrote memorization and muscle memory, neither of which is related to skill. It should never be hard to do an attack - it should require planning to pull it off. Inputs are not where skill lies - it's in your approach and reacting to circumstances to get your opponent into a BnB or other combo/equivalent that skill lies.



Again I'll have to disagree. Executing a move under duress while balancing a good situational awareness is the hallmark of the better twitch games. The best snipers in counterstrike can headshot you with a snapshot and then can immediately switch to a pistol to work the guy trying to sneak up behind him.

If you visually map the input on this move it's a wrist snap, LMB(snapshot), mouse wheel up(switch weapon), mouse axis left(point to new target), Hold W(strafe), hold control(make yourself small), aim, LMB. The feedback is a mixture of instant and waiting on the weapon swap animation to play.

It is Reflex and Muscle memory is also reflex
It does not reach the brain!
While reflex being good in some parts as this is what gives twitch games the twitch the control scheme should not be convoluted to much or you'll enter skill grind

Also like I said 3d fighting games are played on a 2D plane with sidesteps or at-least auto-facing
But in a case of fps its not going to work as aiming would have to be paramount or you shouldn't do fps in the first place and stick with 3d fighting schemes
It's a different world with different rules and convoluted schemes and foolish moves aren't going to work
Basically you should be able to do everything with the directional keys shift control mouse buttons and maybe 2 more buttons(q e)and the timing between them as well a some combinations(but keep it low)
Heres some examples of fps like melle games to get a feel on how it works







Melee fighting doesn't work in first person because you can't judge distances and movement properly.
Advertisement
Quote:
Original post by Stroppy Katamari
Melee fighting doesn't work in first person because you can't judge distances and movement properly.

Your just not used to it, not that it is impossible
Especially if you enlarge the pov
Afterall that's how we see ,not to mention it has been done before

[Edited by - adrix89 on April 9, 2010 1:30:45 AM]
Holtzman shield
Quote:
the protective field produced by a Holtzman generator. This field derives from Phase One of the suspensor-nullification effect. A shield will permit entry only to objects moving at slow speeds (depending on setting, this speed ranges from six to nine centimeters per second) and can be shorted out only by a shire-sized electric field.

Slow-motion(ish) melee fighting might create a better opportunity for counter moves.
You either believe that within your society more individuals are good than evil, and that by protecting the freedom of individuals within that society you will end up with a society that is as fair as possible, or you believe that within your society more individuals are evil than good, and that by limiting the freedom of individuals within that society you will end up with a society that is as fair as possible.
I must admit this idea make me skeptical.

Most of the fun of ridiculous combo’s is to actually watch your character pull off the combo you just told it to do. Just think of the first time you actually completed a finishing move in the MK series, and then got to watch the chaos unfold. I think a lot of that would be lost doing it in the first person perspective. Making it too complicated for the user with no payoff other than watching your opponents rag doll fall to the ground would not hold many users around long enough to become masters of such a combat system.

What I could see working is making the right mouse button work as a toggle into gesture mode. When it’s down you lose the ability to change direction with your mouse, but can do your patterns with your mouse gestures. If you get in a jam you can release the right mouse button and cancel the attack you were trying to perform and gain back movement of the mouse. To further help users learn your system, there could be a delayed UI “helper” that will show itself after the right mouse is held down for a few seconds. This would make it still fun to learn, but would give masters of the system an edge over the noobie.

Just some thoughts to throw out there.
Quote:
Original post by Stroppy Katamari
Melee fighting doesn't work in first person because you can't judge distances and movement properly.


I've actually pretty much solved this issue, but I agree that in the general sense lack of depth perception is a hurdle that has to be addressed.

My solution is pretty eloquent and decently effective.

"Let Us Now Try Liberty"-- Frederick Bastiat

This topic is closed to new replies.

Advertisement