Jump to content
The Dark Mod Forums

Frob to use item: double-click prototype


stgatilov

Recommended Posts

Here is an alternative way to simplify extinguishing candles and shouldering bodies.
Player can double-press / double-click frob button to do a mixed frob + use action.

The test build is available in tdm_installer as "test-frob-stgatilov".
Attached the source code patch too: FrobUse_By_DoubleClick.patch

 

The original TDM controls are left unchanged.
The difference starts only when double-click is registered (which unfortunately can happen accidentally).

Also, the double-click action always continues the single-click action.
So when you grab a body/candle, the single-click action happens immediately: there is no need to delay it.

The maximum time between double-clicks is controlled by cvar in_doubleClickDelay, default is 200 ms.
In principle, you can set it to zero to return to the old behavior: then double-clicks won't be registered.


Here is how it works internally.
There is an utility class which tracks held buttons (which are called "impulses" --- Doom 3 has too few "buttons").
I have extended it to also register double-click.

So whenever player clicks frob and this is registered as double-click, then:

  1. If there is nothing grabbed, then do ordinary "frob" to grab item (this allows to double-click on already grabbed item).
  2. If there is nothing grabbed now, then fall back to normal single-click frob (this happens for ungrabable stuff like doors).
  3. If there is something grabbed, then "use" it (that's the main part: it shoulders/extinguished/eats the thing).
  4. Unless we have a body shouldered, release currently grabbed item (we want to ungrab extinguished candle).

And there is also a special case:

  • If there is something equipped at the moment of double-click, the just "use" it instead of anything else (this allows to unshoulder body by double-click).

 

  • Thanks 1
Link to comment
Share on other sites

Played through the training mission with it, it is ok, not great.

  • Does nothing as far as making the controls more intuitive - things like requiring a double click to drop a body doesn’t make much sense to me at all. “Consistent” does not mean it feels intuitive or natural.
  • It really does not feel that natural imo to be double clicking the right mouse button in general - can’t think of many examples of this. Maybe I need to work on my core middle finger strength as it actually felt a bit fatigued putting this through the paces (probably not representative of typical use in game).
  • Registration seemed mostly good - sometimes I would double click to drop a body or extinguish a candle but still be holding it - I am guessing that is the result of just accidentally registering a third input. 
  • Since candles are still picked up on double click, this is maybe a little better but not ideal solution for ghosters who don’t like to pick up or move objects at all - doesn’t describe me but I know from the missions I have worked on there are at lots players who have adopted this play style.

All in all “long press” clicked (get it) for me personally as far as how it feels to use. I guess in the end they both are ways to make certain clunky and unintuitive actions in the game faster for existing players.

 

-=  IRIS  =-    ♦    = SLL =

Link to comment
Share on other sites

54 minutes ago, Wellingtoncrab said:

Since candles are still picked up on double click, this is maybe a little better but not ideal solution for ghosters who don’t like to pick up or move objects at all - doesn’t describe me but I know from the missions I have worked on there are at lots players who have adopted this play style.

Can extinguish but cannot move the candle?

These rules just need to be relaxed slightly for TDM realities.
The game has never allowed extinguishing/using an object without potentially moving it.

After all, we don't support some kind of official competition with strict rules, just like we don't support speedrunning (given that we change movement all the time).

Link to comment
Share on other sites

22 minutes ago, stgatilov said:

These rules just need to be relaxed slightly for TDM realities.
The game has never allowed extinguishing/using an object without potentially moving it.

After all, we don't support some kind of official competition with strict rules, just like we don't support speedrunning (given that we change movement all the time).

There's a group of players who have meticulously tested and adjusted ghosting rules for The Dark Mod.

Please see:

Why alienate an established group of dedicated players?

Link to comment
Share on other sites

I played both test versions with "The Bakery Job" and as everybody could guess, I like stgatilov's version better because it is consistent. I don't see why daft's version should be more intuitive, especially as shouldering bodies and extinguishing lights are working in opposite ways. Still I believe that without a tutorial or key binding hint, no new players will discover either version on their own as double-frob and long-frob are not used elsewhere.

stgatilov, is it possible to make both double-frob and long-frob work in your version? Also to really make this consistent, could you add eating food on double frob too, please?

Edited by wesp5
Link to comment
Share on other sites

Unfortunately in playing an actual mission I find I like this even less. Just replayed a bridge too far and the double click to drop a body was quite troublesome.

Maybe it’s a “me” problem but when multiple inputs are a required and I am in any kind of hurry or under pressure (like I need to drop a body because a guard is coming) I have a tendency to over input.

The result is I drop the the body and immediately grab it again. This just did not feel very responsive to me in the points of the game where it was needed.

34 minutes ago, stgatilov said:

These rules just need to be relaxed slightly for TDM realities.
The game has never allowed extinguishing/using an object without potentially moving it.

I mean this now works fine in the other patch. Some of the most popular content creators for the games are ghosters and their tdm videos can get thousands of views. I went from having no ghost testers in the release version of Iris - to some being integral in subsequent patches - to in SLL quite a few testers using this play style.

I don’t get it but there is certainly no denying it. They appreciate details like this.

-=  IRIS  =-    ♦    = SLL =

Link to comment
Share on other sites

Seems to work fine. Dragging is much easier though. double clicking might get tiresome over time, but you can always switch to the use key.

4 hours ago, Wellingtoncrab said:

Since candles are still picked up on double click, this is maybe a little better but not ideal solution for ghosters who don’t like to pick up or move objects at all - doesn’t describe me but I know from the missions I have worked on there are at lots players who have adopted this play style.

Because the second click comes so fast the object is only slightly lifted, so when it falls down (a centimeter), there is no sound, although I haven't tested this on metal.

Edited by datiswous
Link to comment
Share on other sites

2 hours ago, datiswous said:

Because the second click comes so fast the object is only slightly lifted, so when it falls down (a centimeter), there is no sound, although I haven't tested this on metal.

The problem is that the object is moved slightly, leaving a trace. Some players who ghost strive to keep objects in their original position. With this control scheme, the object is shifted no matter what.

Link to comment
Share on other sites

2 minutes ago, datiswous said:

Ah ok I get it. Yes then it's a problem. I guess they have to keep using the old method.

With the old method, ghost players would definitely have better luck not moving a candle, but it's a pain.

One of the pros of long-press frob is that ghost players have a quick and guaranteed way to snuff a candle without moving it.

Link to comment
Share on other sites

6 minutes ago, Daft Mugi said:

With the old method, ghost players would definitely have better luck not moving a candle, but it's a pain.

In the original TDM there is no way to extinguish a candle without moving it so the new method is an improvement. Also if you managed to not move the candle with long-frob, stgatilov should be able to mimick that with double-frob too...

Edited by wesp5
Link to comment
Share on other sites

Thanks for your work @stgatilov.

This solution does what's advertised, it is out of the way and it doesn't break anything. There is potential for double-clicking untended results but in my case I had to force it too much to get undesired results.

Dousing candles require now two key presses instead of three and while this doesn't solve "the problem" it is a step in a direction and it can be added to the game without a second thought, imho.

Upon having tested @Daft Mugi's version I am of the opinion that a lo(o)ng-frob would feel more natural though, as if making an actual effort.

TDM Modpack 4.0

Link to comment
Share on other sites

47 minutes ago, wesp5 said:

Also if you managed to not move the candle with long-frob, stgatilov should be able to mimick that with double-frob too...

The fundamental design of double-click is to always perform the single-click action before the double-click action. The single-click action of a candle is to pick it up (and move it). That'll always happen before extinguishing a candle with a double-click. There's no way around that unless its fundamental design is changed.

Link to comment
Share on other sites

2 hours ago, Daft Mugi said:

The fundamental design of double-click is to always perform the single-click action before the double-click action. The single-click action of a candle is to pick it up (and move it). That'll always happen before extinguishing a candle with a double-click. There's no way around that unless its fundamental design is changed.

That's the same for all versions, for both double-click or long-click.

You either start single-click action immediately when first click starts (proper solution), or you delay all single-click actions until you are sure it cannot turn into double-click/long-click (ugly), or you just map the different action to a different key (proper solution). Pick your poison.

Link to comment
Share on other sites

6 hours ago, stgatilov said:

That's the same for all versions, for both double-click or long-click.

This is false.

The quick-press frob action never happens before or after the long-press frob action. The single-click action always happens before the double-click action.

You stated the following about double-click:

18 hours ago, stgatilov said:

Also, the double-click action always continues the single-click action.

 

Long-press frob to extinguish a candle never moves it. Double-click frob to extinguish a candle always moves it slightly.

Therefore, long-press frob works well for ghost players whereas double-click frob does not.

Link to comment
Share on other sites

2 hours ago, Daft Mugi said:

The quick-press frob action never happens before or after the long-press frob action. The single-click action always happens before the double-click action.

Your implementation just falls into the following category: "you delay all single-click actions until you are sure it cannot turn into double-click/long-click".

Link to comment
Share on other sites

Personally, for this kind of game, double-clicking and double-tapping are the kind of things that instantly get a sour taste in my mouth as soon as I hear it, because I already know from experience that it not reliable enough and it's more prone to human error. You said it yourself:

21 hours ago, stgatilov said:

The difference starts only when double-click is registered (which unfortunately can happen accidentally).

It may also happen accidentally if your fingers twitch, or if your mouse misregisters an extra click, or when you think you didn't hit the target and immediately click again, but it so happens that you did hit the target the first time; or when you're hasting to perform the same task multiples times in quick succession (not very relevant here, but I couldn't count how many times I died in minecraft tapping keys to adjust my position and accidentally double-tapping forward and sprinting off a cliff).

Also, given that we're talking about the right mouse button, I'm feeling even less inclined. I can double-right-click, but it doesn't feel very comfortable. It's really not something I'm used to, so it requires a degree of effort (and I suppose it will get my hand tired, as @Wellingtoncrabmentioned).

17 hours ago, Wellingtoncrab said:

Since candles are still picked up on double click, this is maybe a little better but not ideal solution for ghosters who don’t like to pick up or move objects at all

Yup. I like ghosting. To be fair, I play with my own lax rules, but I still feel bothered if I have to tamper with the natural order of things, if I think it's unnecessary or that I shouldn't be forced to. It might seem petty, but it's part of what makes the challenge interesting. You never know, the candle owner might have noticed before bed that the candle was about an inch away from a spec of dust, and in the morning he might realize that that distance has changed. So, from a ghosting perspective, when you tamper with things without needing to, you've introduced a point of failure.

If the game requires it, that's another story -- it turns into "I can't work around it, so I have to bend the rules because of it". But as far as I'm concerned it still bothers me and kind of ruins the challenge. For example, TDM has been leaving a really sour taste in my mouth when it comes to dropping keys, because lots of missions don't allow it (because unfortunately they're not droppable by default in DR, and for no good reason, afaik).

15 hours ago, wesp5 said:

I don't see why daft's version should be more intuitive, especially as shouldering bodies and extinguishing lights are working in opposite ways.

After Snatcher's post about the delay interfering with manipulating bodies, I was growing tempted to agree with reversing it, but then I realized both ways have issues of the same kind.

  • If you can click to shoulder, then you can't click to drag body -- you always have to hold button, which is not great if you're dragging a body a long distance.
  • If you can click to drag a body, then you can't hold to drag a body. You always have to click to drag and then click to release, which is also not great when you're dragging limbs for a pose or something. (I suppose this might be even more annoying than the other.)

Maybe I should posting this in that thread.

Edited by Skaruts

My FMs: By The Cookbook

Link to comment
Share on other sites

1 hour ago, stgatilov said:

Your implementation just falls into the following category: "you delay all single-click actions until you are sure it cannot turn into double-click/long-click".

If this is the case, I certainly didn't notice a 200 ms delay ;). Can you please do a test version of your setup with delayed long-frob instead of double-frob? This would be the perfect solution for me and snatcher, as it is consistent also to the current multi-frob. And maybe add the consumable long-frob eating for everything to fit together?

Edited by wesp5
Link to comment
Share on other sites

47 minutes ago, Skaruts said:

It may also happen accidentally if your fingers twitch, or if your mouse misregisters an extra click, or when you think you didn't hit the target and immediately click again, but it so happens that you did hit the target the first time;

I think people will have way more misclicks with single-click vs long-click prototype: you don't even need a second press to do the wrong action. And increasing the duration threshold to reduce this chance will also increase delay of single-click actions, which is hard to notice on 200 ms.

Link to comment
Share on other sites

Regardless of what is used in the end, I think we should move auto-loot to that too for everything to be consistent. Right now auto-loot is long-frob, bodies and lights are double-frob and consumables are frob+use! Rather an unintuitive mess.

Edited by wesp5
Link to comment
Share on other sites

After testing I think I like daft mugis version better. Right mouse double clicking works, but doesn't feel nice especially after a period of play.

The only big issue I have with daft muggies version is the long press moving body doesn't toggle. This makes moving bodies a shore.

Link to comment
Share on other sites

8 hours ago, stgatilov said:

Your implementation just falls into the following category: "you delay all single-click actions until you are sure it cannot turn into double-click/long-click".

I considered stating that this is false, but it's only potentially misleading. And, this description of long-press frob has indeed caused confusion.

7 hours ago, wesp5 said:

If this is the case, I certainly didn't notice a 200 ms delay ;).

If I'm understanding wesp5 correctly, he now thinks quick-press frob always has a 200ms delay, which is not true.

7 hours ago, stgatilov said:

And increasing the duration threshold to reduce this chance will also increase delay of single-click actions, which is hard to notice on 200 ms.

Ok, yeah, this is false. Actually, here, you were talking about the double-click feature and not long-press frob, I guess?

Quick-press frob (single-click action) happens on frob key up. So, yes, there is a "delay", but that delay is not 200ms. Frob key down is instant. Frob key up has a delay, because it's key down and then key up. The quicker the player releases frob (key up), the sooner the quick-press frob action happens. If one considers pressing frob quickly, then there is practically no delay in quick-press frob.

Long-press frob acts like an override. When the player holds frob down long enough, the special action (extinguish candle / drag body) happens instead of the regular frob action (pick up), and to be clear, the regular frob action never happens if the special action happened.

  • Like 1
Link to comment
Share on other sites

7 hours ago, stgatilov said:

Your implementation just falls into the following category: "you delay all single-click actions until you are sure it cannot turn into double-click/long-click".

It does not - the single click action is performed on key release. If key release occurs before the delay time is over it is instantly performed. There is no perceivable delay when doing a normal frob action, though I guess this would be slightly “slower” than doing it on key down. You can set the frob delay variable to 5000ms and still get an immediate feeling response when just “clicking” the mouse button.

I assume this is how long press also works with the darkmod controller config, as there is much a longer delay there to perform an long press action and there is no perceivable delay when simply pressing a button. Just like click to drop body, door switch handling, and other things you have brought up this is just not a description of how that patch works. Not sure if something went haywire with applying the patch?

-=  IRIS  =-    ♦    = SLL =

Link to comment
Share on other sites

1 hour ago, Daft Mugi said:

If I'm understanding wesp5 correctly, he now thinks quick-press frob always has a 200ms delay, which is not true.

Yeah, I think I made the mistake taking the whole long-frob instead of the delay. But as you explained it with the key-down key-up way, shouldn't stgatilov be able to replicate that in his version? Also isn't multi-loot already implemented that way?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 2 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 5 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
×
×
  • Create New...