project-navigation
Personal tools

Author Topic: Will 2.3.1 fix reaction fire?  (Read 11407 times)

Ildamos

  • Guest
Will 2.3.1 fix reaction fire?
« on: September 16, 2010, 09:14:44 am »
^Subject.

I've stopped playing the game hoping 2.3.1 will fix this.

Offline Ufanatic

  • Rookie
  • ***
  • Posts: 33
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #1 on: September 21, 2010, 05:24:26 am »

2.3.1 ???  Searched around a bit ... couldn't find any announcement that there will be such a thing. *shrug

Offline bayo

  • Professional loser
  • Project Coder
  • Captain
  • ***
  • Posts: 733
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #2 on: September 21, 2010, 10:15:42 am »
Cause it *will* be released

Offline ManicMiner

  • Squad Leader
  • ****
  • Posts: 113
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #3 on: September 29, 2010, 01:01:40 pm »
I've been playing 2.4 for over a month, and RF hasn't been an issue. What build have you been playing, because I stopped seeing RF issues in 2.3 about halfway through August, when playing the Muton builds.

Offline Sarin

  • Sergeant
  • *****
  • Posts: 339
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #4 on: October 01, 2010, 09:26:13 pm »
I've been playing 2.4 for over a month, and RF hasn't been an issue. What build have you been playing, because I stopped seeing RF issues in 2.3 about halfway through August, when playing the Muton builds.

The 2.3 RF works just well with most guns bigger (slower) than pistols. Maybe that is why, you just advanced your game to point where aliens rarely use those.

Offline Duke

  • Administrator
  • PHALANX veteran
  • *****
  • Posts: 1037
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #5 on: October 02, 2010, 12:38:03 am »
Could anybody plz say (or provide a link to) what the prob with RF really is you are talking about ?

Offline Hertzila

  • Sergeant
  • *****
  • Posts: 469
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #6 on: October 02, 2010, 10:03:58 am »
I'm pretty sure it's this.

Offline dodon

  • Rookie
  • ***
  • Posts: 48
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #7 on: October 02, 2010, 01:01:07 pm »
I think there are several problems:

  • the reaction fire code is bugy (there was a patch for 2.4 that fixed the more important ones.)
  • A lot of people complain, that the RF worked in 2.2 and it is broken in 2.3. But they might just remember the performance of their elite troops at the end of 2.2 and expect the same behaviour of the rookies in the beginning of 2.3 (and the players with more experienced troops usualy report, that RF works in 2.3)
  • It is difficult to judge when RF "should work". (while an alien moves the player has to evaluate the wappon range, the TU the alien spent in view (of a soldier), the chances to hit a friend and the cances to hit a foe). So there might be some false bugreports.
    To get better data i added a line to log the results of the mockshot. And I must say the mockshot is executed a lot but most of the time the hits on a enemy are below the necessary 30.

you can improve the "visibility" of RF to the player if you remove the test with the mockshot. But then you will get the following bug reports  ;):
  • RF is broken, the soldiers shoot but they never hit a target
  • RF is broken, it wasts a lot of amo
  • RF is broken, the aliens cheat with RF and always hit (well once in a while an alien will hit a soldier)
  • ...

Offline Duke

  • Administrator
  • PHALANX veteran
  • *****
  • Posts: 1037
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #8 on: October 02, 2010, 09:38:07 pm »
So we're not talking about the handling of reserved TUs or that they don't react at all. It's just that they don't shoot/hit as often as the player *expects*.

I found this in the topic Hertzila linked to:

I gave 2.3 a good long play and have to say...RF is NOT bugged. The problem is that starting soldiers are just lame. From what I can tell, there are two things the matter in RF, Mind stat of soldier and TU cost of RF shot...once you get better soldiers, RF becomes quite reliable and deadly.

Offline Hertzila

  • Sergeant
  • *****
  • Posts: 469
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #9 on: October 02, 2010, 10:54:04 pm »
Then there's also the reply 20:

After examining the source of 2.3 some time, I've come to conclusions, that:
RF can only be used by right hand.
Mind or speed skills are meaningless for RF.
There are no random parts, RF is fully predictable (and thus avoidable by AI).
It's buggy. Badly.

After which the same guy explains why it's bugged and how and a patch to fix it. And a patch tracker for those changes.

Offline Duke

  • Administrator
  • PHALANX veteran
  • *****
  • Posts: 1037
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #10 on: October 02, 2010, 11:13:22 pm »
His patch has been applied to trunk on August 11th.
So are we talking about former problems with RF in 2.3 *release* ?

Offline Hertzila

  • Sergeant
  • *****
  • Posts: 469
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #11 on: October 02, 2010, 11:53:40 pm »
If it has been applied, then yes, it seems so.

So will there be a 2.3.1 release that fixes this RF issue for 2.3 versions or is it straight to 2.4?

Offline dodon

  • Rookie
  • ***
  • Posts: 48
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #12 on: October 03, 2010, 01:16:14 am »
If it has been applied, then yes, it seems so.

So will there be a 2.3.1 release that fixes this RF issue for 2.3 versions or is it straight to 2.4?

This is what i called "a patch for 2.4" and it is only in 2.4 but it should be easy to backport this

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools

Offline Waldschrat

  • Cannon Fodder
  • **
  • Posts: 7
    • View Profile
Re: Will 2.3.1 fix reaction fire?
« Reply #14 on: October 03, 2010, 07:16:12 pm »
I spend some hours in the last days digging into the reaction fire, because it doesn't work in 2.3 as is quite well known by now.
I fixed some obvious bugs (about the same fixed in the commit link before) and did some other changes. And, surprise, it still didn't work.
Some debugging later I found the problem:
G_ReactionFireShoot() calls G_ClientShoot() to do the actual shooting, both for mock (probability determination) and the real action.
G_ClientShoot() calls in both cases G_ActionCheckWithoutTeam() to check whether taking a shot is actually a valid action.
G_ActionCheckWithoutTeam() calls G_ActionCheck() to, well, do what it's supposed to do.
G_ActionCheck() checks some stuff and at the end calls G_ActorUsableTUs() to look whether there are enough TUs left.
Thus far all is fine, so let's have a look at G_ActorUsableTUs():

int G_ActorUsableTUs (const edict_t *ent)
{
  ...
  return ent->TU - G_ActorGetReservedTUs(ent);
}

Now have a look at G_ActorGetReservedTUs():

int G_ActorGetReservedTUs (const edict_t *ent)
{
  const chrReservations_t *res = &ent->chr.reservedTus;
  return res->reaction + res->shot + res->crouch;
}

Summary: G_ActorUsableTUs() returns the amount of TUs left and not reserved. If this is greater than the required TUs to fire the weapon, a shot taken. While this makes sense if you simply trigger a shot by clicking an enemy, it's quite bad in reaction fire. Because, obviously, this means that no reaction fire takes place if no unreserved TUs are left.

Executive summary: If you got exactly the amount of TUs left you need for reaction fire, no reaction fire will take place. If you got, by happy chance, after reservation still enough TUs left for that weapon, the actor will fire. As most players will optimize movement to not have any TUs spare, they will never see reaction fire.

What hence needs to be done:
G_ActorUsableTUs() must honor TU reservation only when actions under player control are taking place. During reaction fire, all reservations must be ignored.

If someone tells me who's responsible, I can probably submit a patch to solve that problem.