Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue

Recommended Posts

4 hours ago, Obsttorte said:

The default behaviour should be that the ai continues to patrol after the fight has done and it has calmed down (the latter might take a while). If the ai is not resuming the patrol then one possibility is that it may has issues reaching the next path_corner. Are there any warnings/error messages in the console?

I did see one odd message in the console, where there was an error in a path_sit node. Something about there not being enough room? These are revenants taking over the patrols of regular AI guards. Do they have different size requirements? If so that could make sense, though the hallway they are supposed to patrol is quite wide. I turned on the show AI destination command and they're not trying to get somewhere they can't, they're just standing there as if their patrol is finished and they have no more nodes to walk to.

My Fan Missions:

   Series:                                                                           Standalone:

Chronicles of Skulduggery 0: To Catch a Thief                     The Night of Reluctant Benefaction

Chronicles of Skulduggery 1: Pearls and Swine                    Langhorne Lodge

Chronicles of Skulduggery 2: A Precarious Position              

Chronicles of Skulduggery 3: Sacricide

 

 

 

Link to comment
Share on other sites

Possibly a stupid suggestion from a total novice, but can you tie the start patrolling command to the death of the guard the revenant is fighting? I guess this pre-assumes each revenant has a single designated target but it might help you debug whether it's the fighting that messes up the patrol route. Maybe also teleport the dead guards away, just for now, to test if the corpses are blocking the revenants' path somehow. I suggest these things not because I'm a darkradiant expert (far from it) but because I've learned from other projects and map editors for other games that most bugs are because of the dumbest thing you can imagine, not some arcane scripting subtlety.

  • Like 1

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                                                                                                  The House of deLisle                                                                                                  

                              

Link to comment
Share on other sites

8 hours ago, Bienie said:

I did see one odd message in the console, where there was an error in a path_sit node. Something about there not being enough room? These are revenants taking over the patrols of regular AI guards. Do they have different size requirements? If so that could make sense, though the hallway they are supposed to patrol is quite wide. I turned on the show AI destination command and they're not trying to get somewhere they can't, they're just standing there as if their patrol is finished and they have no more nodes to walk to.

The revenants use AAS32, just as any other AI that at some point inherited atdm:ai_humanoid definition at some point. So the spacial requirements should not be any different from other guards. You could try to use a ass32_flood entity to make sure that the AAS is defined for all areas that you have your AIs. However, if there are guards in this area before, the AAS32 should already be defined for these areas. Still, it may be worth a try

  • Like 1
Link to comment
Share on other sites

26 minutes ago, thebigh said:

Possibly a stupid suggestion from a total novice, but can you tie the start patrolling command to the death of the guard the revenant is fighting? I guess this pre-assumes each revenant has a single designated target but it might help you debug whether it's the fighting that messes up the patrol route. Maybe also teleport the dead guards away, just for now, to test if the corpses are blocking the revenants' path somehow. I suggest these things not because I'm a darkradiant expert (far from it) but because I've learned from other projects and map editors for other games that most bugs are because of the dumbest thing you can imagine, not some arcane scripting subtlety.

It's a good idea in theory, but as you hinted at it's more of a brawl between multiple revenants and guards, so I'm not sure that it would help. I suppose what I could try though is set the timer on the changetarget high enough that all fighting should be over when it hits, at least for debugging purposes.

 

7 minutes ago, Destined said:

The revenants use AAS32, just as any other AI that at some point inherited atdm:ai_humanoid definition at some point. So the spacial requirements should not be any different from other guards. You could try to use a ass32_flood entity to make sure that the AAS is defined for all areas that you have your AIs. However, if there are guards in this area before, the AAS32 should already be defined for these areas. Still, it may be worth a try

Ok, well if they use the same AAS system then it's not a pathing issue, since they are using the same nodes as the guards and the guards are fine. The console error could have been an effect of a dead guard blocking the way near to a seating node. Will continue debugging and see if I can solve it or at least narrow it down some more.

My Fan Missions:

   Series:                                                                           Standalone:

Chronicles of Skulduggery 0: To Catch a Thief                     The Night of Reluctant Benefaction

Chronicles of Skulduggery 1: Pearls and Swine                    Langhorne Lodge

Chronicles of Skulduggery 2: A Precarious Position              

Chronicles of Skulduggery 3: Sacricide

 

 

 

Link to comment
Share on other sites

