Jump to content
Sign in to follow this  
sakura_chan

KEYS: No action menu

Recommended Posts

It would take too much typing to explain it so I made a video. It is basically a new interaction system for ArmA3 that uses an action key and the mouse wheel for interacting with buildings and vehicles. The goal is to remove the action menu altogether. I made this in response to Dslyecxi's anti-action menu video

70CoVoicgDA

I will release a demo mission once I have it set up to use vehicles.

********Update 08/23/13***************

Hpvli2yMWJA

This time I show off a more integrated system and show off some object interaction.

Bonus sort of unrelated video: Fun with map objects

xTT_ivQHWEU

********Update 08/23/13***************

New update video! Chutes and Ladders:

BPFHuLpqwv4

********Update 10/06/13***************

New video! A preview of the release content

t_91RNobyb8

Edited by Sakura_Chan

Share this post


Link to post
Share on other sites
It would take to much typing to explain it so I made a video. It is basically a new interaction system for ArmA3 that uses an action key and the mouse wheel for interacting with buildings and vehicles. The goal is to remove the action menu altogether. I made this in response to Dslyecxi's anti-action menu video

70CoVoicgDA

I will release a demo mission once I have it set up to use vehicles.

Wow, this looks awesome man.

Share this post


Link to post
Share on other sites

Amazing - great idea on pull and push!Very smart.

Could be icons a little bit more transparent?What I'm thinking is

that they really fall into your eyes, if colors would be less intensive

it would fit in a game whole lot more.

I'm asking would this affect performance?Is it clientside or serverside?

What would be performance if it would be implemented for every single door?

Share this post


Link to post
Share on other sites

Awesome work here!

How would moving between ladders be solved? So you've just climbed one ladder and are between two, one going further up while you can also go back down the ladder you climbed already. That would be possible with the mouse-wheel solution, but not just the spacebar as it would have to prefer one option over the other.

Going by intend, so moving forward is the ladder up and moving backwards is down the other one could work but I could also see people falling off buildings because the system didn't kick in.

And would it really be necessary to configure all this in visitor, wouldn't this just be solvable per object? I guess the problem is if there is a wall right next to the door or not. Isn't there a code that check's if a unit actually is able to see the target, wall in between or not?

Share this post


Link to post
Share on other sites

This is a great concept, much better than what we have now. I like the way how different angles and several doors in close proximity are handled. But could you limit the activation distance to an arm's length and make the character lower his rifle in the process? This would allow a more realistic aproach to entering a building: For a single soldier it would be more risky in case an enemy is waiting right behind the door. But in a team you could place a shooter at the right place and have the door opened by a partner who stays clear of the opening.

Another thing: Would this system make it easier to access the inventories of the fallen? Sometimes it is a bit tricky to find the right spot. I can imagine that a "trigger area" of roughly the size and shape of the upper part of a body would be quite good. Again, the activation distance should be approximately an arm's length.

Share this post


Link to post
Share on other sites

Very nice. :)

I wonder if it'd work on arma 2 maps in arma 3 too. :rolleyes: (hint)

Share this post


Link to post
Share on other sites

Awesome! This plus ACE style interaction menus pretty much equals goodbye to clunky action menu.

Share this post


Link to post
Share on other sites

Wow, amazing work! Looks like a must-have mod. I didn't think I would be amazed by system that is a standard in any other game :P

For me icons could be the same color as the UI.

You could also remove "Switch to (weapon)" from the menu. We have keys for that.

Secondly, is it technically possible to choose "Touch off bomb" as a grenade type, and use it by pressing a grenade key instead of choosing it from the menu? If there were multiple mines, it could highlight the one that is supposed to be detonated.

Edit:

Oh, and the last thing. Could you modify the command menu, so that "Treat yourself" wouldn't disappear if the unit isn't dead center on the screen? Right now it's like trying to catch a fly with units running around.

Edited by Raven_JJ

Share this post


Link to post
Share on other sites

So in essence, are you proposing that this concept is analogous to more mainstream games' "context-sensitive action" commands but without losing the versatility of the action menu? Very intriguing, in a good way, please continue!

P.S. The incremental door opening really makes me think of the Rainbow Six games (I believe even Vegas and Vegas 2 had these somehow?) which is also a plus as far as "CQB fidelity".

Share this post


Link to post
Share on other sites

P.S. The incremental door opening really makes me think of the Rainbow Six games (I believe even Vegas and Vegas 2 had these somehow?) which is also a plus as far as "CQB fidelity".

