Jump to content
Sign in to follow this  
Wolfrug

Wolfrug's Dynamic Sound AI (RUG DSAI)

Recommended Posts

Sounds good dude, shame about the addon dependancy but if it's the only way it's the only way smile_o.gif

Share this post


Link to post
Share on other sites

These scripts are fun.

They can also be quite funny. I was setting up a defensive perimiter with around 60 SLA. I fired it up just to make sure their positioning was correct and I hear 60 guys, coughing, burping and joking all at the same time. It was kind of like 60 guys with influenza just finished eating a large meal.

cough cough, burp, ha ha, burp, cough...

hysterical.

Share this post


Link to post
Share on other sites

@nubbin

Heehe. I guess I should move the random Sleep between cycles to the -front- of the script instead of the end so that everyone doesn't play their burp sounds right at the start. biggrin_o.gif

Also, obviously, if you don't like burps and coughs you can edit them out of the DSAI_Generic.sqf ^-^ Or you can make the RUG_DSAI_CycleTime longer (for instance 10) to make the sounds a bit less common: cycletime is relative, so battle shouts are still more common than stuff said while safe (you can change those things too, but then you need to go into the scripts).

Anyway: I'm in the middle of moving, but I hopefully will have time later in the week latest to continue finalizing the addons!

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

LOL I just need some fart sounds added and it will be like my old frat house days.

rofl.gif

Share this post


Link to post
Share on other sites

Still waiting for an addon version of your DSAI Wolfrug...

noticed a few things:

- AI talks too much...I mean some wounded soldiers repeat medico, un medico all 5-7 seconds...

- the arab voices are definitely too loud, I can hear that like if they stood right aside me but they're 100m away, it's disturbing...

- Yes the coughing and rulping, when safe is exaggerated

Overall it's coming along good, but make the AI talk less, but more precisely and fitting to the situation.

A very good example for that is the DSAI system XAM uses!

Share this post


Link to post
Share on other sites

Addon version is....hrm....well, I could make a quick and dirty version which would work in very little time, or I could make a proper modular system which lets anyone add new languages and such with a minimum amount of effort. Which is going to take a while though, since I'm learning all this stuff as we speak.

As a note though, the DSAI addon is going to require Extended Init Eventhandlers in anywhich case. Just as a FYI.

@Kroky

-Coughing and burping: Yeep...I'll add some more delay to these for the addon version. But if you're using the scripts, it's an easy enough matter to edit the Sleep times in the DSAI_GenericCheck.sqf script smile_o.gif

-Arab voices: Can you be more specific? In what situation and how often were they heard "as if they were right next to you"? This is an issue I noticed when I had accidentally converted some of the original .wav files into stereo instead of mono, which made their voices carry too far (and made the ArmA sound occlusion not work). It's not impossible I somehow managed to miss some of the sounds. However, if it happens with -all- the sounds then the problem is on your end. Try disabling/enabling EAX for starters.

-AI talking to much: that's what the RUG_CycleTime is for! biggrin_o.gif Just increase it until you feel the chat is on a proper level. Although the problem with "medico, medico!" is a curious one I've noticed too. I really have no idea why it happens: it should be quite impossible for it to repeat the sound more often than once every cycle. huh.gif I'll look into it, though. Mwrgh, embedded loops...

And the AI -does- talk fairly precisely and situation-specifically, in fact. Very much more so than ECP, for one thing. If I had an endless amount of sounds, I could keep adding scripts indefinitely ("Ooh, it's windy today -> let's add a script that checks for weather conditions!"), but you gotta draw the line somewhere. smile_o.gif

Haven't tried XAM's DSAI. smile_o.gif

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

I would take the quick full pack for now and if you release a module version later i probaly use that one.

Its one of the things ArmA needs now especially as the CWR demo will be out soon ( at least it seems so ) and together with soem decent speech addon it would totally rock.

Share this post


Link to post
Share on other sites

Wolfrug's Dynamic Sound AI (DSAI): Self-initializing Addon version

Version: 0.4 BETA

Required: Solus' Extended Init Eventhandlers, "core" RUG_DSAI.pbo addon

By: Wolfrug (www.ofpec.com)

Based on RUG DSAI scripts, check that topic for closer info (or on BIS forums just check first page). Any beta-testing reports much appreciated. biggrin_o.gif

Mirror 1: Filefront

Mirror 2: ArmaHolic

Installation: Just extract the .pbo files into your desired mod folder. Remember you have to have Solus' Extended Init Eventhandlers loaded as well!

The languages are distributed according to Side. Each language can have two potential sides (primary & secondary), decided in the config.cpp. Currently, the sides are:

RUG_DSAI: {"WEST", "GUER"}

RUG_DSAIArab: {"GUER", "EAST"}

