Jump to content

Recommended Posts

JBOY AI Scripted PathAlpha 2 Updated 6/24/19.   This script moves AI quickly through a path of positions while fighting.  In this video we see a stack of 4 units clear a house, breach doors, and dynamically fight.  Also this script can be used to create moving AI on static structures that have no AI paths (like new destroyer, Cargo Ship Mods, Oil Rig compositions). For example:  It's now possible to have AI defenders patrolling an Oil Rig, or AI attackers assault an Oil Rig.

 

Above video credits:  @beno_83au for breaching chard script, and RHS for pump shotgun.

Flashbangs:

Thank Phronk for flashbang.

Player orders teams to execute different paths, and orders a synchronized breaching by two teams:

Download Demo Mission: Dropbox Link (updated 6/24/19) Use this version to create your own path following my "how to" video.

Older videos:

Spoiler

Features added 6/24/2019:

  • Flashbangs (thanks Phronk)
  • Improved grenade and flashbang throwing accuracy
  • Player controlled team can execute paths for teams to follow (i.e., order team to sweep building)
    • AI will stack up outside entry and wait for Go order. This allows synchronized breaches of a building with more than one team.

Features working so far:

  • AI moves through series of hardcoded positions recorded in an array.
  • @beno_83au's awesome door breaching
  • Shotgun door breaching.  Aims exactly at door jamb where handle is.
  • Multiple stacks can execute multiple paths simultaneously
  • Supports 1 to 4 units running through movepoints
  • Lead unit uses hand gestures and in-game voice file to command team
  • Leader tosses grenades into rooms or up stairs (and followers take cover)
  • If unit clips and falls off balcony, he is killed so does not ruin entire teams moves
  • AI can fire while moving
  • AI will stop before doors and open them.
  • AI plays animation to test if door is locked, and you see door handle animated, and hear custom locked door jiggle sound.
  • AI resumes ai behaviour and waypoints after successfully executing a move script

Planned:

Spoiler
  • Make video showing how to create your own building path
  • Collude with @madrussian to integrate his node generator
  • Integrate with @sarogahtyp's path calculate script
  • AI interacts with hostages (get down!)
  • AI climb ladder
  • Integrate Phronk's flash bangs.
  • AI move from window to window to cover/observe outside building
  • AI domestic activity in house (move around house, light fire in fire place, turn on/off lights, sit in chair, use toilet,  use computer, watch TV)
  • Suggestions?

Known Issues:

Spoiler
  • Units occasionally clip thru walls, or clip thru railings and fall.
  • Units occasionally ghost thru closed doors instead of breaching them
  • Damn "config no entry" message popping up and driving me crazy.
  • Stack moves too slow