They didn't :'(

But they had a cover system!....

Share this post


Link to post
Share on other sites

After seeing someone's Arma 3 mod including an 'auto cover' (though it's more of "detect cover height, apply appropriate stance adjustment to go to"), I don't mind that. :P Which was it that had the incremental-cover though? I recall it being at least one of the R6 games and not just SWAT 4...

Share this post


Link to post
Share on other sites

Great job! Now we just need weapon switching, explosives and first aid out of the action menu. This system and ACE type interaction menus would really make this game.

Share this post


Link to post
Share on other sites

How are you gonna make it work with user added actions? for example teleport and parachute action on a flagpole

Share this post


Link to post
Share on other sites
Great job! Now we just need weapon switching... out of the action menu.

There are already keys to switch between your current weapon and hand-gun and between your current weapon and launcher. Check Controls\Weapons and look at the keybinds "Switch gun / launcher" and "Switch gun / handgun" I have them set to [Right Ctrl + ;] and [;] respectively.

The only weapons functions I ever use the action menu to employ are the "Put" type explosive interactions and to change magazine types. The latter can be done though the inventory screen but it's a bit of a palaver compared to using the action menu.

The one thing the switch keybinds can't do is if you go from pistol to launcher (in my case, [Right Ctrl + ;] while holding a pistol), then try to go directly from the launcher to primary weapon (pressing [;] with the launcher out) - the unit will just draw their pistol before putting it back and returning to the launcher. It will however allow you to go directly from rifle to launcher to pistol using the same keystrokes

Edited by da12thMonkey

Share this post


Link to post
Share on other sites

Do you plan on adding a function/command to use this? Many scripts and mods could benefit from this!

OffTopic:

After seeing someone's Arma 3 mod including an 'auto cover' (though it's more of "detect cover height, apply appropriate stance adjustment to go to"), I don't mind that. :P Which was it that had the incremental-cover though? I recall it being at least one of the R6 games and not just SWAT 4...

yeah, that was Raven Shield for sure, maybe Lockdown aswell. And don't get me started on Swat 4 :(

Share this post


Link to post
Share on other sites

Excellent stuff Sakura. Can't wait to dig into this. :)

Care to share more on the techincal side of this? Right now I'm assuming the "zones" you mention are triggers?

...

And would it really be necessary to configure all this in visitor, wouldn't this just be solvable per object? I guess the problem is if there is a wall right next to the door or not. Isn't there a code that check's if a unit actually is able to see the target, wall in between or not?

I don't think visitor comes into the picture, it's more to do with entities.

One of the best solutions BI could implement would really involve the memory LOD (or a separate "Action LOD").

You'd basically define a "geometry" of the area that's "useable" and if the player is pointing at it, the "action" key would do an action. Majority of objects interactions could be solved this way, from vehicle entering, interacting with ammo boxes, interacting with vehicle inventory.

For example, here would be a setup for a door and let's say a light switch. In the visual LOD is the usual stuff that goes into the resolution LODs, but the action LOD contains "geometries" for interactions.

IXkbkvb.pngS3Gf5Vm.png

Now, in the configs, as you do right now, you'd define all the necessary things for the actions, but in addition you could go something like

actionSelection = "action_door";
highlightSelection = "visual_door";
// or
actionSelection = "action_lightswitch";
highlightSelection = "visual_lightswitch";

Which would mean that you have to be pointing at those selections so that the actions would appear. You could also define multiple actions for a single door so you could differentiate if you're inside or outside, as the following pseudo code:

// Imagine that the above action LOD has 2 door selections "action_door_inside" and "action_door_outside"
class InteractDoorInside {
   ... // Other action stuff
   actionSelection = "action_door_inside";
   highlightSelection = "visual_door";
}

class InteractDoorOutside {
   ... // Other action stuff
   actionSelection = "action_door_outside";
   highlightSelection = "visual_door";
}

Except for enabling different behavior when on different sides of the door, it could also enable one way doors and such.

For example, something more complex as for example a hunter (which I can't really visually show as there are no MLODS) would go alongside these things

class InteractDriversDoor {
   ... // Other action stuff
   actionSelection = "action_door_driver";
   highlightSelection = "visual_door_driver";
}

class GetInDriver {
   ... // Other action stuff
   actionType = "vehicleDriverGetIn";
   actionSelection = "action_seat_driver";
   highlightSelection = "visual_seat_driver";
   condition = "(_this animationPhase ""AnimationDriversDoor"") > 0.3"; // Don't allow get in unless the door is open
}

/* Repeat for all passengers and gunner */

class VehicleInventory {
   ... // Other action stuff
   actiontype = "vehicleOpenInventory";
   actionSelection = "action_inventory";
   highlightSelection = "visual_inventory";
}

/* Additional crap that would be neat/pointless but wouldn't intrude and clutter the action menu as it does now */

class InteractHood {
   ... // Other action stuff
   actionSelection = "action_hood";
   highlightSelection = "visual_hood";
}

// etc...

Now for example, the above would make a hunter where you'd have to open doors to get in, and it would still be a simpler interaction than it was now with two presses of the action button. You could do this in another, simpler way so that interacting with the doors would have you get in the vehicle instead with the seat.

There could also be also an option that you could have a "highlight" on the edges of such geometry for those who prefer a visual identifier like for example in L4D and those who don't like it can turn it off.

Anyway, apologies, got a bit carried away with this. :)

