Slicer glitch - WorldCorp basement

Let us help you solve any problems you might have with TNM. This forum should remain spoiler-free - if your problem is spoilery in nature, please post in the forum above.

Moderator: TNM Team

Forum rules
Please only use this forum for problems of a technical nature. If you're stuck somewhere in the game, post in the TNM Spoiler Zone forum. If the game crashes, you can't load a savegame, or something just plain isn't working, this is the place to post.
Chris Rosenkreutz
NSF
Posts: 50
Joined: Sat Jun 06, 2009 3:38 pm

Re: Slicer glitch - WorldCorp basement

Post by Chris Rosenkreutz »

This is TNM's fault!

Yes, it appears to be the MIB and not the alarm that makes Slicer hostile. Setting off the alarms via the cameras outside his cell wasn't enough to cause him to go hostile.

Anyway, I got annoyed with Deus Ex's strange AI routines have been trying to debug them. But the culprit is in TNM's AI. I think Slicer tries to set off an alarm when he sees the MIB. TNMPawn's ALARM gives the Alerting order with no tag and so assumes that the player is guilty.

It's 4.30am now so more coherent comments will have to wait.
User avatar
Jonas
Off Topic Productions
Off Topic Productions
Posts: 14224
Joined: Sat Apr 24, 2004 9:21 pm
Location: Hafnia

Re: Slicer glitch - WorldCorp basement

Post by Jonas »

Alright I just checked and he does indeed seem to be set up to trigger the alarm when bad things happen. I've disabled all that now, but I need somebody to test it for me. Any volunteers?
Jonas Wæver
Chief Poking Manager of TNM

I've made some videogames:
Expeditions: Rome
Expeditions: Viking
Expeditions: Conquistador
Clandestine
User avatar
JeniSkunk
UNATCO
Posts: 166
Joined: Fri Jun 05, 2009 10:55 pm
Location: Ghand's office, learning how to kill tech monkeys

Re: Slicer glitch - WorldCorp basement

Post by JeniSkunk »

Jonas wrote:Alright I just checked and he does indeed seem to be set up to trigger the alarm when bad things happen. I've disabled all that now, but I need somebody to test it for me. Any volunteers?
I'd only be good for testing how he reacts to explosive detonations in his vicinity.
* JeniSkunk pets the stack of 20mm HE grenade ammo; GEP rockets; and LAMs piled on Scara's desk.

Jenifur Charne
Chris Rosenkreutz
NSF
Posts: 50
Joined: Sat Jun 06, 2009 3:38 pm

Re: Slicer glitch - WorldCorp basement

Post by Chris Rosenkreutz »

You know that his glitch affects more than just Slicer? It's one of several ways Treskton can get blamed for things he didn't do. I'd suggest letting Treskton's enemies blame him for everything as I'm sure he has the reputation, but making sure his friends give him the benefit of the doubt.

That's a one line change to TNMPawn's ALARM function, in the approporiate place:

if((getPlayerPawn() == None) || isValidEnemy(getPlayerPawn()))

In my testing, that was enough to keep Slicer friendly, so it's looks like this is the cause.
User avatar
Hassat Hunter
Illuminati
Posts: 2182
Joined: Fri Apr 10, 2009 1:20 pm

Re: Slicer glitch - WorldCorp basement

Post by Hassat Hunter »

But in the Corporate Sector, there is no alarm button anywhere to press, so it cannot be bound to specifically that.
I've disabled all that now, but I need somebody to test it for me. Any volunteers?
Sure. Would that require a new game (not that big an issue. Just loadmap and phasrox ;))? Or a save before entering the sublevel? Or is standing right infront of him okay?
Can somebody tell me how I can get a custom avatar?
Oh wait, I already got one...
Chris Rosenkreutz
NSF
Posts: 50
Joined: Sat Jun 06, 2009 3:38 pm

Re: Slicer glitch - WorldCorp basement

