Tier 4 Series 302

302C: The Drone Factory

Pilot Record
Student Profile
"Spawning a unit isn't just about `Instantiate`. You have to set its team color, give it ammo, and register it with the radar. If you copy-paste this setup logic into 10 different scripts, you create a maintenance nightmare. A Navigator creates a central Factory."

The Concept: The Factory Pattern

The **Factory Pattern** centralizes object creation. Instead of using `new` or `Instantiate` scattered throughout your code, you ask the Factory to build it for you.

* **Consistency:** Every drone is set up exactly the same way.
* **Scalability:** Add a new drone type in one place, and the whole game supports it.
Red Flag Detected

The AI Trap: "The Clone Spammer"

You ask the AI: "Spawn a Red Drone and a Blue Drone."

// AI-Generated Code: Scattered Logic
void SpawnRed() {
    var d = Instantiate(redPrefab);
    d.color = Color.red;
    d.ammo = 100;
}

void SpawnBlue() {
    var d = Instantiate(bluePrefab);
    d.color = Color.blue;
    d.ammo = 50;
}

This is "Initialization Drift." If you later decide all drones need a health bar, you have to find and fix every single spawn function in your project.

Elite Telemetry

Research shows "Elite" teams achieve 15% faster lead times by keeping AI on a "very tight leash."

  • Small Batches Solving one problem at a time prevents logic drift.
  • Modular Design Localizing the "blast radius" of AI changes.
  • Tight Loops Rapid iteration with constant code review.

The Navigator's Correction

Corrective Protocol
// Corrected: Centralized Production
public class DroneFactory : MonoBehaviour {
    public GameObject Create(DroneType type) {
        GameObject drone = Instantiate(prefabs[type]);
        // All setup logic happens HERE and ONLY here.
        drone.GetComponent<IDrone>().Initialize();
        return drone;
    }
}
Your Pilot Command
> A skilled Navigator directs the AI to use a Factory.
Next Mission
The Service Dock