Path array used in latest video (6/14/2019

Spoiler

// **********************************************************************
// Test series of moves
// **********************************************************************
_path1a = 
[
[[2878.39,6000.53,0.00143647],[""],"amovpercmtacsraswrfldf",117.957,"UP",1,false,2],
[[2881.15,5999.16,0.266593],["door","gunbreach","arcLeft"],"amovpercmtacsraswrfldf",123.663,"UP",1,false,0], // entry door
[[2883.29,5997.63,0.328665],["arcLeft"],"amovpercmtacsraswrfldf",290.121,"UP",1,true,1], // isFiring set to True so forced shooting while moving forward
[[2886.78,5999.24,0.248931],["wide",""],"amovpercmtacsraswrfldf",13.9723,"UP",1,false,2], // center of first room
 [[2886.92,6002.04,0.274967],[""],"amovpercmtacsraswrfldf",358.34,"UP",1,true,2],
[[2886.71,6004.42,0.317038],["arch","arcRight"],"amovpercmtacsraswrfldf",33.8073,"UP",1,false,0],
[[2888.23,6006.87,0.32576],["reverse","arcRight"],"amovpercmtacsraswrfldf",133.826,"UP",1,false,0],
[[2886.63,6000.57,0.265674],[],"amovpercmtacsraswrfldf",134.553,"UP",1,false,0],
[[2888.71,5998.46,0.192748],["stairs","arcLeft"],"amovpercmtacsraswrfldf",37.6283,"UP",1,false,0],
[[2890.52,6000.27,1.03856],["stairs","arcLeft"],"amovpercmtacsraswrfldf",30.1491,"UP",1,false,0],
[[2891.64,6001.8,1.81644],["stairs","arcLeft","grenade"],"amovpercmtacsraswrfldf",302.025,"UP",1,false,2], // stairs landing
[[2889.72,6003.35,2.83963],["stairs","arcLeft"],"amovpercmtacsraswrfldf",290.946,"UP",1,false,2], 
[[2887.69,6004.5,3.72556],["stairs","arcLeft"],"amovpercmtacsraswrfldf",126.211,"UP",1,false,2],
[[2886.22,6003.6,3.7361],[""],"amovpercmtacsraswrfldf",231.831,"UP",1,false,2],
[[2883.82,6003.13,3.77653],["arcLeft"],"amovpercmtacsraswrfldf",175.194,"UP",1,false,2],
[[2884.06,5999.18,3.76291],["reverse","arcLeft"],"amovpercmtacsraswrfldf",166.922,"UP",1,false,2],
[[2883.18,6000.64,3.7803],[""],"amovpercmtacsraswrfldf",132.283,"UP",1,false,2],
[[2885.34,6002.04,3.72978],[""],"amovpercmtacsraswrfldf",24.9981,"UP",1,false,2],
[[2887.23,6004.78,3.72991],["door","benobreach",""],"amovpercmtacsraswrfldf",22.2814,"UP",1,false,0],
[[2888.99,6008.09,3.71968],["reverse","arcRight"],"amovpercmtacsraswrfldf",125.812,"UP",1,false,4],
[[2887.12,6004.73,3.73123],["stairs","","cleared","arcRight"],"amovpercmtacsraswrfldf",115.184,"UP",1,false,4],
[[2891.79,6002.25,1.81065],["stairs","clear","arcRight"],"amovpercmtacsraswrfldf",207.687,"UP",1,false,2], // flaged as "cleared" meaning house cleared.
[[2888.41,5997.32,0.17694],["stairs","arcRight"],"amovpercmtacsraswrfldf",231.765,"UP",1,false,0],
[[2884.54,5997.14,0.299843],["stairs","arcRight"],"amovpercmtacsraswrfldf",293.001,"UP",1,false,0],
[[2881.64,5998.56,0.257141],["","arcRight"],"amovpercmtacsraswrfldf",298.587,"UP",1,false,0],
[[2878.47,6000.47,0.00144124],[""],"amovpercmtacsraswrfldf",300.205,"UP",1,false,0], // 
[[2875.57,6001.86,0.0014379],[""],"amovpercmtacsraswrfldf",297.669,"UP",1,false,2]
];

 

 

I tried to generate a path through a building based on building positions and building door positions, but that is not enough information for a clear path.  The script uses "playMove animationName" to move a unit from one position to another.  This requires an unobstructed line from one positions to another.  If we used building positions alone, then AI would pass through walls and would not climb stairs.  I am creating a little utility so that you can walk through a building in the editor and record each path position in an array.  You can then copyToClipboard the array and paste it in a script to create a new path (like a series of waypoints).

 

How you create your own custom move path array:

 

These instructions assume you are editing my test demo mission to learn the basics of creating a custom path of movepoints.

Spoiler

1. Open demo mission in editor

2. Place a marker on a building you want to create a path for and name it.  In my case I named the marker "mrkBldg1".

3. At top of init.sqf change this line to use your marker name:


_house = nearestBuilding getMarkerPos "mrkBldg1";

4. At bottom of my init.sqf you see this line.  This creates a couple of Actions in Player Action menu for you to record your own building path.


// **********************************************************************
// Mission designer leaves this call active to use Fire event to record a path.
// Path stored in clipboard and path array variable named playerPath
// **********************************************************************
_n=[_house] execVM "JBOY_SnS\playerRecordPath.sqf";

5. Click Play Scenario.  Choose second action menu item titled "Record WORLD position (not relative to building))".  (I don't know if the first option works, as I haven't tested it yet).

 

6. Move your player to the first position you want in your movement array, and fire your weapon.  This creates the array and adds the first movepoint to it.  For this example I went to the backdoor of same building I use in demo mission, and fired about 10 feet from door.  its good to have first position away from building, which gives stack a better point form themselves up.

 

7.  Move to position just outside door, face the door, and fire your weapon.  A second point is created here.   Open door and go inside and fire again.  And a third point is created.  You can stop here just to see if the sucker works.  Your clipboard now contains the following array with 3 rows:


[[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2],
[[2895.4,6003.49,0.00143886],[""],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2],
[[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]]

8. Paste your new array into the init.sqf and assign it to a variable.  Put this below the arrays I have already created.  And add a call to augment_path to pre-process the array.  Your array and the call should now look like this in the init.sqf:


_trickys_path = [
[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2],
[[2895.4,6003.49,0.00143886],[""],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2],
[[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]
];
_trickys_path = [_trickys_path,_house] call JBOY_augmentPath;

9. When you created the move points, the second one was just outside a door.  So let's modify the second column in the second row to contain "door".


_trickys_path = [
[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2],
[[2895.4,6003.49,0.00143886],["door"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2],
[[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]
];
_trickys_path = [_trickys_path,_house] call JBOY_augmentPath;

 

10.  Your first path is set up.  Now you need some units to run through the path.  Create two new units and place them near the first position, and name them tricky1 and tricky2.  Then add the following code to the init.sqf.  This code will have your two units tricky1 and tricky2 run through the path called _trickys_path.  Play the mission through the editor and watch the units move to the door, open it, shoot anybody they see, and go inside. 


_n = [_trickys_path] spawn
{
	params["_path"];
	sleep 1; // give time for house positions, doors, etc. to initialize
	_stackMembers = [tricky1, tricky2];

	// If you start team in Stealth mode, they start slow and quiet.  But with first shot fired or breach, they then
	// switch to combat, speak loudly, and move fast.
	{_x setBehaviour "Stealth"; _x setUnitPOS "UP";} foreach _stackMembers; 
	
	sleep 1;
	[_stackMembers, _path, house, doorPositions, doors, 0,0,getpos (_stackMembers select 0), group (_stackMembers select 0), true] execVM "JBOY_SnS\stackManager.sqf";
	// **********************************************************************
	// Set team INVINCIBLE for testing path movement.  Remove or comment out for real mission.
	// **********************************************************************
	//{_x allowDamage false;} foreach _stackMembers; 
};

If the unit does not open the door, and walks through it instead, then the position recorded is not close enough to the door.  It's important to make this position just outside the door and centered so when the unit opens the door he can see inside.  If he is off to the side he will ghost thru the wall some, or get shot by an enemy inside that he didn't see (but should have if he was lined up with center of door).  You may need to adjust your door position until he looks good opening door and entering.  To record another position, just use the action menu again as described in step 6 and shoot once to record one position into your clipboard.

 

If that all works you have the basics down to create your own path for any building.  With the above path, the lead unit will simply open the door.  To have the unit breach and/or use grenades, try the following.

 

To make the door entry more dynamic, you can modify the second row flagged with "door" with various combinations.  Edit the path like below, save, and play to see the different actions take place.

 

11. Edit path to make first unit use breaching charge to open door by adding "benobreach" to second row second column:


_trickys_path = [
[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2],
[[2895.4,6003.49,0.00143886],["door","benobreach"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2],
[[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]
];
_trickys_path = [_trickys_path,_house] call JBOY_augmentPath;

12 Edit path to make first unit use gun breach.


_trickys_path = [
[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2],
[[2895.4,6003.49,0.00143886],["door","gunbreach"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2],
[[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]
];
_trickys_path = [_trickys_path,_house] call JBOY_augmentPath;

13 Edit path to make first unit use gun breach and toss a grenade in.


_trickys_path = [
[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2],
[[2895.4,6003.49,0.00143886],["door","gunbreach","grenade"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2],
[[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]
];
_trickys_path = [_trickys_path,_house] call JBOY_augmentPath;

That should be enough to get you started.

 

  • Like 25
  • Thanks 3

Share this post


Link to post
Share on other sites

That looks pretty good for a first cut. Teams would be a sight to see.

  • Like 1

Share this post


Link to post
Share on other sites

this looks like a great thing to have in game

  • Like 1

Share this post


Link to post
Share on other sites

could u post which informations u need to get a not hard coded solution?

maybe a talented scripter would try to get those by script...

Share this post


Link to post
Share on other sites
14 minutes ago, sarogahtyp said:

could u post which informations u need to get a not hard coded solution?

maybe a talented scripter would try to get those by script...

Great minds think alike!  🙂   I plan on making a separate Script Challenge post for this with a screenshot showing existing Building Positions and Door positions, plus helper arrows marking the additional line of sight markers that I need for complete paths.   It is probably possible to do that starting from a door and raycasting around, but its not something I'm willing to take on...  I should post this request later today.

  • Like 1

Share this post


Link to post
Share on other sites

:icon_dj:  This could lead to something REVOLUTIONARY. Getting AI to follow hard coded waypoints...even on custom composition. (...OIL rigs for example...hehehehe)

As always...good job mate!

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
7 minutes ago, zagor64bz said:

This could lead to something REVOLUTIONARY. Getting AI to follow hard coded waypoints...even on custom composition. (...OIL rigs for example...hehehehe)

Thanks amigo.  That is EXACTLY what this script is good for.  Oil Rigs, Ship Addons, the new Destroyer, a custom fortification...they all are missing AI paths, so any missions made are all placing static AI units that can't move (i.e., a little boring...).  But a mission maker can now put AI on an oil rig and make different move scripts (patrol, etc.) and make the rig come alive.  And you could also script AI to assault the oil rig using different paths.

  • Like 3

Share this post


Link to post
Share on other sites

Cool bananas 🍌. Could be quite a big deal and a must-have mission include.

 

In addition to whatever turns up from the script challenge I hope you might accept submission of predefined pathing information by building class name for a data file distributed with the script. There are only so many unique buildings in the ArmAVerse and we might eventually get them all indexed (more reliable and efficient than real-time calculation). With the script acting as a fallback where the class is not present in the data file.

 

EDIT: Something else, hopefully weapon use, and particularly grenades might be moderated by some overall ROE (specified at the time of execution) in terms of likely threat level, presence of non-combatants and the like. Ranging from "Enter with Minimum Necessary Force" (no lethal grenades) up to "Breach with Maximum Prejudice" (shoot first, open doors later).

  • Like 2

Share this post


Link to post
Share on other sites
42 minutes ago, Defunkt said:

In addition to whatever turns up from the script challenge I hope you might accept submission of predefined pathing information by building class name for a data file distributed with the script. There are only so many unique buildings in the ArmAVerse and we might eventually get them all indexed (more reliable and efficient than real-time calculation). With the script acting as a fallback where the class is not present in the data file.

Absolutely.  We should compile a path library that anybody can contribute to.  If it turns out we have to hardcode scripts per building, there's no way I can do them all.  So as people are interested in a particular building, they can contribute their own assault paths.  Personal preferences may drive many different paths for any given building.  And if the building generated path concept does end up working, a mission maker can choose that path, or a preferred hardcoded path.  I will have to document how create your own path, to make it as easy as possible for mission designers to construct their own.  I probably won't do that until the design is more mature.

42 minutes ago, Defunkt said:

Something else, hopefully weapon use, and particularly grenades might be moderated by some overall ROE (specified at the time of execution) in terms of likely threat level, presence of non-combatants and the like. Ranging from "Enter with Minimum Necessary Force" (no lethal grenades) up to "Breach with Maximum Prejudice" (shoot first, open doors later).

All good ideas.  I'm considering how best to parameterize this type of stuff.  Hopefully support both fully customized at each move point, and more high level instructions as per your suggestion ("minimum force", "use non-lethal weapons", "maximum force").

 

But I need to get the basic framework and mechanics down before I take on too many requirements.  It will evolve.

 

Good thinking...we are on the same wavelength.

  • Like 1

Share this post


Link to post
Share on other sites
21 minutes ago, johnnyboy said:

a mission maker can choose that path

 

Beyond choices by the mission maker it'd be good to see this as an action menu entry for any player with subordinate AI, most likely calling up a dialog listing nearby buildings and available assault plans for each then executed for all units in groupSelectedUnits.

 

But you're right of course, carefully defining an extensible path data format and creating a handy tool for generating it is the most important thing at this stage.

  • Like 2

Share this post


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

Thanks amigo.  That is EXACTLY what this script is good for.  Oil Rigs, Ship Addons, the new Destroyer, a custom fortification...they all are missing AI paths, so any missions made are all placing static AI units that can't move (i.e., a little boring...).  But a mission maker can now put AI on an oil rig and make different move scripts (patrol, etc.) and make the rig come alive.  And you could also script AI to assault the oil rig using different paths.

As I mentioned before, I wanted to do a REDUX of the old  PS "SOCOM:US NAVY SEALs" game...with iconic missions like the one in the Ship and the infamous Oil rig , but it would have been a nightmare to get AI to navigate those custom composition. Honestly I was ready to give up ...until your script shined some light in the dark. 

THANK YOU!!!

  • Like 2

Share this post


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

could u post which informations u need to get a not hard coded solution?

maybe a talented scripter would try to get those by script...

Great minds think alike!  🙂   I plan on making a separate Script Challenge post

Script challenge for generating paths for buildings posted here: 

 

  • Like 1
  • Thanks 1

Share this post


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

JBOY AI Scripted Path - This is my first draft of a script to have AI move quickly through a path of positions while fighting.  In this video I follow an AI unit as he clears a house, and uses grenades intelligently.  Also this script can be used to create moving AI on static structures that have no AI paths (like new destroyer, Cargo Ship Mods, Oil Rig compositions). For example:  It's now possible to have AI defenders patrolling an Oil Rig, or AI attackers assault an Oil Rig.

 

Ohhhh I knew I should've had delayed my Vdog Script release... this script tech you've developed is revolutionary indeed!

 

Bohemia... what are you waiting for and not hiring this guy already?

  • Like 3
  • Haha 1

Share this post


Link to post
Share on other sites

One thing i love about this is how quickly they move thru the house - it seems that with all House Clearing scripts they move at a snails pace -the crouch walk -which is fine if your in a Stealthy mood -but sometimes you just gotta bum rush a brutha

  • Like 2

Share this post


Link to post
Share on other sites
7 minutes ago, froggyluv said:

One thing i love about this is how quickly they move thru the house - it seems that with all House Clearing scripts they move at a snails pace -the crouch walk -which is fine if your in a Stealthy mood -but sometimes you just gotta bum rush a brutha

Exactlioto, quasimoto.

  • Like 2

Share this post


Link to post
Share on other sites

More AI scripted path fun. Here we see AI climb 3 flights of stairs, cross 3 different building roof tops, jump from one building to another, step over low wall, jump to roof of van, and down to the ground.  The stair climbing would have been smoother if I used a slower walk animation in those tight spaces.

 

 

  • Like 9

Share this post


Link to post
Share on other sites

Nice. Watched it several times (with Froggy's soundtrack 😉).

 

First two turns at the bottom of the stairs he appears to rotate through the less natural of the two possible arcs.

 

Don't know what exists in terms of suitable moves but ideally they'd go up and down stairways sideways (facing toward the opposite stairs or the next landing) so as to appear to be  covering emerging threats - think it would also make each rotation on the landings look a little more natural. Possibly best implemented as properties of the 'waypoint' (rather than the script trying to add smarts which might prove not to be appropriate) - this may already be the case and the route just needs some tweaking


Can't help but want to drag those markers around a little to improve the path (for instance when he clips through the wooden ramp because the preceding marker wasn't as aligned with the base of the ramp as it might've been). Are you anticipating a facility to tweak marker positions visually in the editor?

Share this post


Link to post
Share on other sites

That Matrix jump by the AI in the last video was impressive. Did he make it on his first jump?

 

All joking aside, this looks really interesting, nice work. 

  • Like 1
  • Thanks 1

Share this post


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

Don't know what exists in terms of suitable moves but ideally they'd go up and down stairways sideways (facing toward the opposite stairs or the next landing) so as to appear to be  covering emerging threats - think it would also make each rotation on the landings look a little more natural. Possibly best implemented as properties of the 'waypoint' (rather than the script trying to add smarts which might prove not to be appropriate) - this may already be the case and the route just needs some tweaking

7 hours ago, Defunkt said:

First two turns at the bottom of the stairs he appears to rotate through the less natural of the two possible arcs.

I was using fast tactical forward run animations on stairs (the default), so this can likely be improved by slowing him down for the the 2 points on the landing, and potentially using sidestepping as you suggest.  I haven't implemented his direction of covering while moving yet (points forward while moving, with his AI dragging the rifle a little left or right while moving).

7 hours ago, Defunkt said:

Can't help but want to drag those markers around a little to improve the path (for instance when he clips through the wooden ramp because the preceding marker wasn't as aligned with the base of the ramp as it might've been). Are you anticipating a facility to tweak marker positions visually in the editor?

Currently I set markers in a series by running player through editor and using a Fired event.  When I fire I capture position, stance, and direction for the "move point" and append it to an array. The array is copied to clipboard, so you can paste it into an editor at any time.  Once path array is assigned to a path variable, you can run it on an AI.  For tweaking positions, I observe the AI move (like the plank miss) and stand the player in a slightly different spot, fire, capture the new "move point" entry, and replace it in the array.  Visually dragging in editor is very doable and a  better solution (but down the road).  Part of the problem with the plank miss, is playMove doesn't always land him exactly on the move point.  The faster the animation the less accurate (can be off up to a meter it seems).  So I may switch to slower animation as he approaches the end point to improve accuracy.  Also, for the plank case, we could always add a second plank to make it wider (the path in that video would always be a World Position hardcoded path, so might as well add the plank.  It could never be a building generated path as it spanned multiple buildings, using only rooftops and one set of stairs.)

 

I also modified the capture code to sense if two move points are less than 2 meters apart.  If so, my code generates the slower tactical move, which should result in greater  end point arrival accuracy, and less twitchiness on tight corners like the stairs.

 

Anyway, all good observations dude, and I'm already giving thought to all that. Thanks for the interest.

Share this post


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

That Matrix jump by the AI in the last video was impressive. Did he make it on his first jump?

 

First time, every time.  Guaranteed.  Thanks man!

Share this post


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

I also modified the capture code to sense if two move points are less than 2 meters apart.  If so, my code generates the slower tactical move, which should result in greater accuracy end point arrival accuracty, and less twitchiness on tight corners like the stairs.

This will make it look really cool!  Now...is there ever gonna be a way to automate this?  I'm thinking C2 style (by madcheese) .. you point at a building and an addaction appears (addaction attached to that particluar building of course)

Share this post


Link to post
Share on other sites
1 minute ago, kremator said:

This will make it look really cool!  Now...is there ever gonna be a way to automate this?  I'm thinking C2 style (by madcheese) .. you point at a building and an addaction appears (addaction attached to that particluar building of course)

Absolutely. Future:  Player looks at building and selects units, and action appears to clear building (if there is a path pre-defined for that particular building or building class).  Can also be triggered anyway a mission designer wants (proximity triggers, etc.).

Share this post


Link to post
Share on other sites

Gonna lmfao if I ever see an enemy ai jump off a roof to a van to take a shot at me. For ultimate cheese you should add the tumble animation from iron front for the landing

  • 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

×