Normally you don't have to set the patrol afterwards, as ai will continue their patrol after the fight has finished and they have calmed down.

 

Maybe try a path_waitfortrigger instead?!

 

Additionally, if the setup is several ai fighting each other and continue their patrol afterwards, I am pretty sure their already is a fm that uses such a setup. I may be wrong, though, but it probably doesn't hurt to check.

  • Like 1

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

On 8/24/2020 at 9:44 AM, Obsttorte said:

Normally you don't have to set the patrol afterwards, as ai will continue their patrol after the fight has finished and they have calmed down.

 

Maybe try a path_waitfortrigger instead?!

 

Additionally, if the setup is several ai fighting each other and continue their patrol afterwards, I am pretty sure their already is a fm that uses such a setup. I may be wrong, though, but it probably doesn't hurt to check.

I've done a bit more observing now and I've made a few discoveries:

 

1. Some cases of broken patrols were due to me not adding the correct "can_unlock" args to the revenants, causing them to not have a clear path to follow their patrols. But this is not the only problem.

2. The console shows a brief message of "GetPointOutsideOfObstacle" (or something similar) failing even on those that have the correct unlocking privileges, this is presumably caused by dead bodies blocking their way, causing them to abandon their patrols, even after moving the body out of the way and proding them with the blackjack. Is there a way around this? Maybe making the revenants able to "piledrive" through dead bodies?

3. Quite often guards and revenants caught in a fight will freeze, their animation mid strike will stop and they will just stand there looking at each other making no sound, like a still frame. Smacking them with the blackjack won't do anything, but once one actor in the fight is killed the others unfreeze and continue. Sometimes their upper bodies are frozen and they are able to run around but not attack. This happens quite frequently, but not with specific AI, it seems to happen at random. Any ideas what this could be and if it's fixable?

If either 2 or 3 is unfixable I will have to rethink the event. Maybe kill all the humans before teleporting in the revenants, and piling them somewhere outside of patrolling areas.

My Fan Missions:

   Series:                                                                           Standalone:

Chronicles of Skulduggery 0: To Catch a Thief                     The Night of Reluctant Benefaction

Chronicles of Skulduggery 1: Pearls and Swine                    Langhorne Lodge

Chronicles of Skulduggery 2: A Precarious Position              

Chronicles of Skulduggery 3: Sacricide

 

 

 

Link to comment
Share on other sites

GetPointOutsideOfObstacle means what you have thought. The direct way is blocked so a way around needs to be calculated. AI is able to kick moveables out of the way, but I guess it is limited by the mass of the object and I don't know whether it applies to ragdolls either. As you have revenants fighting each other, you could also use the death_action_script to remove them if they get killed, similar to how it is done with the demons in Doom 3. (For testing purpose you only need to remove them without any effect).

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Here's 2 quick questions I can't seem to locate answers for:

1) I have a rectangular area that I want to make a "hot zone", so if you linger in it, your health decreases. Think lava, radioactivity, etc. I could imagine entrance/exit triggers and scripting for this, but am unsure that's the best way to go.

2) There's a standard 3-piece safe model, "metal_safe01", that I'd like to use without a lot of effort. It includes a horizontally sliding bar. Can someone point me to an FM that uses that, so I can review <cough>steal<cough> the mechanism that makes it work?

Link to comment
Share on other sites

45 minutes ago, Geep said:

1) I have a rectangular area that I want to make a "hot zone", so if you linger in it, your health decreases. Think lava, radioactivity, etc. I could imagine entrance/exit triggers and scripting for this, but am unsure that's the best way to go.

See https://wiki.thedarkmod.com/index.php?title=Triggers#trigger_hurt.

  • Like 1
Link to comment
Share on other sites

On 8/28/2020 at 8:45 PM, Geep said:

2) There's a standard 3-piece safe model, "metal_safe01", that I'd like to use without a lot of effort. It includes a horizontally sliding bar. Can someone point me to an FM that uses that, so I can review <cough>steal<cough> the mechanism that makes it work?

Isn't that the one that Springheel made specifically for A New Job?

  • Like 1

My Fan Missions:

   Series:                                                                           Standalone:

Chronicles of Skulduggery 0: To Catch a Thief                     The Night of Reluctant Benefaction

Chronicles of Skulduggery 1: Pearls and Swine                    Langhorne Lodge

Chronicles of Skulduggery 2: A Precarious Position              

Chronicles of Skulduggery 3: Sacricide

 

 

 

