Player Movement
Scorched Tide was my first time in Godot, so I had to learn a lot of things from scratch. I used a RigidBody3D node combined with a capsule collider to add force to the player to get them to move. I created variables to fine tune the movement if needed.
Enemy AI
The Enemy AI in Scorched Tide is very simple in the fact that they constantly move towards the player, stopping right before them, and then attacking at a set rate. The hardest part was that, due to the non-flat nature of the map, a navigation mesh had to be used for the enemies to navigate it without getting stuck behind objects. Each enemy has a nav agent that reads the data from the generated nav mesh to move around objects. I marked certain objects like big rocks or the player's tool and ship as nav obstacles so enemies would move around them.
Tool Mechanics
The player has two tools available to them. A gun and turrets around the map. The gun and turrets, both fire bullets, so I use the same class to spawn the projectile while different classes managed them for both tools, one being manual and the other, automatic. The turret uses an Area node and a set layer set-up to detect enemies around it. If an enemy is in range and the turret has fuel, it will rotate its head towards the enemy and fire.