RUG_DSAIRUS: {"EAST", "EAST"}

RUG_DSAISPA: {"EAST", "GUER"}

The script that decides the ordering is still very much unfinished, however you shouldn't in most cases need or want more than the default (English) voices and maybe one other voice for OPFOR/Guer. Possible entries for the sides are "WEST" (= Blufor), "EAST" (= Opfor), "GUER" (= Independent), "CIV (= Civilian). Note that the civilian side is not yet fully implemented (for instance it might pick up empty vehicles and static objects which are considered civilian), and I'm still building a voice pack for them, however in -theory- it should also work to give civvies voices smile_o.gif

These global variables are created and used:

RUG_DSAI_SideWest

RUG_DSAI_SideEast

RUG_DSAI_SideGuer

RUG_DSAI_SideCiv

Values = string version of the name of the pbo used. For instance RUG_DSAI_SideWest = "RUG_DSAIArab" will make all West side units use the Arab sounds. This can be decided by the mission maker in the init.sqs, or by a server admin using for instance Doolittle's little widget. Note: Has to be done on init, if it's changed any other time the groups who have already received certain languages will continue using them. If you don't want a side to use a language at all, just set the variable to for instance "";

RUG_DSAI_AllowMP : true or false. False by default. Used to allow sounds used in MP, can be set by mission maker or server admin.

Furthermore, the scripts have the following default globals:

RUG_DSAI_TerminalDistance

RUG_DSAI_CycleTime

TerminalDistance is the distance at which the scripts stop running (default : 700). Making it 0 will effectively pause the scripts. Making it -1 will stop all scripts (except the eventhandler, sadly). Can only be set by missionmaker or server admin. Can be changed on the fly.

CycleTime is a relative time that certain sounds cycle (default : 10). Play around with it as you see fit. smile_o.gif Can only be set by mission maker or server admin. Can be changed on the fly.

Disclaimer: Not really meant for MP use!!! I cannot stress this enough. Shouldn't explode anything, but I have no idea how it really works there. Mostly meant for SP use. The scripts are in BETA, and might have some bugs in them. Have no idea about server loads and the like. In short: I am in no way responsible for if this addon blows your computer up. Also, BIS is in no way affiliated with this addon nor its contents (well, except for the English sounds used and the engine, of course wink_o.gif

All questions should be directed to the pertinent topics at OFPEC or the BIS forums. smile_o.gif

-Wolfrug

Share this post


Link to post
Share on other sites

W O W!

As self initializing addon. That's just great!!

PS. I'm away testing it!

EDIT:

Ok little update. It doesn't work with XAM. but this is XAM's mistake they don't support Extended Init Event Handlers. Right now I dont understand why sometimes the east units are using the Russian and sometimes the Spanish language.

I'll do some more testing.

But overall, it's a great addon.  yay.gif

One suggestion to improve it:

- Add more variety to the shoutings when in combat. It's too repetitive atm. (i.e. enemy in sight is extremeley repetitive)

EDIT2:

After playing awhile in the mission delivery boy I got this error message:

Script RUG_DSAI\RUG_DSAI\RUG_DSAI\RUG_DSAI_Misc.sqf not found

any idea?

Share this post


Link to post
Share on other sites

Most naughty bug:

I already had two CTD when using RUG_DSAI.

will check out the .rpt file

Share this post


Link to post
Share on other sites

Man this is very cool. Reminds me of the the old ofp ecp. Excellent! The only problem i found so far is when enemy units are approx 100metres or so away you can here them talking.

I've not had any CTD's thats with using about 10+ mods. ArmA is getting better by the day thanks to the dedication of all you excellent scripters and modders.

Can't wait for future updates. wink_o.gif

Share this post


Link to post
Share on other sites

Regarding error message: sad_o.gif Minor bug that slipped in in the conversion from normal scripts to addon version. I thought I had fixed it but apparently not. Anyway, it only affects one part of it (shouting while shooting/throwing grenades), but I'll fix it up for the next version.

Spanish/Russian sounds: that's more or less a matter for you to decide which you prefer. You don't have to have all of them inside your addons folder at the same time, and if you've read the readme it tells you that the Spanish and Russian voices both compete for the "East" slot, so it's just luck of the draw which one is loaded first. tounge2.gif

Suggestion: remove either RUG_DSAIRUS.pbo or RUG_DSAISPA.pbo from your addons folder depending on what language you prefer.

Variety to shouting: The "combat" voices for West are voices found in sounds.pbo/missions/ which came with the game. There're a couple of hundred of them, and I've used almost all of 'em for this addon: from the perspective of default voices, there really isn't that much left to use smile_o.gif However, I'll probably add both a west and russian voice pack soonish that should be considerably more varied. smile_o.gif

CTDs: confused_o.gif Oh dear. Not sure what it might be caused by: I have a theory it might be the one Fired eventhandler I'm using, at least that's the only thing firing enough times in a short while to be liable to cause any kind of CTD. Do the CTDs happen in intense firefights when there're lots of bullets flying around? If so, the fired eventhandler might be the problem. smile_o.gif I'll look into it.

@Everyone else: This system IS pretty modular. If you want to create your own voice packs, you're more than free to. You do have to have a basic knowledge of scripting and addon-making though, but if you just copy the way my current addon packs are set-up, you should be able to hack it. smile_o.gif I'll write up a short tutorial on how to do it with my next release, whenever that may be.

Thanks for testing!

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Awesome wolfrug. Can't wait to get this on my server this weekend. I'll get you some feedback for how it works in MP on a dedi server over the weekend.

Top work, cheers!

Share this post


Link to post
Share on other sites

@Shins

Cool. Note that the addon isn't signed (yet) so anyone can pretty much change stuff in it (don't, please), but I'll fix that sometime in the future.

Also, all you need to do to make it "work" in MP is to put

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">RUG_DSAI_AllowMP = true

Somewhere into Doolittle's little widget, and the addon will be "unlocked" for anyone who has it installed. smile_o.gif

If you prefer certain sounds to others, you can also go about deciding which should be used where. For instance.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">RUG_DSAI_SideEast = "RUG_DSAIRUS"

RUG_DSAI_SideGuer = "RUG_DSAI"

Would make all independent forces use the default English voices, and all OPFOR forces use the russian ones (if your users haven't got the russian voices loaded, they wouldn't hear a thing of course). Since different people might have different preferences, there's no saying that everyone would even hear the same language from the OFPOR wink_o.gif

Also: I'm working on the possible CTD issue, I'll have to gather some more data first, but the only culprit I can imagine is the "Fired" eventhandler. The "fired" eventhandler is only used by RUG_DSAI and RUG_DSAIArab. Now, since most Coop missions have -only- human players on the west side anyway, the default west voices aren't really needed. So if people are complaining, you can add this to wherever:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">RUG_DSAI_SideWest = "NONE";

RUG_DSAI_SideEast = "NONE";

if (isClass (configFile >> "CfgPatches" >> "RUG_DSAIRUS")) then {RUG_DSAI_SideEast = "RUG_DSAIRUS";

if (isClass (configFile >> "CfgPatches" >> "RUG_DSAISPA")) then {RUG_DSAI_SideEast = "RUG_DSAISPA";

(small edit to make the RUG_DSAI_SideEast null unless the two allowed language packs are present)

What the above would do is entirely disable SideWest, while checking the configs for RUS and SPA: in this case if both were loaded then SPA would be the one that would be used (since it's after RUS, just change the order as you wish ^^).

Hopefully that'll be enough help for now! Please do tell me how things worked out. smile_o.gif

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Wolfrug, you have done it again! I have tested this in several missions and it is working great. I do look forward to more voice packs - they will make an already great addon even better!

Your choices for default cutoff distance and sound intervals are also an improvement over .3

Great job!!

Share this post


Link to post
Share on other sites

Great news, downloading now and hopefully i can enjoy it in a few hours at home biggrin_o.gif

Share this post


Link to post
Share on other sites

very good job, wolfrug! i have tested it also in several mpmissions e.g. crcti, domination or evolution. works perfectly.

thanks from GER!

Share this post


Link to post
Share on other sites

@luemmel

Umm, did it work even without setting the RUG_DSAI_AllowMP variable to true? crazy_o.gif If so, I've screwed something up between versions again.

on the other hand if you're a server admin and you've made it work that, way, then I'm glad. biggrin_o.gif

@All

I've found some minor typo-style errors in some scripts here and there. I've also resolved to use a slightly different method for the Fired eventhandler code, which hopefully will lower performance/CTD issues even more. smile_o.gif If anyone else gets for instance "Script not found" styled errors, please post the error message and I'll fix it in the next version! biggrin_o.gif

Share this post


Link to post
Share on other sites

@Wolfrug

Another update after some more testing:

- Thanks for the suggestion to use DSAI_RUS or DSAI_SPA

now when not using DSAI_SPA the SLA only uses russian

voices.

- Noticed a pretty much lag when a lot is going on. Surprisingly when using XAM (which also has a DSAI included)

the lag is much less. Any idea?

- CTD is very random. Sometimes I get it during intense firefights, sometimes I don't get it at all. sad_o.gif the .rpt file doesn't tell much. This is really bothering me, since I only get CTD with your addon enabled...

- Definitely work on hearing distance. A lot of sound are hearable in a not realistic distance. Some coughing, shouting and so on is still very good hearable in a distance of 100 - 150m+. That's too much imho.

- Definitely add some variety to the voices and make them occur less often (repetitive). i.e. "enemy in sight" is annoying, when an AI spots an enemy I hear this sentence for about 5-6 times.

- Please try once XAM with their DSAI I you will understand what I mean

But overall: Keep this mod going on. It's an key addon for ArmA!!

Share this post


Link to post
Share on other sites
@luemmel

Umm, did it work even without setting the RUG_DSAI_AllowMP variable to true?  crazy_o.gif If so, I've screwed something up between versions again.

on the other hand if you're a server admin and you've made it work that, way, then I'm glad.  biggrin_o.gif

yes, i am a server admin. i have added your addons to server and this code into the mission init.sqs

RUG_DSAI_TerminalDistance = 700;

RUG_DSAI_CycleTime = 10;

RUG_DSAI_AllowMP = true;

thats all and it works.

Share this post


Link to post
Share on other sites
- CTD is very random. Sometimes I get it during intense firefights, sometimes I don't get it at all. sad_o.gif the .rpt file doesn't tell much. This is really bothering me, since I only get CTD with your addon enabled...

CTD: sad_o.gif Well, if you're saving/loading, it might be due to the overload of Global Vars bug as well: My addon adds a good 7 or so global vars to each mission, which might cause the savegame bug. This should be fixed in 1.09 though (the savegame bug, that is).

Quote[/b] ]- Definitely work on hearing distance. A lot of sound are hearable in a not realistic distance. Some coughing, shouting and so on is still very good hearable in a distance of 100 - 150m+. That's too much imho.

Is this with ALL languages or just certain? IMHO Spanish and Russian voices at least are practically inaudible in most cases, whereas the Arab voices are particularly vocal a lot of the time. I think this is because they're simply louder...or something. crazy_o.gif I'll try lowering their db though!

Quote[/b] ]- Definitely add some variety to the voices and make them occur less often (repetitive). i.e. "enemy in sight" is annoying, when an AI spots an enemy I hear this sentence for about 5-6 times.

Hmm. That's weird. Each array of units (or in the case of the self-initializing addon, each group) cycles once every 10-15 seconds from the first shout of "contact!". Therefore it should be impossible for them to shout it more than once. Unless of course you've got many small groups of two people or slightly more, in which case each individual group will shout. Also there are 6 distinct sounds for "contact", not just the one "enemy in sight".

As to less repetetive: I'll probably add a whole bunch of new English-language sounds in the future soon; however finding specific sounds (such as "contact!" or "under fire!") isn't as easy as it seems. If you know of any such sounds, feel free to contact me/make your own language pack ^^

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

The only repetetive samples i noticed were the coughing and burps.

On one occasion when i ejected my harrier a split second before it crashed into the sea and somehow died (normally u survive such stunts and must be lucky to get killed in teh process lol) .. and just when the "You are dead" screen showed up all the voices were being played at one time over and over again. Because of that i now know how it must´ve been like with the tower of babel biggrin_o.gif

Recorded a small mission using DSAI. The normal ArmA AI chatter is disabled so you can be sure it´s DSAI everytime someone speaks.

(unfortunately the Airstrike wasn´t follwed by a "eat that - bastards!" on this run, but it happens)

Other Mods used: Maddmatts FX & NIM Weather plus var. replacements & soundmods.

PS: Love your work Wolfrug, keep it up! thumbs-up.gif

Share this post


Link to post
Share on other sites

@Mr Burns

what addon/mod was that for the airstrike?

Share this post


Link to post
Share on other sites
The only repetetive samples i noticed were the coughing and burps.

On one occasion when i ejected my harrier a split second before it crashed into the sea and somehow died (normally u survive such stunts and must be lucky to get killed in teh process lol) .. and just when the "You are dead" screen showed up all the voices were being played at one time over and over again. Because of that i now know how it must´ve been like with the tower of babel biggrin_o.gif

Recorded a small mission using DSAI. The normal ArmA AI chatter is disabled so you can be sure it´s DSAI everytime someone speaks.

(unfortunately the Airstrike wasn´t follwed by a "eat that - bastards!" on this run, but it happens)

Other Mods used: Maddmatts FX & NIM Weather plus var. replacements & soundmods.

PS: Love your work Wolfrug, keep it up! thumbs-up.gif

Voices being played while dead: Yes >_> This is an ArmA bug: whenever the camera is outside of the player, i.e. in a cutscene, ANYTHING that is played using "Say" is transmitted to everywhere on the island. huh.gif It really is rather annoying, but if you've got cutscenes that are using DSAI, you just have to temporarily pause it (RUG_TerminalDistance = 0) for the duration of it. sad_o.gif

Thanks for the video! I'll just link that to my first post so people can check it out. biggrin_o.gif

Glad you're enjoying it!

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×