Crispy on 24/6/2005 at 09:03
Check out the property AIEvidence->RelevantChangeTypes. I'm thinking CHANGE_OutOfPlace could work for this.
I'm going to test this now...
Edit: No such luck, not even after I've chucked the thing around. :erg: I'll have to experiment with the other change types later.
Bumbleson on 24/6/2005 at 21:07
I already tried that, but it got me nowhere. The problem seems to be that dropped weapons are generally ignored. The relevant change types on an object only determine what could *potentially* be of interest to AIs. In one of the AI models (don't remember if it was sensory, behavior or something else) you can specify what change types the owner of this model will react to. However, this unspecific information doesn't tell the AI to necessarily change alert state when seeing such an object. In other words: seeing a dropped sword is basically the same as seeing a rat. As long as nothing special is happening, the sword will be ignored. And even if you could make the AI freak out when seeing an "out of place" object, it would do so too for every other object with the same flag, which wouldn't always fit the situation.
A promising alternative was the visibility-to-alertness mapping that is also done in one of the models. But I couldn't find out how exactly it works and if it can be abused for this purpose. Maybe someone else can.
Ziemanskye on 24/6/2005 at 21:36
well, a quick dig into the SetDressing objects is AIEvidence set to CHANGE_Moving
Maybe that's what you need (though hopefully they just notice it after it's dropped!)
Crispy on 25/6/2005 at 04:06
Quote Posted by Bumbleson
The relevant change types on an object only determine what could *potentially* be of interest to AIs.
Rats. (Pun intended.)
Is there an unused change type? Gas or Smoke, perhaps? (Has anyone seen AIs react to seeing gas or smoke? I think I've seen one react to a mis-thrown gas bomb, but I don't remember.) If we could provoke a reaction through those and attach our own sounds... (Possibly ones in the existing schemas, but hand-picked so that they make sense and we don't have guards grieving for the poor dead sword or hallucinating blood.)
For reference, here is a list of all the change types:
CHANGE_Moving
CHANGE_Missing
CHANGE_OutOfPlace
CHANGE_Damaged
CHANGE_Destroyed
CHANGE_Malfunctioning
CHANGE_Disabled
CHANGE_OpenClosed
CHANGE_OnOff
CHANGE_MissingAlly
CHANGE_Spooked
CHANGE_Burning
CHANGE_Smoke
CHANGE_Gas
CHANGE_LiveGrenade
CHANGE_BloodPuddle
Quote:
A promising alternative was the visibility-to-alertness mapping that is also done in one of the models. But I couldn't find out how exactly it works and if it can be abused for this purpose. Maybe someone else can.
I poked around and could only find it attached to AI Pawns. (If anyone wants to see it themselves, open up the Actor Browser and go to Actor->Pawn->AIPawn->Properties->LightLevel->LightLevelToVisibilityLookup.) It's empty by default on the level properties and on all non-AI objects (all the ones I looked at, anyway, which included things that are considered evidence). I suspect that it's an AI-specific setting, and therefore useless for our purposes. Though you could probably use it to give AIs uber see-in-the-dark capabilities. (Or even reverse it to create AIs who can see things in the dark but not brightly lit objects - now that would be an interesting FM gimmick! I hereby claim it as my own. ;) )
Bumbleson on 25/6/2005 at 05:33
LightLevelToVisibilityLookup is not what I meant. Look under Metaproperty -> AIModel -> AISensoryModel and check the properties under AIVisibility_General, especially VisibilityAlertnessMap. If this is what I think it is, we could add a custom visibility intensity to the sword, that no other object has, and then put AIs to red alert by adding to this property.
I may be completely off the track here, but at least it's a hope. :rolleyes:
Crispy on 25/6/2005 at 07:23
Ah, I see. That's what I get for not rereading your earlier posts closely enough. :)
Yeah, there's a lot of interesting stuff under there. VisibilityAlertnessMap doesn't look particularly promising to me, unless we can give the sword a unique visibility value that no other object has. (Say, really large, or negative.) Even then, I think it would have to have a "change type" triggered before the VisibilityAlertnessMap is even considered.
I noticed that the default sensory models seem to be ignoring a few change types; damaged and malfunctioning, for instance. If we can make sure that nothing already in the game is emitting those change types, we could in theory use them for things like this sword.
What AI barks they'd end up using is anyone's guess, though...
z-vap on 28/8/2005 at 20:42
I guess there was no luck with this?
How did the Wiki-ing of everything else, that came out of this, go?
Let's not loose the gems that reside within.
Joe