Ai machinegunner or 2 player tank

Grant,Japanese tank and lvt showed us a different gameplay style

Those tank have Machingun (37mm cannon for grant) wo are used separately from the main cannon, you need switch to them for use them and you are unable to use your main armament

So

This can make enlisted more fun

First option

Let AI can controll and use sub turret withaut player imput, this can make those tank more deadly and fun to fight instead from the actual

doge a bit their fire and go behind their ass for the kill

Second option

Allow a friend from the friend list to be a sub-player of you making him able to join and play only wen you are spawing a tank wo require two player or an additional sub-AI

6 Likes

I get the style of thinking you’re going for. Personally however I prefer just controlling everything on my own. As an armor main I’m quite accustomed to it and actually enjoy the multi tasking style of tanks like the Grant which I can use one gun independently when a situation calls for it or just hop into the commanders seat and let everything loose on the enemy.

Plus in my particular circumstance none of the mates I que up with are really armor players and prefer Infantry gameplay which works out because we can play off each others strengths and weaknesses.
Ergo in my case I’d be stuck with random players or AI and honestly I really don’t want either in a tank with me

Also I feel like a feature like this would restrict content and equipment a player has access to when sometimes you just want to que up alone

3 Likes

Commander can already shoot both the Grant’s (and Lee) 75mm and 37mm thought. You can even set them to use different keys if I remember well.

As for Japan tanks… they decided the commander is a gunner that can’t even command the hull lmg to shoot. Seriously devs, it’s the only tank that needs to switch to machine gunner to use!

Imagine if devs did the same with T28…

As for AI controlling tank lmgs…

No.

Seriously we should NOT make grey zone tanker’s life even easier by allowing them to just sit AND NOT EVEN MOUSE CLICK to earn easy xp… let them aim.

I like the friend option thought. There could be an icon over tanks whose owners need somebody to replace a dead crewman to man the gun or the lmg.

5 Likes

I love the idea of bots using the mgs in tanks. The AI gunners engagement range would likely be set to 20m or less, so I don’t see how helpful it would be to tankers sitting back in the gray zone. I imagine they would have stormtrooper accuracy as well.

The bad game mechanic here would of course be the gray zone; so the real focus should to be fixing that issue so it isn’t so easily and profitably exploitable

4 Likes

Allow the driver to use the hull machine gun, I think this is technically possible in the editor even without modifying the current game code, I’ll probably try this over the weekend

—-

For two or more players control tanks, although currently feasible. However, in the current arcade format, 10v10 means that there is one less infantry on this side of the team, which has a huge impact on combat. Additional mechanics are needed to encourage or allow players to do so, and increasing the number of players fighting can also reduce this impact and increase the fun

Larger maps will also be needed, most of the current maps show the tank as a stationary bunker that doesn’t move anywhere or even in a grey zone

But maybe Things have piled up with the default battle mode right now, they might need to make a whole new mode for these.

2 Likes

Basically good news, the hull machine gun exists in the game, it only needs a simple change to enable it, and the model of War Thunder already includes this shooting node.

But there are still some problems. The angle of the machine gun on the body cannot be rotated. The node bound to the fire effect of the machine gun on the body does not exist, but the bullet can be fired from the correct position. This requires some fine-tuning by the development team.

I think this is relatively easy to implement technically, maybe only need to modify some models and add some code to control the angle of the machine gun.

I enabled the hull machine gun to be fired in the driver camera

path/to/yourmod/entities.blk

t_34_1941_hull_mg_03_7_62mm_dt{
  _extends:t="tankgun_7_62mm_dt"
  gun__shootNodeName:t="bone_mg_body"

  "gun__shellsAmmo:array"{
    ammo:i=1449
    ammo:i=1449
  }
}

ussr_t_34_1941_driver_cockpit{
  _override:b=yes
  "cockpit__slitIsGun:list<b>"{
    slit:b=yes
  }
}