Edited by Sniperwolf572

Share this post


Link to post
Share on other sites
Could be icons a little bit more transparent?What I'm thinking is that they really fall into your eyes, if colors would be less intensive it would fit in a game whole lot more. I'm asking would this affect performance?Is it clientside or serverside? What would be performance if it would be implemented for every single door?

The icons could be any color or transparency you desired, and it could be changed in-game. It is clientside currently. I have 2 Arma3 computers so I can easily do MP testing. There shouldn't be any performance drop as the main script only handles actions within a five meter radius. There would be no problem doing every door because the script "streams" the actions onto nearby buildings only.

How would moving between ladders be solved? And would it really be necessary to configure all this in visitor, wouldn't this just be solvable per object?

I haven't done any work on the ladder system yet. It will be done solely through scripts so there is no change to maps or existing config files.

Could you limit the activation distance to an arm's length and make the character lower his rifle in the process?

Another thing: Would this system make it easier to access the inventories of the fallen? Sometimes it is a bit tricky to find the right spot.

You could easily do this.

It would work perfectly for accessing dead soldiers and ammo. No more going prone and circling around to find that sweet-spot

I wonder if it'd work on arma 2 maps in arma 3 too. :rolleyes: (hint)

Zing...its coming...

You could also remove "Switch to (weapon)" from the menu. We have keys for that.

Secondly, is it technically possible to choose "Touch off bomb" as a grenade type, and use it by pressing a grenade key instead of choosing it from the menu? If there were multiple mines, it could highlight the one that is supposed to be detonated.

Oh, and the last thing. Could you modify the command menu, so that "Treat yourself" wouldn't disappear if the unit isn't dead center on the screen? Right now it's like trying to catch a fly with units running around.

Yes I would implement some kind of weapon switching, there is a mod that does that already.

yes, it would be pretty easy to do it that way.

I do have another mod in progress that removes the command menu too.

How are you gonna make it work with user added actions? for example teleport and parachute action on a flagpole

Simple...keep the action menu. Remove all the unnecessary stuff and unbind it from the mouse wheel so you can still use existing missions that use the old action system. This way the only thing that would show up in the action menu would be user's actions

Do you plan on adding a function/command to use this? Many scripts and mods could benefit from this!

currently it is really simple to make your own custom actions. You don't even need to use an .sqf to set up a new action, you can do it in the editor and just set a variable.

Care to share more on the techincal side of this? Right now I'm assuming the "zones" you mention are triggers?

One of the best solutions BI could implement would really involve the memory LOD (or a separate "Action LOD").

Now for example, the above would make a hunter where you'd have to open doors to get in, and it would still be a simpler interaction than it was now with two presses of the action button. You could do this in another, simpler way so that interacting with the doors would have you get in the vehicle instead with the seat.

There could also be also an option that you could have a "highlight" on the edges of such geometry for those who prefer a visual identifier like for example in L4D and those who don't like it can turn it off.

Okay, lets open the hood on this system. At its core it is a script that detects, with nearobjects, a specific object in-game and determines where you are in relation to its direction. The object (currently the RedGull soda can) has a variable assigned to it.

it currently looks like this:

["key", ["DoorSwitch",(getpos player) nearestobject 19559, 3, [[-80,0],[0, 80],[100, 180],[-180, -100]], -1, [0,60], [0,45],"Door_1_rot"]]

That is:

InteractionType, ObjectToInteractWith, MaxRange, [Zone0, Zone1, Zone2, Zone3], CurrrentZonePlayerIsIn, Angle+or-ThatPlayerMustBeFacingTowards,VerticalAngle, Animation

The system can process very different actions based on InteractionType. For example, "DoorSwitch" uses "_object animate [_anim, 1]" while "DoorSwitch_Veh" uses "_object animatedoor [_anim, 1]". "GetIn" handles getting in vehicles. Another type would simply call a script.

As you can see, simply placing the object in the editor and adding the variable would create an action.