Post by Chris Rosenkreutz »

Hassat Hunter wrote:But in the Corporate Sector, there is no alarm button anywhere to press, so it cannot be bound to specifically that.
It can. Searching for an alarm button happens later. Code can be misleading but in the end it rarely lies.

There might be another way for it to happen in the corporate sector. A civilian can see someone from the other side going after you, then blame you and run away. Then someone on your side sees the civilian and blames you. But I think that would rely on civilians being friendly to everyone and there are times when I don't think civilians were the first to hate me.

Another alarm check also seems to blame for the player for all disabled bots, even those on the other side. I think that's got me in the corporate sector more than once.
that guy
The Nameless Mod
The Nameless Mod
Posts: 1312
Joined: Mon Apr 26, 2004 1:54 am
Location: Perth, Western Australia

Re: Slicer glitch - WorldCorp basement

Post by that guy »

You're right about the bots. There should be an alliance check.

Given that any pawn set to hate alarm will respond negatively towards the player when the alarm is activated I guess the only real solution is to make the players enemies the only ones who enable the alarm. As such I agree with your suggested code change.
User avatar
Hassat Hunter
Illuminati
Posts: 2182
Joined: Fri Apr 10, 2009 1:20 pm

Re: Slicer glitch - WorldCorp basement

Post by Hassat Hunter »

Note that I have no experience with the DX AI code, so just speculating here. Unlike thatguy who knows what you talk about ;P.
Chris Rosenkreutz wrote:It can. Searching for an alarm button happens later. Code can be misleading but in the end it rarely lies.
So what you're saying is the AI thinks about setting the alarm (making it hostile?), notices no alarm present to press, but remains hostile as a result? And your solution would be an addition that prevents the AI from thinking about setting the alarm if it's friendly to you?
Another alarm check also seems to blame for the player for all disabled bots, even those on the other side. I think that's got me in the corporate sector more than once.
BUT... there is only one EMP-wielding soldier in the entire corporate sector (easily noticable because the EMP-hit's effect is displayed even if you are on the other side of the map and have no part of the fight and take no hit). And we all known how well DX AI handles grenades, so that it'll disable a bot is doubtful at best (not to mention a single EMP nade is not enough to disable a Milbot in the hands of a NPC). Unless of course you talk about disabling bots yourself now, which is something I don't see the player do actually (but that may just be me).
The above alarmscenario seems more likely a cause for unrest, as usually the hurt ones turn hostile.

None of it explain suddenly hostile turning Firewalls still, but that's a whole other story again.
Can somebody tell me how I can get a custom avatar?
Oh wait, I already got one...
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

Re: Slicer glitch - WorldCorp basement

Post by DDL »

No, but if you EMP an enemy robot, potentially your OWN SIDE will blame you for EMPing 'a robot', since they don't check for the robot's alliance.

And you're basically correct about the alarm routine: they do a series of checks first to see whether they SHOULD sound the alarm, assign enemy status etc in case they fail to find any alarm units, then look for alarm units.
that guy
The Nameless Mod
The Nameless Mod
Posts: 1312
Joined: Mon Apr 26, 2004 1:54 am
Location: Perth, Western Australia

Re: Slicer glitch - WorldCorp basement

Post by that guy »

I've implemented both fixed. you can expect them in 1.0.3
Chris Rosenkreutz
NSF
Posts: 50
Joined: Sat Jun 06, 2009 3:38 pm

Re: Slicer glitch - WorldCorp basement

Post by Chris Rosenkreutz »

Good to hear. Now we've only got to worry about the original Deus Ex code.
Hassat Hunter wrote: So what you're saying is the AI thinks about setting the alarm (making it hostile?), notices no alarm present to press, but remains hostile as a result? And your solution would be an addition that prevents the AI from thinking about setting the alarm if it's friendly to you?
Exactly. The Deux Ex AI (without TNM) only sets off the Alarm when it sees an enemy and that alarm is against that enemy, in that enemies of the spotted enemy come running. The TNM AI uses the alarm for a few additional reasons and, intentionally or otherwise, targets only the player. Those that I can see are:

1) After the player has been killed.
2) When they've come to investigate something, such as a loud noise, but haven't found any enemy.
3) When they see a disabled bot.
4) After running to a carcass.