base_t_34_1941{
  _override:b=yes

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
    node:t="emtr_mg_flame_01"
    node:t="emtr_fire_small_dmg_02"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_80mm"
    fx:t="muzzle_ground_8mm"
    fx:t="muzzle_ground_8mm"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
    scale:r=1.0
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
    node:t="bone_mg_gun_twin"
    node:t="bone_mg_body"
  }

  "turret_control__animVars:shared:array"{

    "vars:object"{
      curYawParamName:t="turret_01_yaw"
      curPitchParamName:t="gun_01_pitch"
      aimActiveParamName:t="aim_01_active"
      paramYawSpeed:t="turret_01_yaw_speed"
      paramYawSpeedMul:t="turret_01_yaw_mul"
      paramYawAccel:t="turret_01_yaw_accel"
      paramMinYawAngle:t="turret_01_min_yaw_angle"
      paramMaxYawAngle:t="turret_01_max_yaw_angle"
      paramMinPitchAngle:t="turret_01_min_pitch_angle"
      paramMaxPitchAngle:t="turret_01_max_pitch_angle"
      paramPitchSpeed:t="gun_01_pitch_speed"
      paramPitchSpeedMul:t="gun_01_pitch_mul"
      paramPitchAccel:t="gun_01_pitch_accel"
      wishYawParamName:t="gun_01_aim:targetYaw"
      wishPitchParamName:t="gun_01_aim:targetPitch"
      gunRecoilParamName:t="gun_01_recoil"
    }

    "vars:object"{
      curYawParamName:t="turret_02_yaw"
      curPitchParamName:t="gun_02_pitch"
    }

    "vars:object"{
      curYawParamName:t="turret_03_yaw"
      curPitchParamName:t="gun_03_pitch"
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="t_34_1941_turret_01_76mm_f34+turret_with_several_types_of_shells+main_turret"
      barrelDm:t="gun_barrel"
      breechDm:t="cannon_breech"
      verDriveDm:t="drive_turret_v"
      horDriveDm:t="drive_turret_h"
      salt:i=1
    }

    "turretInfo:object"{
      turretName:t="turret_02"
      gun:t="t_34_1941_turret_02_7_62mm_dt"
      barrelDm:t="gun_barrel_01"
      salt:i=1
    }

    "turretInfo:object"{
      turretName:t="turret_03"
      gun:t="t_34_1941_hull_mg_03_7_62mm_dt"
      barrelDm:t="gun_barrel_01"
      salt:i=1
    }
  }
}


ussr_t_34_1941_common{
  _override:b=yes

  "vehicle_seats__seats:shared:array"{

    "seats:object"{
      name:t="main_gunner"
      locName:t="vehicle_seats/gunner"
      attachNode:t="gunner"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
      seatComponent:t="isGunner"
      nextSeat:t="driver"
      shouldHideOwner:b=yes
      receiveDamageFromDMPart:t="gunner"
      cameraNodeName:t="bone_camera_gunner"
      cockpitTemplate:t="ussr_t_34_1941_gunner_cockpit"

      "turretNames:array"{
        turret:t="turret_01"
        turret:t="turret_02"
      }
    }

    "seats:object"{
      name:t="driver"
      locName:t="vehicle_seats/driver"
      seatOwnsEntityControl:b=yes
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.25, 0.0]]
      seatComponent:t="isGunner"
      nextSeat:t="main_gunner"
      shouldHideOwner:b=yes
      receiveDamageFromDMPart:t="driver"
      cameraNodeName:t="bone_camera_driver"
      cockpitTemplate:t="ussr_t_34_1941_driver_cockpit"

      "turretNames:array"{
        turret:t="turret_03"
      }
    }

    "seats:object"{
      name:t="commander"
      attachNode:t="loader"
      shouldHideOwner:b=yes
      maxPosWithOpenHatch:r=1.2
      locName:t="vehicle_seats/commander"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.15, -0.5, 0.15]]
      seatComponent:t="isDriver"
      receiveDamageFromDMPart:t="loader"
      cockpitTemplate:t="ussr_t_34_1941_commander_cockpit"
      hatchRotationAxis:p3=1.4, 0.0, 0.0

      "hatchNodes:array"{
        node:t="hatch_01"
      }

      "loaderTurretNames:array"{
        turret:t="turret_01"
      }
    }

    "seats:object"{
      locName:t="vehicle_seats/radioman"
      attachNode:t="machine_gunner"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
      seatComponent:t="isPassenger"
      shouldHideOwner:b=yes
      receiveDamageFromDMPart:t="machine_gunner"
    }
  }

  "vehicle_seats__canAcquireControls:shared:object"{

    "driver:object"{
      movement:b=yes
      turrets:b=yes
      camera:b=yes
    }

    "main_gunner:object"{
      movement:b=yes
      turrets:b=yes
      camera:b=yes
    }

    "extra_gunner:object"{
      movement:b=yes
      turrets:b=yes
      camera:b=yes
    }

    "machinegunner:object"{
      movement:b=yes
      turrets:b=yes
    }

    "commander:object"{
      movement:b=yes
      turrets:b=yes
      camera:b=yes
    }

    "loader:object"{
      movement:b=yes
      turrets:b=yes
      camera:b=yes
    }
  }
}
3 Likes