Jump to content
Forum Login Changes ×
The Dark Mod Forums

MirceaKitsune

Member
  • Posts

    1652
  • Joined

  • Last visited

  • Days Won

    17

MirceaKitsune last won the day on April 4

MirceaKitsune had the most liked content!

Reputation

511 Legendary

1 Follower

About MirceaKitsune

Profile Information

  • Gender
    Not Telling
  • Location
    Romania, Bucharest

Contact Methods

  • Skype
    mircea_kitsune

Recent Profile Visitors

6719 profile views
  1. TDM was never meant to be fully realistic, it would become impossibly difficult were that the case. None the less I still find myself wishing more could be done to make AI feel less like AI, especially when handling hostile encounters (usually the player). While like most aspects this could never be truly perfect, one area feels like it could be noticeably improved: Giving AI some form of long term memory, rather than just one alert level which goes back to zero after a short time. Here is the reason why I'm saying this: Walk inside your average heavily guarded mansion and step into the bright lights, making all the guards clearly see you and chase after you to attack. Once you've had enough fun repeating the process, hide somewhere and give everyone enough time to cool down. At the end of it all, hide somewhere in the shadows where you can barely be seen and let a guard walk past you: The guard will just say "is there something over there", at best waiting a few seconds and saying "probably just the shadows" before walking away... the same man that may have chased after you for 30 minutes and should by any logic know an intruder is still in the house, I mean come on Now I'm aware we have a basic persistence system: If I remember correctly an AI that's encountered the player and was alerted enough to draw their sword will have its acuity permanently increased by a slight amount. This however makes no noticeable difference as the AI behaves mostly the same. They'll keep telling fellow AI an intruder is in the area, this definitely helps but it's only a dialogue change not accompanied by noticeable modifications in behavior as you'd expect. Obviously massive modifications might be hard to do now without upsetting existing players since it would make everything harder. As such any such attempt would likely be an experiment and, if successful, a new menu option for the difficulty settings. Still I felt like suggesting my imagined solution just in case there's a point in considering tackling this. My idea: Replace the one-time bump in acuity with a paranoia level independent from the alert level... think of the existing alert system as short-term alert and the new one as long-term alert. The standard alert level of guards is slowly added to their paranoia level, thus the more time a guard spends being alert and the higher that alert is the more fear increases. Paranoia level may be allowed to decrease over time but at a far slower rate than the alert level: If an alert guard will typically take 3 minutes to fully calm down after losing track of the player, the paranoia level should take at least 30 if not 60 (real life) minutes to fully go down to minimum... even then it shouldn't drop below a certain degree after that point was reached, for instance just 50% of the maximum paranoia. This long-term fear level would have several effects on an AI as they patrol on their normal route... the ones I've thought about are: Increased acuity as they'll be more alert. This system would replace the existing simple bump we have in that regard, with a more fluid effect and also stronger effect. Increased playing of voices and idle animations: Due to being afraid the guard may talk to themselves or others a lot more frequently and babble excessively. Walking could be replaced by running for a while, even on path nodes that don't have the run flag. The AI would still patrol that same route just at a faster pace. As a map feature set by FM's: Some path nodes can be filtered by fear level, may already be possible with the simple system but I never tried it. An AI paranoid the player is still around but having resumed their normal patrol route may choose to patrol a more sensitive area it normally wasn't going to, which would be a fair way of punishing the player for being seen by having that AI start guarding a sensitive location from then on. If the paranoia level is allowed to slowly decrease, the guard may decide to go back on this decision... the player could then do something else for 15 minutes around the map till the guard abandons the paranoid patrol route. Here's an idea I like: AI randomly getting scared for no reason, thinking they see the player in every shadow even when there's nothing there. A scared guard normally walking on their patrol route would randomly become alert for no reason, typically when walking through a dark area, causing them to draw their sword or randomly run around for a second. The problem here is this effect would be random: Imagine you're hiding accordingly but a guard randomly freaks out and bumps into you, most players would find this unfair.
  2. Oh wow: Areas in my city I clearly remember yielding 60 FPS from some positions / angles now reach well over 80 FPS with latest dev, same quality settings just the new optimizations and defaults. While it was commonplace to get barely over 60 FPS in many zones, I barely found a spot where it now occasionally hits 69 FPS for just one frame You've truly worked miracles with those optimizations. Didn't imagine even more performance could be squeezed out of the engine by software fixes alone. Haven't tested broadly but they'll be felt on every FM for sure. Thank you lots!
  3. Almost can't believe that's TDM, only recognized a few of the assets. So amazing, can't wait for this to be out!
  4. I tried playing with the obvious things there but nothing seems to work; Adding a "return" at the beginning of those functions can stop the camera from moving at all but that's about it... when the view is engaged the pointer always moves in the background, capturing and holding it in place is what's universally failing. If this is in any way relevant, the pointerMode variable always has a value of 15 both in X11 (working) and Wayland (when the issue occurs). A reminder: When using "GDK_BACKEND=x11" the 2D view at least works well initially but experiences the same issue after selecting the clipper tool (X key by default). Can anyone think of anything only the clipper is doing to the XY window that could be used as a lead to understand what's happening?
  5. Thanks... that's awesome, will gladly keep it in mind. Can't avoid needing a custom script but I cannot complain: I'll likely write a custom map entity for this, can use it to do both storing and triggering based on circumstance. Since I already asked, I kinda had a part two to my question: Is it possible to change AI definitions in realtime, so for minor changes you don't need to register a different AI altogether? Namely the model, skin, head definition, and voice; Can a script replace them? For the body model / skin I think that would work like on func_static, but def_head and def_vocal_set are probably read once on map load and not updated in realtime. It would also break precaching and cause a jitter. Problem is that if I leave the unused AI in a hidden box on the map, it's still loaded in memory and thinks thus wasting CPU. Can I at least delete an entity I don't want safely? The difficulty filter does that, entities not corresponding to a given difficulty are erased... this however is likely decided during loading which wouldn't work here.
  6. Once more something I'm not planning on using right away but was thinking of for an idea I had: Is it possible to have a random value that can be used on maps but global to a campaign so that it's the same on every map? This would be nice so whenever you start a campaign, you can have some things be unique each time. Example: Let's say you have an important character in your campaign, you'll meet this AI on multiple maps. You want to do something special and have the character be either male or female as a 50/50 change. The random choice would be saved when the campaign is started: On maps featuring them you define both the male and female version, but hide both and use a teleport target to only move one to the world area, with the hypothetical entity responsible for checking the random value triggering one teleporter if "chance < 0.5" and the other if "chance >= 0.5".
  7. Does anyone have the latest version of the md5 import / export scripts for Blender, for both importing and exporting md5mesh and md5anim with the latest Blender release? I last attempted to rig a custom character ages ago, the scripts are long unsupported and I couldn't find new ones. Blender is now at version 3.5.1, do we have md5 scripts for that?
  8. Static lights are cached and not recalculated unless either the light or something in its radius move, which technically speaking acts like an internal lightmap. Conventional lightmaps I only see as being useful for bounce lighting, though proper global illumination uses voxels instead... so all in all I think that old lighting technology is better off left dead.
  9. Thanks, glad you liked it! Can't believe this remains the only FM I got to release so far, despite having about a dozen in the works on my drive. IIRC it still needs optimization... I also never used monster clips since at the time I didn't know they were needed, amazing it works so well without them.
  10. Would be a rather ugly hack. Perhaps I'll suggest this on the tracker, if the feature is considered useful enough to bother it shouldn't be hard. Surprised no one's thought of it yet: Most undead FM's seem to take place in an universe where zombies and skeletons are known to exist... but imagine a more "grounded" one where it's so rare it's still considered fairytales by the people, then skeletons appear on the streets and guards are so scared by the unusual they drop their weapons and run instead of doing their job and attacking.
  11. While I'm currently taking a break from TDM mapping and not requiring this yet, it's an option I was thinking of using and would like to know whether it's possible. I was wondering if there's a way to have an AI which another AI that's an enemy to it would be too scared to attack, meaning the weaker AI flees even if armed but only from specific enemies: Can AI have a "scary" value that prevents weaker characters from picking a battle? A simple example: Let's say you have a city watch guard, a thief, and a skeleton... all set as enemies to each other. If the guard and thief see each other, they will start fighting. If however they see the skeleton, they will be so scared they flee as if unarmed instead of attempting any fights at that time.
  12. Submitted a tracker issue so hopefully the team can look for a solution when they have time for it: https://bugs.thedarkmod.com/view.php?id=6290
  13. Thanks for confirming. With s_global it might make sense, I think that means a sound is non-directional like music so reverb would be strange... for globals you may want the sound to absorb it from all areas on the map if anything, a separate spawnarg switch sounds ideal. Most obvious issue is sounds not accounting their trajectory through rooms at all just the position of the camera. The real solution seems like using visportal tracing to absorb the effect from each room the sound passes through: The base calculation is already done to dampen audio based on doors, no idea how easy it would be to extract EFX info during the process then add a bit of each area's effect to a sound based on how many rooms it bounced through.
  14. I wanted to bring this up for a while and am sorry I took so long. As such this thread is based on an old observation, I didn't retest recently but from what I know this limitation still exists with the latest code. If others confirm it and the issue is considered solvable I may post it to the bug tracker as well. EFX for spatial sounds are an amazing addition we had in recent years, however they suffer from a noticeable limitation: Reverb only accounts only for the location of the player and not that of sound. Sounds originating from a place with reverberation will not cause any echo if the player isn't standing in that room... oppositely sounds coming from outside will be heard with the full extent of the reverb effect in the room you're hearing them from, they should be echoing less due to not originating from the reverberating hallway. Example: Let's say there's a Builder church with a large hallway containing a reverb definition, inside there's an ambient sound of chanting. If the player is standing in front of the church door, they will hear the chanting without any kind of echo: Only once they step through the door and walk inside the echo suddenly makes itself heard. In a realistic scenario you'll hear the reverberation of any sound coming from a room that causes it, even if you're standing far outside that room hearing this noise in the distance. The simple solution would be a mixture between the location of the player's camera and that of the sound source: Each sound gets 75% the reverb defined in the room it's originating from, then on top of that all sounds being heard by the player anywhere have 25% the reverb of the room the player's standing in (current functionality). The more realistic but also more complicated option would be to use the portal tracing already implemented for sound attenuation and make each sound pick up reverb from each EFX room it passes through, accounting for the room of origin the room the player's standing in but also the rooms it's passing through; That way a noise emanating on one side of a building and passing through open windows in a corridor to reach the player on the other side would still echo, even if both that sound and the player are located outside in an area without reverb.
  15. We can only dream of TDM engine being re-based on Doom3 BFG, though by now the differences are so big it's likely an impossible task as a whole. At least some parts though I hope can be back-ported if they still fit, their devs helped do some of the work which will hopefully help DarkMod as well!
×
×
  • Create New...