The alternative would be to keep track of who is responsible. But that doesn't make any sense for 1 and 2, and as you point out, 3 is almost always the players fault. So it would only be an improvement for 4.

So which caused Slicer to turn against me? I've still got my save from last night and uncommenting out some debugging code was enough to tell me. It was 2. So I don't fully understand the code...
BUT... there is only one EMP-wielding soldier in the entire corporate sector (easily noticable because the EMP-hit's effect is displayed even if you are on the other side of the map and have no part of the fight and take no hit). And we all known how well DX AI handles grenades, so that it'll disable a bot is doubtful at best (not to mention a single EMP nade is not enough to disable a Milbot in the hands of a NPC). Unless of course you talk about disabling bots yourself now, which is something I don't see the player do actually (but that may just be me).
Guilty as charged. I disabled the bots myself. For a WC aligned player, EMP weapons seem like a good choice to me. They work on firewalls as well as bots. Taking out one Milbot is enough to ensure the WC goons' victory in the small skirmishes. An EMP nade or two is the cheapest way of not having to worry about that corner of the map, if only your own side wouldn't turn against you.
None of it explain suddenly hostile turning Firewalls still, but that's a whole other story again.
Who knows? It might well be 2 or 4. Or it might be the civilians complicating things. When I get that far in my current playthrough, I should be in a position to find out.
User avatar
Hassat Hunter
Illuminati
Posts: 2182
Joined: Fri Apr 10, 2009 1:20 pm

Re: Slicer glitch - WorldCorp basement

Post by Hassat Hunter »

True. But because NPC's still shoot on disabled bots, and thus neglect the real threat, I usually just blow them up instead, forcing the commando's to pay attention to the surviving firewalls. Plenty of LAW's to go around (and you can always use the collisionglitch with Raving's LAWs if it gets really desperate :P)

In the end, I usually end up killing both sides off though, much less of a pain in the ass. A well aimed LAW takes care of all soldiers at WC HQ.
Who knows? It might well be 2 or 4. Or it might be the civilians complicating things. When I get that far in my current playthrough, I should be in a position to find out.
Well, the civilians are placed out of the warzones (purposely of course). But on day 1 you can also get weird activity from the firewalls. For example I have had a firewall turn hostile on me for seeing an unconscious firewall (knocked down by Master Kale), or when scaring the n00bs the firewall near the subway suddenly became hostile after he killed them. JeniSkunk also mentioned firewalls attacking the spiderbot and turning hostile as a result.
The annoying about it too is sometimes the hostility IS warranted, like setting off an alarm or breaking into a building. But then, after a while they turn back green on the reticle, but going anywhere near them makes them hostile instantly, adding WTF moments and mostly, death by surprise (certainly when playing "Fragile").
Can somebody tell me how I can get a custom avatar?
Oh wait, I already got one...
User avatar
JeniSkunk
UNATCO
Posts: 166
Joined: Fri Jun 05, 2009 10:55 pm
Location: Ghand's office, learning how to kill tech monkeys

Re: Slicer glitch - WorldCorp basement

Post by JeniSkunk »

