Getting my hands dirty again back into #gamedev

Substracting vectors to get a smoother movement. This avoids setting our `velocity` instantly to `desired_velocity`.

```
steering_vector = desired_vector - velocity
velocity = velocity + steering_vector * drag_factor
```

The drag factor controls how much inertia (slow) the movement will be until it hits the desired velocity.

Mixing up collision detection and pre-made animations 💎✨
#godotengine #gamedev
Careful: dumb turret ahead! Pew pew
#godotengine #gamedev

Using collision detection to target enemies. Turrets rotate and aim the latest target via an `angle lerp()` between two points 🔫

I also learned how to expose custom properties for different instances of the same object. Turrets shoot and aim at different speeds ✨

#godotengine #gamedev

I couldn't get the right angle to rotate a turret toward a target until I realized this 😂
Implemented a small queue o handle multiple targets. Turrets won't shoot unless there's a target at range and will prioritize the first identified target 🎯
#godotengine #gamedev
The turret can now shoot at multiple targets at once

Same idea but aiming for the average point between all targets. I haven't used this since Math at school 🤪

Average is calculated similarly to regular numbers: add all vectors and divide by the total number of points.

@adrianmg so cool! What language are you using for making that game?
@raulb It's called `GDScript`, pretty similar to Python, build on top of Godot