Men of War: Assault Squad 2 features new single player style skirmish modes that take players from extreme tank combat to deadly sniper stealth missions. Commanders can now faceoff against opponents on various new multiplayer 1v1 – 4v4 maps. To truly bring the battles to life though there is the new 8v8 game mode designed for huge battles on spectacular maps. This new Assault Squad game brings significant game engine and visual improvements as well, with special attention paid to ones that were highly requested by the players.

Post tutorial Report RSS Cannon, Helicopter, Tank Tracks and Hatch Tutorial

In continuation of previous tutorials, this tutorial is kind a conclusive, as by that and from all previous tutorials, almost all basic porting method and entity setup, to make it functional in game will got cover by it.

Posted by on - Advanced Weapons Modelling


Sample Files - Google Drive

Sample Files - Dropbox

Official Multi Script Link

Official XNALara XPS Link

From 3d Max to MOW Export Plugin - Official

Tutorial PDF - Google Drive

Tutorial PDF - Dropbox

Important Note:

- To understand this tutorial, you have to go through with previous tutorials as follows:

Vehicle Model Porting Tutorial (Basic)

Vehicle Model Porting Tutorial (Advance)


- Before Proceed further with this tutorial, as its kind a concluding tutorial and for that defining animation and its kinds is necessary.

- So simple animation code be divided into following parts:

- Animation = (ACTION name e.g.: FIRE, RECOIL etc.) , (Name you provided to the combination of selected OBJECTS, on which you want to apply ACTION upon by “Edit Named Selection Set”) , (starting frame - ending frame) , (name of animation file on which you want to play animation from) , (percentage of speed which animation play by)

- AnimationAUTO will apply animation to any object by defined frame range despite of whatever the object nature is, it also don't require any specific action name, you can give its ACTION any name like ZEBRA11, LION22 etc and it even can apply over human entity related weapons and armors

- AnimationRESUME it will make animation to continue which suspend due to some other action, from the point where it stopped, otherwise the animation can either be played to the end, or get restarted.

- Where following are types of animations with some common actions according to predefined properties in game engine:

Example animation:

Animation for Vehicles:

Animation = start, body, 10-50,60

Animation = stop, body, 60-100,60

Animation = fire, fire, 120-160,60

Animation = fire_mgun, fire_mgun, 120-160,60

Animation = hit, body, 120-160,60

Animation = doorleft, doorleft, 120-160,60

Animation = doorright, doorright, 120-160,60

Animation = doorleft_passenger, doorleft_passenger, 120-160,60

Animation = doorleft_close, doorleft_close, 120-160,60

AnimationResume = open, open, 170-185,60

AnimationResume = open2, open2, 170-185,80

AnimationResume = open_driver, open_driver, 235-295,60

AnimationResume = open_commander, open_commander, 235-295,60

AnimationResume = open_gunner, open_gunner, 235-295,60

AnimationResume = close_driver, close_driver, 235-295,60

Animation = repair, body_r, 203-220, body_r, 60

Animation = repair, engine_r, 150-160, engine_r, 60

Animation = repair, turret_r, 247-260, turret_r

Animation = break, trackL_b, 20-36, trackL_b, 80

Animation = break, trackR_b, 40-60, trackR_b, 80

Animation = break, body_b, 5-17, body_b, 60

Animation = break, engine_b, 140-150, engine_b, 60

Animation = break, turret_b, 230-247, turret_b

Animation for Cannons:

Animation = recoil, recoil, 10-50,60

Animation = close, close, 10-50,60

Animation = fire, fire, 120-160,60

Animation = fire00, fire, 120-160,60

Animation = fire01, fire, 120-160,60

Animation = fire02, fire, 120-160,60

Animation = shield_left_r, shield_left_r, 120-160,60

Animation = repair, turret_r, 247-260, turret_r

Animation = repair, gun_r, 247-260, gun_r

Animation for Airbornes:

Animation = engine_start, engine_start, 10-50,60

Animation = engine_stop, engine_stop, 10-50,60

Animation = engine_work, engine_work, 120-160,60

Animation = fake_prop, fake_prop, 120-160,60

Animation = gear_up, gear_up, 120-160,60

Animation = open, open, 120-160,60

Animation = wheels, wheels, 120-160,60

Animation = dooropen, dooropen, 120-160,60

Animation = drift, drift, 120-160,60

Animation can mix and match with in entities depend on entity structure.

Turret Setup:

- As turret setup is almost same as VEHICLE setup, except it don't include any critical points like ENGINE or FUEL and VOLUMES only apply to BODY, GUN, TURRET, GUN_ROT, SHIELD(s).

- It also have HUSK, so got to creat X and XX models as well to have damaged and destroyed models and same goes for all entities other than humans.

- Turret had only one basic animation which is CLOSE animation, as at time when turret start moving either by DRIVERS or by other VEHICLES, it transform in to close form as explained in sample file, but CLOSE animation don’t apply on INTERVALS, for example, to apply CLOSE, give intervals from 100-200 frames by SETKEY and apply custom animation at frame 150 by AUTOKEY, but instead of giving close action a range from 100-200 in BASIS properties, give it range from 150 - 200, otherwise close animation will not play upon action.

- Turret also can carry by vehicle and for it required CARRIAGE and LINK as POINTERS or ENTITIES, carriage could be any common object as it don't affect the action but LINK should be the point where turret will connect with VEHICLES and vice versa at time of setting VEHICLE you also have to provide that LINK in VEHICLES to carry turret or entities like turret.