Link to comment
Share on other sites

How do people go about deciding when to combine models in DR, especially when doing it to lower the entity count in larger maps? I'm particularly curious about:

  • How late into the mapping process you start combining.
  • What happens if you change your mind (do you make a backup copy of the arrangement when you combine models?).
  • Whether you take different approaches when using modular building compared to brush-and-patch style. (My sense is that modular style tends to eat into the entity quota faster, since even a wall without windows, doors, etc. will be composed of models unless the modules are brush-and-patch prefabs that can be reverted to worldspawn, but then enough room clutter in a detail pass can eat into it faster still.)
  • Whether SEED combining is still preferred in any cases.
  • Like 1

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Link to comment
Share on other sites

I was exploring the files and found an alternative 'sword' model. Looks really cool. has this been used in any FMs? seems to work just fine, all I had to do was rename it to broadsword.md5mesh and drop it in my FM. Makes sword noises, but its not a huge issue. I'll have to look for a way to change the inventory icon and name later.

spiked club.jpg

Link to comment
Share on other sites

You can change everything you need in the def-file '"tdm_weapon_shortsword.def" (including the model used) and drop this into your FM-folder. This way, you can use another weapon without having to rename the model file. If you're lucky, there is also already a soundshader that includes all the sounds for this weapon. That way you would only have to change the spawnarg "snd_bounce" and would not have to define the hitting sound for each material.

Link to comment
Share on other sites

On 9/1/2020 at 10:51 PM, VanishedOne said:

How do people go about deciding when to combine models in DR, especially when doing it to lower the entity count in larger maps? I'm particularly curious about:

  • How late into the mapping process you start combining.
  • What happens if you change your mind (do you make a backup copy of the arrangement when you combine models?).
  • Whether you take different approaches when using modular building compared to brush-and-patch style. (My sense is that modular style tends to eat into the entity quota faster, since even a wall without windows, doors, etc. will be composed of models unless the modules are brush-and-patch prefabs that can be reverted to worldspawn, but then enough room clutter in a detail pass can eat into it faster still.)
  • Whether SEED combining is still preferred in any cases.

 

1. During development of HHI I did not know how to do that. Since the following HHVF was planned much smaller (I think the release version did not include more than 4,000 entities), I did not consider combining entities as dmap still was possible in acceptable times on my machine. In HHTLC I started combining entities when reaching ca. 7,000 entities. At that time, almost everything was finished and I did not add more than ca. 150 entites after that.

2. I save new revisions every 20 - 30 minutes and mark every revision to understand what I combined in there. This approach allows you at least to retrieve certain items during a later stage in case something went wrong or a module needs changes. In HHTLC most of the piping stuff in the logistics building and below the lake has been merged into new entities each consisting of ca. 10 - 20 source entities.

3. This depends on the nature of the architecture. For warehouses, building facades and mansion interiors (just to name a few) there are lots of core assets as you know, but there is not really something suitable for, let's say, an underwater station as I included in HHTLC. Thus I used in my last mission brushes for most of the stuff below the lake. Apart from that, there is the question whether certain modules should allow access into a single room or an entire building. I had lots of entry points in HHVF and thus did not use Springheels exterior modules, but used brushes with the respective exterior textures in order to receive snapped surfaces even with modules including windows/door frames for building access.

4. The thought crossed my mind as well. When reaching 7,200+ entities in HHI, I tried to SEED certain entities as I learned from your map "Into the Black". Did not work on my end: after seeding only a small amount of identical entities (ten or so) I was not able to dmap anymore (=dmap never completed). I ended up deleting ca. 300 or 400 entitiy modules and replaced them with brush modules merging those then into func_statics. I guess SEED should be used long before the critical value of 7,000 entities (that is, 7,200 on my machine) has been reached?

I once tried SEED for grass as described in the Wiki. As far as I recall it worked pretty well, but had a dramatic impact on fps. Don't know why: the "SEEDED" grass area was quite small, but maybe the rest of the area was too large in general. On the other hand, I do not really know how to apply SEED properly as I never completely understood the explanations in the Wiki.

Hm...don't know if this is helpful. :(

Jack

  • Thanks 1
Link to comment
Share on other sites

Thanks. I hadn't encountered the dmap problem, and unfortunately I think Tels created SEED and he isn't around any more. Maybe it's similar to the problem in SteveL's inlining experiment:

