Jump to content
The Dark Mod Forums

Fausst

Member
  • Posts

    21
  • Joined

  • Last visited

Posts posted by Fausst

  1. If the player continues, then the AI comes closer, says "hah I got you" and the player is busted.

     

    That was what I was getting at. At this point the AI could simply cheat and "detect" the player (he must be near the object if he holds it in his arms, so if the AI can see the object, but not the player, he must be near).

     

     

    The problem exists only if the player continues to hold it. AI definately needs to cheat here.

    So how much of a distance there should be in your opinion?

    2m, 5m, 10m?

    Maybe I can take the object visibility into account as well for identifying the player. It seems more reasonable to be dependent on both the visibility and the distance I think.

     

     

    Looking at the other side of the issue:

    That's the problem. In real life, I could tuck an object under my cloak or hold it right next to me so it couldn't be seen. The game doesn't allow that. Should players be penalized for something they only have marginal control over?

     

    They can see how visible is the object they are holding, not precise as a lightgem but still they can see it. A little bit of mystery can't be a bad thing here. If we shouldn't penalise the player for this, there should be no object awareness or did I understand it wrong?

  2. Can't the guard walk over? Spotting the player in total darkness is more believable if the AI is standing next to you, instead of 20m away.

     

    So maybe in this order:

     

    * stare at object

    * move towards it

    * detect player (regardless on wether player is lit or not, a floating object in light would make the AI suspicious)

     

    No it can't walk over. The goal is to reach the position of the object not the player.

     

    Yes this is the exactly same algorithm I am trying to implement

    I was trying to make it identify the player when it is really close to the object (radius based) and the AI is also reached the maximum alert. It's not going well so far.

    The problem is moving towards it will not identify the player. Are you suggesting to make it like I am trying to do? A distance based system. Maybe 2m in radius of the object detect the player no matter the visibility.

  3. For the time being I'm almost out of ideas about the object awareness. I have a reliable detection and reaction system but I can not finalize the system. The guard naturally spots the moving object depending on the distance visiblity etc., if some threshold is reached visual alerts are triggered therefore it investigates the object by moving towards it. It reaches the maximum alert level and stands there looking at the object because I am in the shadows and he only can see the object.

    Should I make the ai move around the object to somehow contact with the player because if the player is hidden enough he can't be identified unless a contact. But this does not make sense. You see an object which is on air and also moving and you take a walk around it. I don't know...

    I was trying to make it identify the player when it is really close to the object (radius based) and the AI is also reached the maximum alert. It's not going well so far.

    The only solution is to make it identify the enemy after reaching some threshold() which can result AI spotting the player from 20 m by just seeing a moving apple.

     

    Any other suggestions to tie the player identification to the object awareness?

  4. I like the AI to be act as they would be in real life ( as long as the game can handle it), with their life resting in how well they do their duty, cause a good thief will still outwit them.

     

    Again I think the AI should be acting as you would with your responsiblity to your postion, and with a little fear of your life.

     

    This is a hardcore, old school thinking style. I too share your views all by heart but that doesn't mean it is the way to go as we are the minority even among the people playing this mod as also Springheel said.

    But still this doesn't mean we shouldn't implement all the real behaviour of a guard. The actual challenge is to find a sweet spot in the gameplay between reality and game which makes everyone happy.

     

    ...not to make them harder, but to make them act more naturally, and have less blind spots..

     

    As for doors getting blocked by the player, if there could be a way of distinguishing who is frobbing the door besides the AI himself, shouldnt it be considered exactly as an agression? At least the AI should go into full "suspicious door" behaviour - AI can make it hard for other AI to go through doors (sometime they try to go through at the same time), so this should be ignored; but if the player hits an AI with a door, Im sure he expects it to have a negative reaction on him (even if you could argue that it could be a friendly AI) - anything else would be confusing ("so I just hit the guy with a door and he didnt even got pissed and tried to see who was doing that on the other side?"). The "suspicious door" behaviour would ensure that the AI would try to search both sides of the door.

    This problem has a lot of difficult cases to overcome. It is not impossible but all situations should be well covered before any attemps. Long discussions should be made.

     

     

    Hard to say how that would feel without seeing it in practice.

    I will make experiments about it this night.

  5. What if there was some distance factor, so that the first reaction of the AI is to head over to the object to investigate, but once they get close enough, they identify the player if _either_ the player or the held object is visible. That would keep AI from going into combat mode if they see a spoon move across the hall, but the player can't hide behind a floating crate when the AI is two feet away.

     

    So you are actually suggesting the second option. What exactly is "close enough" ? Are you suggesting it to be depending on the distance or visibility or both?

    I was thinking something like,

    if the ai can't get closer to the entity and still sees the object, then it should identify the player no matter the players visibility.

  6. I think this makes the most sense. Seeing a moving object is worth investigating, but they shouldn't immediately know it's an intruder carrying the basket.

     

    I too found that one more reasonable and started making experiments with it. It seems like this method is very prone to silly behaviour. The AI can't identify the player until it actually detects the player and this causes situations like;

    The ai definately saw the moving object. He reached the maximum alert state so he investigates the object place. But the player holds the object between himself and the ai. AI tries to investigate the location of the object. It arrives to the location and stands next to the object looking at it and barking. It is just stuck there if the player doesn't move the object.

    You can be in shadows and the object is in light. If you put the object between yourself and the AI, it will not have the chance to detect you. Any suggesstions?

  7. If they see something noteworthy, then they can go and investigate.

     

    What if the player is not visible, yet can play with the door? Not completely open it or close it, just playing with the door in front of the AI. Will it be worthy to investigate for AI?

     

    One of the things that breaks the immersion for me is, the player can stop the door AI is closing while all AI can do is to look. AI sees this but just can't react because it is not fully opened or closed. (assuming that we extended or created a system depending on open or close) I think after making the AI turn their heads, we should have a system to make AI aware of the moving door and increase the alert level according to it.

     

    More importantly, a system based on the door movement has the potential to solve a lot more things that we can not think of in one shot. It can be percentage based like Tels suggested or we can figure out something else but it is crucial to have it based around door movement, not open or close state.

     

    So there are two steps:

    1- the door opens and AI turns its head towards the door if it is not already looking.

    2- while he is looking at the door it should be alerted depending on the movement.

     

    These are completely independent from suspicious door cases and therefore can blend together well. For me this seems like a natural reaction in real life.

     

    By the way, about the object awareness that I am working on;

    Should I implement the alert system like,

    if the AI reaches some alert threshold because of seing a moving object in air, he identifies the player without actually seing him. The logical reason for this is the object should somehow be grabbed by the player. The alert threshold actually represents that it identified who is holding the object. That depends on imagination :) (maybe he sees the player's arm if he looks long enough.)

    Or should I make it like, n

    no matter how alerted he is because of the moving object, he shouldn't identify the player. This is like the hearing alert. The AI definately knows something is out there but just can't spot it. Last state of search with weapons drawn.

     

    So what are your opinions?

  8. They only look if it's in their FOV. They wouldn't turn around if the door was behind them. I'm pretty sure we had already decided to do this, but just never got around to it.

     

    Is this really confirmed, I mean the team agreed to implement this before?

     

    For an extra level of detail, an AI that is alerted or has logged suspicious behaviour who has a door open in his FOV could stop and watch the door for X seconds. If no friendly AI comes through the door in that time, he treats it as suspicious and walks over to investigate.

     

    Hmm I was thinking that the guard should also turn around if the door is really close but I can see baddcog's point on this. It would somehow break gameplay. On the other hand, this seems reasonable gameplay wise and shouldn't be too complicated.

    But it would cause problems in gameplay when an AI gets stuck and can't pass through the door, there is a potential that nearby AI would be distrupted constantly so we should check who is opening the door. But thats implementation part of course. Other than that I don't see any possible problems with watching and investigating. I addition it would allow the player to distract the guard in a new way I think.

  9. We had once planned on making AI turn their head towards any door that opened in their FOV. It seems like reasonable behaviour, even for someone not on guard, to look towards a door opening to see who is coming through. The AI wouldn't be alerted by this unless it was a suspicious door, but at least they wouldn't appear to ignore it, and players that aren't careful could be busted when the AI turns to look.

     

    Yes this was exactly what I suggested.

  10. I'm pretty sure we already have a solution to handle doors in place, but it's up to mappers to flag doors as suspicious.

     

    I know that but the problem is if the door is not suspicious, you can play with the door in front of an ai as long as you want and he wouldn't care.

     

     

    * The player can put a lit candle on a small crate, then carefully grab the crate and carry around the crate and candle. Or at least I think you can do this. However, handling the normal case and not this edge case is already much better than before :) At least in this situation the small crate would be lit, so the AI could see the moving crate.

    * If both player and object-in-grabber move (elevator ride in dark, AI stands next to player), then the object in the player hands would appear to "move". This can be solved by taking the movement of the grabber object realtively to the player center instead of to the world.

     

     

    Anyway, it would be fun to make a map which is totally brightly lit, a few AI, a pile of crates and then have the player cross the room :D (And then see that this no longer works in v1.08 :)

     

    These are very good cases to take care of for the solution. There are other cases to think of.

    If the player is holding a candle and the ai suddenly turns towards the candle. If it doesn't see the player but only the candle and the player is not moving the candle ai wouldn't have a reaction. But we can add what you suggested:

    * if the object is not moving, but fully lit, then get slightly more alert (so if the player freezes with a hovering crate, that raises suspicion, too)

    But then here comes another problem;

    The candle is grabbed by the player and player doesn't move the candle, but it is also on the table. So the candle is just on the table but because of being grabbed by the player the AI is alerted. Sorry if my English is not clear.

    Let's keep brainstorming :)

  11. We've already passed the cute Thief scenario where you can open a door right in a guard's face and he doesn't mind,

     

    I made a suggestion about this problem in the I Want To Help section and if somehow I can solve this object and light awareness problem, my next objective will be extended to especially to door awareness but it is another story. I will start a new thread about that sometime.

  12. I am working on an implementation that makes AI aware of moving lights and objects which it can see.

    I wanted to know your opinions about the problem and some possible solutions for it.

     

    The problem: AI doesn't react to an object that is grabbed by the player and moved in front of their eyes. I tested it multiple times, even the object is completely lit in front of the AI nothing happens. In fact, you can push them with these objects if you do it slowly and carefully in 1.07 :)(the new 1.08 has corrected being able to push as grayman told).

    Related to this, they don't react to candle or lantern light that moves or appears in front of them. You take a candle and completely brighten the front of the AI while standing next to him, there is no reaction.

    Also from what I have read from the forum, the player can abuse this by grabbing a pile and creating a shadow for himself. The ai isn't aware of the moving pile, so player can move piles around for creating shadows. After creating enough shadow you can walk inside the shadow and AI won't notice this because it can not detect a moving object.

     

    I think it is a major problem for AI and I am trying to find a good solution for this.

    I need feedback from you guys in order to understand what I should or I should not do about this problem.

     

    Here's my solution:

    I created multiple algorithms using different methods in the code. For the moving object awareness, the most simple solution was;

    if the ai can see the object && that object is grabbed by player && it also moves

    make the AI face to the entity that is moving and set the alert state to suspicious or searching.

    I think the AI can handle afterwards because I will just try to make the ai investigate near the moving object.

    To get rid of possible issues between other ai, the implementation should find whether the object is held by the player.

     

    This is the solution I found for light awareness which is similar to moving objects.

    if the light is held by the player (ai eliminated) && the light moves (I don't have an exact idea about this one)

    && the bounding sphere of light intersects with the AI viewcone

    turn toward the lightsource

    Again if we can only turn the ai to that direction the rest will handled by ai. I mean it is a natural reaction to turn towards where the light comes before going into any states. (I think)

    I really know how deep and complex this solution can get but again we can find the source of light candle or torch whether ai or the player therefore complications with other AI would be eliminated.

     

    I would like to hear thoughts and possible alternative solutions from the community and the team before trying to implement it.

  13. In regard to movement penalty, there is already one in place. If the player moves, they are already more visible as a movement modifier brightens the gem slightly more. This is the same as in Thief. There are issues in low light situations however that make the player almost invisible, even when moving. I'm looking into correcting that so that the AI are no longer completely blind in the average light levels used most by mappers.

     

    Yes, i figured that there is a penalty but as you said you can become so invisible that it will not effect your gem anymore. If you can correct the average light levels that would be another solution for this. Anyway I will start seperate threads for the 4 and 8 know. Maybe 6 and 7 later as grayman suggested. By the way which is the most appropriate subforum for discussing the changes for 4 and 8?

     

    SiyahParsomen yabancı değildir bence...

  14. Fauust, you should definitely check with grayman, and get SVN access. It sounds like you have useful ideas and we can definitely use another coder (someone not working on AI would of course be even better, but we take what we get :)

     

    Thank you all for the warm welcome :)

    I contacted with grayman as suggested. By the way, just curious, what are the other particular areas that you need a coder?

  15. Yes, I agree with you on the game pace part. Still, I think adding a penalty that would cause a difference only if you move, in something like half meter away from the enemy, wouldn't hurt the pace I guess. On the other hand, it would make it more strategic because the player will not be able to act freely just in face of the enemy. For feeling the tension when you walk so close around an enemy.

    • Like 2
  16. Grayman is our resident AI expert, so he's the one ask.

     

    Ok, I'll wait for him than. By the way, I read all the SDK and have a better understanding, I think I can try to implement something now.

    Thanks

     

    Some of this is already being implemented in 1.08, so once that's released things will be different.

     

    I don't think we need more of a movement penalty, that's mostly based on light/sound, things player can easily judge. Moving faster makes a louder sound.

    We don't need to make it any harder on the player imo. If a player is getting around a map to easily maybe the map needs more light, better patrols, etc..

     

    So there is a chance that number 8 is already done. To clear things, I was thinking that you should be more visible than presently when you move. If the lightgem is compeletely dark, it makes sense that you should be invisible when standing still like an object in the game but I don't think it is "realistic" (in terms of gameplay) to be invisible 5 cm in front of an enemy while moving. Of course it is also the mappers responsiblity but a human eye can percept an object better, if it moves (well according to my senses :P) Anyways this is just an opinion, you guys definately know how to build the experience well.

     

    Thanks all for the interest.

  17. Hello,

    I am an undergraduate Computer Engineer student. I worked on various little game projects written in java and c++ wtih my classmates. Stealth genre is my favourite genre in gaming and as you all know thief series is the pinnacle. So I found this mod recently while searching a couple of weeks ago. After playing like 10 missions I really loved the mod. I really congragulate the team for being able to create the same old school thief sense with better graphics into the DOOM 3 engine. To keep it short, I would like to share some feedback and I am also working on the code (actually trying to construct the system in my mind) to implement some improvements. I have some questions and need some guidence about some particular subjects. I thought this would be the most appropriate subforum.

     

    First the feedback

     

    1- I think someone told and probably you guys fixed but there is a visually bugged candle in the training map.

    2- 0002068: AI not sharing alerts with nearby allies. I would like to add that, so far I didn't see any example of this bug.

    3- You can get the loots inside the closed secret safes., like a painting etc., without opening the secret safe. I experienced this multiple times in some maps.

    4- The ai doesn't seem to care about opened doors or movement on doors. You can just play with a door in front of the ai and they won't react to it as I observed. There is some evidence in the code trying to improve on this but I am not sure about the effects. And there isn't any awareness in AI about the door sound. Is there?

    5- The player doesn't take damage while standing on top of a torch or something that is on fire.

    6- I didn't saw a single AI relighting a candle in my experience. I thought it was missing in the engine but after tracing, it was implemented in the code with a chance factor, so it was my luck I guess.

    7- I think there should be more visibility penalty while you move, especially just a few feet away from an AI. Maybe it could be slightly random. (somehow :P)

    8- This is the one I am working on: AI doesn't react to an object that is grabbed by the player and moved in front of their eyes. I tested it multiple times, even the object is completely lit in front of the AI nothing happens. In fact, you can push them with these objects if you do it slowly and carefully :) Related to this, they don't react to candle or lantern light that moves or appears in front of them. You take a candle and completely brighten the front of the AI while standing next to him, there is no reaction.

     

    I need some guidence in number 8.

    I created multiple algorithms using different methods in the code. The most simple solution was

    if the ai can see the object && that object is grabbed by player && it also moves

    face to the entity that is moving and set the alert state to searching.

    There are methods like canSee(), faceEntity(), getBindMaster(), setAlertLevel() etc. for me to implement this.

    I think the AI can handle afterwards. But I have a question.

     

    I don't know where to add this improvement. Where does the AI evaluate its options on some time interval? The only method I found was "think()". I couldn't figure out how to merge this reaction into the realtime AI process.

     

    By the way, for the light awareness;

    if the light is held by the player && the light moves && the bounding sphere of light intersects with the AI viewcone

    turn toward the lightsource

    This would result in seeing the player which is a natural reaction. So I thought it would be enough.

     

    I know you are a tiny team and you don't have time but I would really appreciate some guidance about this structure and my solutions. Once I fill in the gaps on structure i figured out and get the complete picture about how things work, I should be rolling on myself. If my effort seemed incompetent to get some guidance, I would understand that.

     

    I really appreciate what you guys are doing and I want to contribute as far as my life allows me.

×
×
  • Create New...