In interact a hand cursor appears on your screen that you control just like you do a mouse cursor on a computer desktop, this cursor takes mouse focus off from controlling your characters looking/aiming. With this cursor the player can do many things:
Interact with an item, several items will have things that you can interact with by clicking or dragging on them, this allows you to do things with items that you wouldn’t be able to do normally, in some cases when holding two items you can drag one item onto the other if they go together, like if you have a screwdriver and want to take something apart with it.
Access your inventory, If you move the cursor onto your ‘inventory icon’ which is towards the bottom of the screen your inventory will slide up, this shows all of your pockets and items inside them as well as any other items you may have on you, like a backpack. You can click and drag on an item in your inventory to bring it out or you can click and drag on an item you are holding to put it away.
Interact with the world, you can also click on items on the ground to pick them up or on a lever to pull the lever, etc.
Anything else, you get the picture don’t you? In any other situation you can think of within reasonable bounds you will be able to click and drag on things if you’d expect to.
The Item interaction idea started out as a simple change to make reloading more realistic, this early idea I had was to make ‘R’ a ‘change mags’ key that you hold down to activate, then you press the action key ‘E’ to cock the bolt when you need to, since then the idea was fused together with our dual wielding support and developed into a fully unified item interaction system, for example in Redef Arena now magazines are defined as items and the player has access to them just like he does his sidearm, grenades, or other gear, and the ‘R’ key is used to operate the firearm’s bolt.
Overview
In this new system anything that the player can pick up is defined as an item and all items inherit from the same flexible base; a basic item can be held with one hand or two hands, put into or taken out of an inventory, dropped, thrown, or used in melee. on top of this basic setup items may have a primary action, secondary action, and a miscellaneous action; these actions are the real meat and potatoes of each item and is what makes them what they are. here is a list of some typical items that you would see in a shooter game and how they might be defined in our new item system:
Firearm
Prm action: Pull trigger (Fire)
Sec action: Aim down sights
Msc action: Cock the bolt
Magazine
Prm action: insert into firearm (when dual wielding with a compatible firearm)
Amunition (individual rounds)
Prm action:insert into firearm, magazine, or compartment and continue feeding rounds while button is pressed (when dual wielding with a compatible item)
Grenade
Prm action: Pull pin and grip the striker lever
Allow striker lever to fly off (when pin has already been pulled);
Throw (when lever is off).
Sec action: Throw
REMINDER: All of these items by default can be thrown or used in melee even if the description doesn’t mention it.
Controls
All of this functionality seems really cool, but the controls have got to be really complicated right? Wrong. Our control scheme is almost identical to the good ol’ WASD controls you might already be used to from mainstream FPS games. The previous section was just an overview, this section will get into all the details of the controls and how everything works together.
Mostly what makes this control scheme feasible is the addition of double press or hold inputs to each key, every key can now have up to three separate inputs assigned to it, one for when the key is pressed normally, one for when it is double pressed, and one when it is held down. Now let’s get into each key function in detail:
Using item’s special abilities
When holding only one item
Left click = (Primary action)
Right click = (Secondary action)
‘R’ = (Misc action)
When holding two items
Left click = (Primary action for left hand)
Right click = (Primary action for right hand)
‘R’ = (Misc action (If applicable))
Inventory Keys
Default keys: Number keys(‘1′, ‘2′, ‘3′, …)
The number keys are used to access items that are in your inventory just like other FPS games, the player can choose for himself what numbers are for which items in the options if he wants to.
Normal press: (Draw Item) Take out corresponding item and hold it in a free hand for use
Double press:(Aggressively Draw Item) If you do not have a free hand to draw the corresponding item this function will drop an item you are already holding on the ground in order to free a hand and then proceed as normal to draw your item, otherwise this function works the same as regular draw item.
Hold down: (Selective Draw Item) Used for deciding which hand you want to draw your item with. While holding down the key the player can then press either Left click or Right click on the mouse, a left click will drop whatever is in the left hand if needed and then proceed to draw your item with the left hand and a right click does the same thing only with the right hand.
The “action” key
Default key: ‘E’
The ‘action’ key is used to do all sorts of things like picking items up off the ground, pulling levers, pushing buttons, etc. just like in other typical FPS games, however our version of the action key has a lot more functionality, more info in a later post.
Normal press: (Action) Behaves the same as the typical action button in other games, this will perform an action on anything that you are looking at, if you are looking at an item you will pick the item up with a free hand, if you are looking at a lever or a button you will pull the lever or push the button, if you are behind an enemy and looking at his neck or head you will attempt to perform a neck-snap on him, etc.
Hold down: (Interact mode) Activates Interact mode, will be explained in a later post, this is activated for as long as the key is pressed.
Double press: (Interact mode toggle) Same as interact mode only it toggles on or off so you don’t have to hold the key down.
NOTE: By default when you draw an item or pick it up off the ground you will always use your right hand first if it is free, otherwise you will use your left hand, if you are only holding one item and the item is two handed, you will hold it with both your hands until you grab something else, in which case you will take your left hand off in order to hold the new item.
Drop/Throw key
Default key: ‘F’
Normal press: (Drop) Drop an item you are carrying on the ground, if you are holding two items the item in your left hand will drop first.
Hold down: (Throw) Moves an item you are carrying into a throwing position and throws the item when the key is released, if you are holding two items the item in your left hand will be thrown first.
Holster key
Default key: ‘Q’
Normal press: (Holster) Will “put away” an item you are carrying into your inventory, if the item you are carrying is too big to put away this action will do nothing, if you are holding two items the item in your left hand will be put away first.
Hold down: (Alternate Holster) Functions the same as regular holster, the only difference is it will put away the item in your right hand first instead of your left.
Melee key
Default key: Mouse side button or middle button
Normal press: (Jab) Performs a quick jab with whatever you have available to you, different items have different jab attacks and some will have priority over others while dual wielding, if no items are held your fists will be used. Other keys can be pressed in combination with the melee key to perform special attacks.
Hold down: (Strong blow) Pulls back to get ready for a strong blow with whatever you have available to you, on button release the blow is carried out.
Double press: (Toggle melee mode) Toggles melee mode on or off, in melee mode you get into a fighting stance and your mouse clicks now control melee attacks instead of activating item’s special abilities, in this mode you can perform even more combination moves.
So that’s how we have the item interaction system planned to work so far, to conclude here is a video that we’ve made that briefly demonstrates how the system will work in-game: