Jump to content
johnnyboy

JBOY Ambient AI Interaction Framework

Recommended Posts

JBOY Ambient AI Interaction Framework

This script framework makes it super easy for mission maker to make bases, villages, market places come alive with ambient AI activity.  The video is long so feel free to play it at 2x speed to get the gist.  I think this is the most useful thing I've created for ARMA...

Download sample missions:

Highly Recommended you use Polpox mods to see more fun animations and mimic expressions (but not required)

Polpox Artwork Supporter and Polpox Base Functions

 

Features:

  • Create new activity areas by copying sample market center, trigger and destination objects and pasting them into your mission (in Editor).  
  • Copy and paste as many "seller" units as you want.  Sellers will stay in place and wait for "shopper" units to arrive and interact with.
  • Copy and past as many "shopper" units as you want.  Shoppers will randomly move from destination to destination and perform activity specific to the destination.
  • Destination activities supported so far:
    • Go to destination and chat with nearby unit(s)
    • Sit in chairs and chat
    • BBQ merchant interaction
    • Gun merchant interaction
    • Take a shower (Prairie Fire specific)
    • Use latrine
    • Pee outside
    • Target practice at shooting range
    • Bayonet and melee practice on hanging meat
    • Exercise (kneed bends and pushups)
    • Marital arts kata
    • Repair vehicle tire
    • Repair under vehicle
    • Use modern outhouse/portalets
    • Toss garbage in barrel
  • Ambient conversation occurs using in-game voice files, and language specific (i.e., english, french, chinese, etc.)
  • Units' simulation is enabled/disabled by player presence in trigger area.  So FPS only affected when player near.
  • Very extensible:  its fairly easy for a scripter to create new activities and add to the framework.

How to populate your own area with ambient activity.

Spoiler
  • Will add detail instructions soon

 

How to code new activities and add to framework:

Spoiler
  • Will add details soonish...

 

Credits:

  • @M1ke_SK for super cool Leak script.
  • Savage Game Design for awesome Prairie Fire DLC (I'm using their objects, melee gestures, voice files, and waterfall script for the shower).  If you haven't bought Prairie Fire, you should!
  • @POLPOX for his brilliant Gestures and Mimics
  • Like 20
  • Thanks 3

Share this post


Link to post
Share on other sites

Johnny has released The Kraken!!!

 

I love this stuff - best village immersion yet

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, froggyluv said:

Johnny has released The Kraken!!!

 

I love this stuff - best village immersion yet

Thanks Frogman.  It's been improved since your sneak preview, so you might want to grab the latest from above.  Improvements include a few more activities, market returning to normal after a no-death cooldown period, and player present triggers that enable/disable simulation on all shoppers/sellers to reduce fps when no player near.

Share this post


Link to post
Share on other sites

I liked the haggler "scenes" the most, nice creativity JB

  • Thanks 1

Share this post


Link to post
Share on other sites

That was badass Johnny,  i'll be adding this to my AI compilation list for the next update, nice work!

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Looking great! Really useful stuff!

 

But I must ask about the elephant in the mission. How's the MP-compatibility? 😋

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, mrcurry said:

But I must ask about the elephant in the mission. How's the MP-compatibility? 😋

Thanks man.  MP untested.  It is set up to run on server and animations and gestures are all remoteExeced.  I'm hoping someone will test and report back.

 

I doubt you want to activate a big market in Saigon and run a large coop battle in Saigon at same time.  But I think a small village market could be active at same time.  Or a base could be very active at start of COOP mission because the rest of the enemy AI set up for the mission will not be activated until COOP players leave base, at which point base ambient activity would be deactivated.

Share this post


Link to post
Share on other sites

Is the Polpox mods capable of being run server side only or does every client need to run them? This really adds great immersive play to Arma

Share this post


Link to post
Share on other sites
33 minutes ago, [xdf]banksy said:

Is the Polpox mods capable of being run server side only or does every client need to run them? This really adds great immersive play to Arma

I really don't know, but my guess is client-side, because POLPOX mods don't run in MP.  When you have the mods active and try and play a MP mission, you get a big disclaimer window popup from POLPOX at mission start saying they don't work in MP (but you can still play the MP mission).   For my scripts, if you don't have POLPOX mod running the scripts do not fail, but you don't see the cool animations/mimics.

 

I'm very disappointed in BIS for not hiring Polpox, or just buying these gestures and mimics from POLPOX and putting them in vanilla.  They add so much immersion value, and I'd guess it wouldn't cost BIS much.

  • Like 1

Share this post


Link to post
Share on other sites
15 hours ago, johnnyboy said:

  I'm hoping someone will test and report back.

 

Hmm I'll see what I can do, I'm working on a dynamic AirCav-focused mission, having villages seem "alive" as players patrol through them would certainly up the ante.

 

I haven't had time to take a proper look at the code yet but is there an alternate execution which relies on given set of arrays for the shoppers, sellers and destinations etc instead of doing the varname search?

Share this post


Link to post
Share on other sites
7 hours ago, mrcurry said:

I haven't had time to take a proper look at the code yet but is there an alternate execution which relies on given set of arrays for the shoppers, sellers and destinations etc instead of doing the varname search?

Not currently.  It's not a difficult modification to make though.

Share this post


Link to post
Share on other sites

This is incredible. It's unbelievable how limitless Arma is when you have the skills to manipulate it properly.

  • Thanks 1

Share this post


Link to post
Share on other sites
7 hours ago, omri2050 said:

Hey @JhonnyBoy
Made a short SP mission and used your Framework
https://steamcommunity.com/sharedfiles/filedetails/?id=2680984223

 

Will definitely use it more, make all much more alive

Waiting for the other features :))

 

That's great!  Thanks much for posting the link. I look forward to trying your mission!

  • Like 1

Share this post


Link to post
Share on other sites

Hey @johnnyboy

What's up?!

 

Question regarding FPS:
I want to make a mission for my group (~10-15 ppl) where they are going to save a hostage in a town (Western Sahara)

 

Your script could very much make everything more alive..

Any experience on how the performance is in such cases? Did you try and play it in a coop?

Basically, Western Sahara map is not big and not full of assets 

Share this post


Link to post
Share on other sites
5 hours ago, omri2050 said:

Any experience on how the performance is in such cases? Did you try and play it in a coop?

Sorry mate, this is untested in coop, so I don't know.  One plus is that units in the "market" area have simulation disabled and aren't enabled until a player unit is within a specified range.  I also made sure that all animations are played using remoteExec.   But it needs MP testing to know for sure if it works there.

Share this post


Link to post
Share on other sites
1 hour ago, johnnyboy said:

Sorry mate, this is untested in coop, so I don't know.  One plus is that units in the "market" area have simulation disabled and aren't enabled until a player unit is within a specified range.  I also made sure that all animations are played using remoteExec.   But it needs MP testing to know for sure if it works there.

No worries. 
I'll try something in the near future with my buds and let you know how it was

 

Thanks man 

  • Thanks 1

Share this post


Link to post
Share on other sites

Haai Jboy....it's me again 😁

 

another day, another "problem" 

 

I took the Stratis template, copied the tool stall, dumpster, car, toilet booth, barrel, convo point and table with 6 chairs, a few of the civilians and copied a few names of the soldiers to paste in east soldiers on my map. 

Plus trigger and market sphere. Then i changed the civilians to Vietnamese and transferred all the files to my map folder + added into my own init.

 

Stuff initializes, i can see the arrows disappear after a few seconds (it's a big init lol), but the peeps don't move. The chair merchant doesn't sit as well, so i'm thinking something got stuck somewhere.

 

Was wondering if i have to take it all (all civvies, soldiers and vehicles) from your example or if i screwed something up by changing vanilla civvies to Vietnamese considering you have another example covering them specifically. 

Would it help if i moved the precompiled bits on the top of the init, they're at the bottom now?

 

Thanks for any insight. 🍻

 

Edit: nevermind, i put myself outside of the trigger, walked in and they started doing their things. 

Was testing from inside, like in the example mission. No clue why it's happening this way, but, i'm intending to walk into the trigger anyway, so all good.  

 

:thumb_down:

 

1JnsxHQ.jpg

 

 

 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, Rok Stuhne said:

Edit: nevermind, i put myself outside of the trigger, walked in and they started doing their things. 

Was testing from inside, like in the example mission. No clue why it's happening this way, but, i'm intending to walk into the trigger anyway, so all good.  

 

Glad I could help, haha.  And its cool to see my boys enjoying the beach!

 

The intention is any given market area won't be active unless a player is within the trigger area.  That area can be as big as you want to make it.  But since this activity takes up resources, they should only be active if a player near to see it.

  • Like 1

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

×