On 11/25/2014 at 9:26 PM, SteveL said:
  • It seems a lot of dmap techniques do a check-everything-against-everything-else routine, so if you double the number of something you end up with 4x or 16x times the work. Visportals seem a good complexity reducer and a lot of the calculations happen within one leaf only.

Combining models became available in DR fairly late in ITB's development, otherwise I expect I'd have used it instead of SEED for the nails on drainpipes. I did use DR to combine the stacks of scrolls in the office, which had previously used SEED to combine them at runtime (causing a moment of poor framerate after map load, as I recall). I think I'd already reduced their numbers to fit in the entity limit, though (they also went through a phase of being inlined); combining models in ITB was more about reducing the draw calls.

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Link to comment
Share on other sites

Could some please clarify for me what I am doing wrong here? My goal is to attach custom sound files to some global speakers to be used as internal monologue voiceovers.

I can get my test .ogg to show up and play within DR but not in game.

I have tried simply attaching it to a speaker with and without looping. I have tried putting a global and waitfortigger  spawnarg with a trigger once entity that targets the speaker. No dice.

The latter seems to be the set up I need for an internal thought you hear but no other ai in the map will hear, but what am I missing??

I feel it is pertinent to note, this is my last goal before I drop beta on my first FM. Once I nail this down, it should just be rinse and repeat the process for my 9 samples then I can enter the next phase.

Please help, my Map is a year old and needs more people to play it beyond my small (but dedicated) group of alpha testers.

A million thanks in advance.

-Jedi

Edit: working on a updated .pk4 for any interested parties; I’ve got one volunteer already. Love this community, that took what ten minutes?

Edited by Jedi_Wannabe

As my father used to say, "A grenade a day, keeps the enemy at bay!"

My one FM so far: Paying the Bills: 0 - Moving Day

Link to comment
Share on other sites

25 minutes ago, Jedi_Wannabe said:

Could some please clarify for me what I am doing wrong here? My goal is to attach custom sound files to some global speakers to be used as internal monologue voiceovers.

I can get my test .ogg to show up and play within DR but not in game.

I have tried simply attaching it to a speaker with and without looping. I have tried putting a global and waitfortigger  spawnarg with a trigger once entity that targets the speaker. No dice.

The latter seems to be the set up I need for an internal thought you hear but no other ai in the map will hear, but what am I missing??

I feel it is pertinent to note, this is my last goal before I drop beta on my first FM. Once I nail this down, it should just be rinse and repeat the process for my 9 samples then I can enter the next phase.

Please help, my Map is a year old and needs more people to play it beyond my small (but dedicated) group of alpha testers.

A million thanks in advance.

-Jedi

Edit: working on a updated .pk4 for any interested parties; I’ve got one volunteer already. Love this community, that took what ten minutes?

do you use sampling rate 44.100?

check the console when the .ogg should be played. It might display that the sampling rate of the .ogg file is 48100 or so.

Link to comment
Share on other sites

According to to Studio 1 (the program where I originally recorded them) yes as well as in Audacity ( which I test in and it played fine, I’m starting the switch to audacity henceforth) so they both export it at 44100 and play fine within both those as well as DR.

Edit: an update; kingsal has figured out the culprit, a space in a file name. I should have it all implemented and resolved tonight or tomorrow.

 

Edited by Jedi_Wannabe

As my father used to say, "A grenade a day, keeps the enemy at bay!"

My one FM so far: Paying the Bills: 0 - Moving Day

Link to comment
Share on other sites

I've got the old noblewoman working in my WIP, but it's evidently the first version that Bob Neon created. There was a later "Edit 2", wrinkles much improved, referenced here:

But following the link to that Google Photos page, the photos appear corrupted, or at least I can't gather them. Does anyone have another source for the diffuse & bump maps? The forum discussion suggested Penny Dreadful 3 - Erasing the Trail might eventually use this AI, but it didn't.

Link to comment
Share on other sites

  • 4 weeks later...

Sounds like exactly the job for a particle effect, at least for the moths. If you do a kind of moving particle cloud of them, it'll look random enough.

For the bats, I don't think they'd circle a light so much as swoop around. And for that I think you'd use animated models on nurb curves and trigger different ones randomly to get your randomization.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • The Black Arrow

      Hope everyone has the blessing of undying motivation for "The Dark Mod 15th Anniversary Contest". Can't wait to see the many magnificent missions you all may have planned. Good luck, with an Ace!
      · 0 replies
    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 2 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
×
×
  • Create New...