[Carnage] on 13/11/2008 at 22:27
Tracing 4 or 5 points should be enough. Take the torso, then move n pixels/units up, left, down and right, and you should get a decent impression of the shape/size of the silhouete. From then on, move those tracers to the wall and determine at each ending point what its light level is. You could then have something simple as: if only one point sticks out, the ai has to be within x feet in order to react to it (just a "hmm, what's that"). The more points that stick out the further away the agent can detect it.
An implementation such as this is rather simple and performance is obviously going to be affected, but it is a rather advanced feature. No other game I know has something like this. Still, I wouldn't worry about performance that much. Luckily, there aren't many enemies around and you can easily disable and enable it depending on the situation. For instance, if there is no AI in the maxSilhouette detection range, then there is no need try it. Same if there is a wall or obstacle between him and the player. Plus you can increase the update cycle time based on the distance of the AI, since he is less likely to spot you from far away anyway.
But what do I know, I'm not an experienced programmer or anything, I'm just pulling this out of my a... pocket.
KMiTA on 14/11/2008 at 00:21
I just discovered this thread too...yeah 3rd person is lame but I actually really like the idea of no visibilty gem. The raw immersion of thief is why I enjoyed it so much, and I think that the gem is a crutch that decent players could do without.
I tried playing some thief with a sticky note over the visibility gem to test it...it was pretty interesting. Definitely changes the experience.
sNeaksieGarrett on 14/11/2008 at 00:49
Quote Posted by KMiTA
I tried playing some thief with a sticky note over the visibility gem to test it...it was pretty interesting. Definitely changes the experience.
Haha, there you go!:D That solves it; just put a sticky note on your screen, no need to remove the light gem... Unless you could toggle it on and off or something.
pavlovscat on 14/11/2008 at 03:43
I've had to fight with Pickles (a cat) laying on my desk in front of my screen. It's ok until she decides to start grooming and sticks a leg or head up and always manages to block the gem. I've kinda gotten used to playing that way. I guess, I could move the cat...nah, what am I thinking? :laff:
Though, I do occasionally shove her down when it's a delicate moment and I need to see.
Volca on 14/11/2008 at 06:50
If it's only the gem she's blocking it's ok :)
Our cat likes to block the entire vision on whatever one is currently looking at, or block the path between you and your target (Look at ME! I'm hungry! And I want to play with you guys!) What a selfish creature :)
I imagine the silhouette detection could be done quite accurately using small renders to texture - 32x32 or so (not always as that would be a performance eater, but under the circumstances when it could have some influence).
Digital Nightfall on 14/11/2008 at 08:56
Don't worry guys, it was only a dream.
d'Spair on 14/11/2008 at 09:11
Quote Posted by Digital Nightfall
Don't worry guys, it was only a dream.
What a relief!
Digital Nightfall on 14/5/2009 at 03:29
*casts necromancy!* :sly:
kamyk on 14/5/2009 at 05:26
First post definitely sounds like a nightmare. The silhoutte thing sounds like a nightmare to implement.