ISLES OF WAR (LAUNCHED OCTOBER 2013)
ROLE : TECHNICAL DESIGNER | DISNEY INTERACTIVE, JULY 2012 - APRIL 2014 | TEAM SIZE = ~50
There are two types of battles - Sea Battle and Island Battle. AI consists of two key elements :
1) Enemy Flagship Movement - The target for enemy flagship is simply the closest player ship. All the other ships simply follow the ship in front.
2) Fire Prioritization - Firing of both player and enemy ships is automatic based on weapon fire rate. Fire priorities for player ships against structures are managed using static data fields for each the structure types. When an enemy ship or structure has multiple player ships that can be fired at, the ship with the lowest health is chosen.
ENEMY FLAGSHIP MOVEMENT
We shall delve into the movement of the enemy flagship for a static target using a Unity Simulation.
The 'following' flag is set for all ships other than the flagship. Every ship needs to start turning to ensure it's target is in broadside firing range. The buffer distance needed to turn can be computed based on the turning firing speed. However, when the distance between the flagship and it's target is greater than (firing range + buffer distance), the ship needs to get to it's target as soon as possible, which means it moves directly towards the target.