Spaghetti code is the bane of us all, and I would think that mine is just as bad if not worse!!
Yeah the AI is actually really simple, its just the same code as the player sub, but it follows a "target point" instead! This target point is just a PathFollow3D node(what it does is pretty self-explanatory, it follows a path). As the AI gets closer to the target point, it moves further along the path, and the cycle continues!!
The reason it doesn't just move along a path is cause I wanted it to be a bit dynamic if the player sub crashes into it(wobbles and eventually re-aligns itself).
I thought about godot rl-agents for actually training it, but the last time I checked(a few years back tbf), it wasn't as stable and you would have to ask players to run python in their terminal which was ABSOLUTELY not game jam friendly!