There is then simply a small script that detects nearby buildings and applies the actions base on their class. It is not implemented yet but it will be able to generate the actions from the config file of the object. It will also clean up after itself when you move away from a building or enter a vehicle.

As for having modeled action zones, not really a good idea. It might work okay but with my system you don't have to look right at something for it to work, so it is a lot less finicky. In fact the old system used something similar.

If you put the highlighted sections into the model, this system would be able to do exactly that. I've also been working on vehicles and I will implement "can't get in with the door closed"

Edited by Sakura_Chan

Share this post


Link to post
Share on other sites
Okay, lets open the hood on this system. At its core it is a script that detects, with nearobjects, a specific object in-game and determines where you are in relation to its direction. The object (currently the RedGull soda can) has a variable assigned to it.

it currently looks like this:

["key", ["DoorSwitch",(getpos player) nearestobject 19559, 3, [[-80,0],[0, 80],[100, 180],[-180, -100]], -1, [0,60], [0,45],"Door_1_rot"]]

That is:

InteractionType, ObjectToInteractWith, MaxRange, [Zone0, Zone1, Zone2, Zone3], CurrrentZonePlayerIsIn, Angle+or-ThatPlayerMustBeFacingTowards,VerticalAngle, Animation

The system can process very different actions based on InteractionType. For example, "DoorSwitch" uses "_object animate [_anim, 1]" while "DoorSwitch_Veh" uses "_object animatedoor [_anim, 1]". "GetIn" handles getting in vehicles. Another type would simply call a script.

As you can see, simply placing the object in the editor and adding the variable would create an action.

There is then simply a small script that detects nearby buildings and applies the actions base on their class. It is not implemented yet but it will be able to generate the actions from the config file of the object. It will also clean up after itself when you move away from a building or enter a vehicle.

As for having modeled action zones, not really a good idea. It might work okay but with my system you don't have to look right at something for it to work, so it is a lot less finicky. In fact the old system used something similar.

If you put the highlighted sections into the model, this system would be able to do exactly that. I've also been working on vehicles and I will implement "can't get in with the door closed"

Thanks for the insight, really interesting way to tackle the problem. :)

I'm assuming you're solving the tiny/stacked/conflicting action areas, with the "least-amount-of-angle-deviation" approach?

While I find the cursor and specifically targeting at something to be the most intuitive and engaging, I can also see the cases where it can be finicky, especially with doors which are a moving target. I've got the "pointing at detection" implemented in my solution to fluid door openings and yes, it can be a bit awkward for continuous actions with moving targets, for example if you lose the LOS to the door itself. But I'm sure it would be much better for static actions such as switches and whatnot.

As for the modeled action zones, that was more directed at BI as a proper solution. We have no way to edit BI models so it's a no-go for a mod. Even if we could, I don't think we'd be able to introduce a new LOD and do everything we need to do with it anyway.

I think it's too much to ask or expect of them at this point anyway. Especially observing certain solutions they've decided to go with, for example, the shotgun inventory approach for DayZ.

Let me know if I can help you out with this project in any way. :)

Share this post


Link to post
Share on other sites

Will you be adding in-vehicle actions, like TOH? Or keeping it as simple as in and out keys, because there are a few keys that have no binding like engine off and collision lights on/off.

Share this post


Link to post
Share on other sites

I find the in-cockpit action menu in TOH to be alright..ie. hold Left ALT and up pops the main action items which, if you looked directly at it (say with Track IR), you can select it.

I tried my hand at lifting vehicles in the blackhawk (whatever its called) and struggled because I had to take my hands off either the throttle or joystick to select from the main menu which resulted in me crashing. Totally ridiculous.

Share this post


Link to post
Share on other sites

In the video you mentioned stuff like opening doors before getting into a vehicle.

I've always wanted something like that. I'd say holding down a key should open the door and make you enter the seat near that door.

Just pressing the button normally would open the door only if you're looking at it.

Share this post


Link to post
Share on other sites

For weapon switching, now there's a control for switch launcher/rifle and switch handgun/rifle. For me I use CTRL+LMB to switch from rifle to launcher(AT launcher) and vice versa, for handgun I use CTRL+MMB

[ninja'd, I was too slow]

Edited by Mr_Centipede

Share this post


Link to post
Share on other sites

Thank you man..for this awesome script you making for us :) to bad BIS is not taking care about guys who show what they can do.. but i cant wait to see what else you have in your sleeve :P..you cant stop to amaze me. keep it going men..

I like the idea of doors,i like idea of vehicle doors OPEN BEFORE you enter...ladder climbing...EVERYTHING..the action menu realy is DEAD now :) great work men i cant wait

Edited by DevilDogCro

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×