- Where you also have to place SEAT(S), as at time when VEHICLES carry turret, the passengers, commander or gunner will place upon seats instead of their original PLACE.

Please review following picture and provided sample model for more detail:

merge from ofoct 4

Helicopter Setup:

- Currently I did that on experimental basses by following examples from other mods and didn’t use any furnished model, so you can get better understanding of object combination, as this helicopter setup is based on VEHICLES and CANNON properties.

- In cannon, turret is the center point in which all object animation will play and ELEVATE upon it, so we use TURRET as BASIS and replace it with all the basis PROPERTIES where leave whole structure intact and turret could also be a POINTER instead of any object.

- Now the logic is we use TURRET CLOSE animation as TAKEOFF and LANDING animation where give its ROTOR / BLADES an auto animation, so they keep moving despite of other animations.

- I created two versions of it, one is for attack, as it elevated only in mid air and don’t land on ground and other one is as transporter, which land and takeoff.

Special Note:

-To have helicopter DRIVER an statical animation instead of default driver animation (where driver start WALKING instead of siting at seat, as that animation is for CARRYING cannon which looks odd in HELICOPTER). So to change that, add following command by choosing animation of BOARDING from other cannons:

 {anm "gunner"
  {forward {begin "Animation Name"} {end "Animation Name" 10} }
  {reverse  {end "Animation Name" -1} }
 {anm "commander"
  {forward {begin "Animation Name"} {end "Animation Name" 10} }
  {reverse  {end "Animation Name" -1} }
 {anm "driver1"
  {forward {begin "Animation Name"} {end "Animation Name" 10} }
  {reverse  {end "Animation Name" -1} }
 {anm "driver2"
  {forward {begin "Animation Name"} {end "Animation Name" 10} }
  {reverse  {end "Animation Name" -1} }
 {anm "passenger"
  {forward {begin "Animation Name"} {end "Animation Name" 10} }
  {reverse  {end "Animation Name" -1} }

-Then add following command to ELIMINATE default DRIVER movement animation:

{extender "cannon"
  {switch "close"}
  {move "" ""}
  {aim "" ""}
  {fire  "" ""}
  {reload  "" ""}
 {move {obstacle "close"}}
 {attack {obstacle "open"}}

-As {move "" ""} define the movement of DRIVER1 = Left and DRIVER2 = right so by letting it empty we can eliminate that movement animation and only provided BOARDING animation for driver will play upon. where if you want to give it any animation just add it as = {move "Name of Animation for Driver1" "Name of Animation for Driver2"}, you can pick that animation from default cannon animations.

- To give it vehicle properties you have to apply following code in helicopter .DEF (Definition) file:

{Chassis "track"
  {MaxSpeed  100}
  {StartTime  20}
  {BrakeTime  1}
  {StopTime  1}
  {TurnRadius  0}
  {TurnTime  3}
  {TurnStart  2}
  {TurnStop  0.5}
; ("loco_carrier")

- Replace values according to your requirements and review following picture and provided sample file for better understanding:

merge from ofoct 4

-And if your placed object like helicopter BLADES or DOORS start DISAPPEARING at spawn, then change them as STAN1, STAN2, STAN3, STAN4 and so on by Multi Script (as STAN consider to be as common mesh, it wont effect on any other FUNCTION).

-To add PASSENGERS, add following code in .DEF file (while you can increase number of passengers as per your requirement) where you also have to place that POINTER in helicopter body like other pointers of GUNNER, COMMANDER, DRIVER1 and DRIVER2.

("crew_human" place(passenger1)  bone(passenger1) door(emit3) animation(passenger) group(passenger))
("crew_human" place(passenger2)  bone(passenger2) door(emit3) animation(passenger) group(passenger))
("crew_human" place(support1)  bone(support1)  door(emit3) animation(passenger) group(passenger))
("crew_human" place(support2)  bone(support2)  door(emit3) animation(passenger) group(passenger))

Tank Tracks and Hatch Setup:

- Making tank tracks is kind time taking, so I included tank tracks only from old samples, as its an easy shortcut, so what you have to do is place your entity tank tracks over provided sample, cover it properly then attach old sample with new tracks where do the same with wheels with in tracks, the animation will automatically play upon attached tracks and you have nothing more to do upon it.

- Tank HATCH animation will trigger at the time when gunner or command or driver will take its position, where the HATCH object is defined as COVER, it could be COVER1, COVER2 and animation which play upon is OPEN, open is opposite to close animation, as in CLOSE we give animation from midpoint to endpoint (e.g. 100(start) - 150 (mid) - 200 (end)) now we give it animation from starting point to midpoint.

Please review following picture for tracks merging and also review provided sample file for tank tracks and hatch animation:

merge from ofoct 3

Please comment and share this tutorial while everyone have full permission from my side to share that tutorial and tutorial related file to any forum.


Will this make helicopters move like they do on MOW: Vietnam?

Reply Good karma Bad karma+1 vote
GameJoJo Author

No, not like that, instead it will be elevate by control panel command, but I am also working on it, to make it like they were in MOW:V.

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Men of War: Assault Squad 2
Send Message
Release date
Game watch
Related Games
Men of War: Assault Squad 2
Men of War: Assault Squad 2 Real Time Tactics
Related Engines
GEM 2 Commercial
Related Groups
Digitalmindsoft Developer & Publisher
Men of War - Work on units
Men of War - Work on units Hobbies & Interests with 3 members
Men of war Fan club
Men of war Fan club Hobbies & Interests with 432 members