Hassat Hunter wrote:But on day 1 you can also get weird activity from the firewalls. For example I have had a firewall turn hostile on me for seeing an unconscious firewall (knocked down by Master Kale), or when scaring the n00bs the firewall near the subway suddenly became hostile after he killed them. JeniSkunk also mentioned firewalls attacking the spiderbot and turning hostile as a result.
As I'd noted in the 'Firewall troops attack me on sight' thread the problem is that the DX AI blames the player for all untoward incidents, such as the player setting off enemies of the player to attack the allies of the player. The allies of the player become set hostile to the player, since the game regards the attack on the allies as being done BY the player.
The annoying about it too is sometimes the hostility IS warranted, like setting off an alarm or breaking into a building. But then, after a while they turn back green on the reticle, but going anywhere near them makes them hostile instantly, adding WTF moments and mostly, death by surprise (certainly when playing "Fragile").
Exactly why I couldn't risk going anywhere near them, except to terminate them, after they'd dealt with the N00Bz.
The DX AI has them calm down after the incident, but the game has the player now permanently classed as enemy to them, so as soon as the player is within their detect range, the player's former allies go to instant attack status against the player.

It's the whole way the DX AI mishandles cause of attack on neutral and allies, that is at the base of the headaches we have with Slicer.
The alarms set off the extra security in Slicer's cell. The game regards the gas attack from the WC security in Slicer's cell as being a direct gas attack on Slicer by the player. As a result Slicer is now set as hostile to the player, irregardless of whether or not the player has joined PDX or is exploring the area early.

edit: typo

Jenifur Charne
Chris Rosenkreutz
NSF
Posts: 50
Joined: Sat Jun 06, 2009 3:38 pm

Re: Slicer glitch - WorldCorp basement

Post by Chris Rosenkreutz »

I've been adding code to log all the reasons why the AI turns hostile on you. I'm trying to mod it so that it behaves more fairly and rationally.
Hassat Hunter wrote: But on day 1 you can also get weird activity from the firewalls. For example I have had a firewall turn hostile on me for seeing an unconscious firewall (knocked down by Master Kale), or when scaring the n00bs the firewall near the subway suddenly became hostile after he killed them.
That's the TNM alarm bug from case 4 above.
JeniSkunk also mentioned firewalls attacking the spiderbot and turning hostile as a result.
That's a result of civilians getting scared. The firewalls don't hate you when the spiderbot is upset at you because they aren't on the spiderbots side. But the civilians don't make that distinction: they are still scared of you because of it. The firewalls are on the civilians side so they attack you for upsetting the civilians. At least that's what happened when I tried this yesterday.
The annoying about it too is sometimes the hostility IS warranted, like setting off an alarm or breaking into a building. But then, after a while they turn back green on the reticle, but going anywhere near them makes them hostile instantly, adding WTF moments and mostly, death by surprise (certainly when playing "Fragile").
I haven't seen this and will have to look into it. I know that the AI has different levels of agitation. So possibly, when the firewall still recovering from being upset with you, it would be more jumpy. But it should take more than just walking near it.
JeniSkunk wrote:the problem is that the DX AI blames the player for all untoward incidents, such as the player setting off enemies of the player to attack the allies of the player. The allies of the player become set hostile to the player, since the game regards the attack on the allies as being done BY the player.
No, it doesn't. Really.
The game regards the gas attack from the WC security in Slicer's cell as being a direct gas attack on Slicer by the player.
I've seen Slicer rubbing his eyes and still being friendly.


There might be other reasons for unwarranted AI hostility but I haven't come across them. It's looking like it shouldn't be too hard to mod the AI into being sensible. I'll refrain from claiming I've done it until I've not seen any for a few hours of play nonetheless.
User avatar
Jonas
Off Topic Productions
Off Topic Productions
Posts: 14224
Joined: Sat Apr 24, 2004 9:21 pm
Location: Hafnia

Re: Slicer glitch - WorldCorp basement

Post by Jonas »

Well Chris, I can't fully speak for our programmers of course, but I think we'd be happy to implement any fixes you come up with in TNM for patch 1.0.3 if you'll let us :)

Thanks for looking into it either way.
Jonas Wæver
Chief Poking Manager of TNM

I've made some videogames:
Expeditions: Rome
Expeditions: Viking
Expeditions: Conquistador
Clandestine
Post Reply