Make the camera move intentionally.

The camera defines the player's experience. It controls what you see and how the world feels. Two main types: Follow Camera (tracks the player) and Free Camera (player controls it). Version 1 uses a simple fixed angle.

Ami — Combat Risk Engine

Third-person exploration camera — slightly behind and above the player. Creates tension because you can't see everything.

Ida — Economic Growth Engine

Top-down development camera — looking straight down at a slight angle. Creates clarity because you can see your whole block.

Add OrbitControls temporarily for testing different angles:

<script src="https://cdn.jsdelivr.net/npm/three@0.160.0/examples/js/controls/OrbitControls.js"></script> // Temporary: OrbitControls for experimenting const controls = new THREE.OrbitControls(camera, renderer.domElement);

Once you find the right angle, lock the camera by removing OrbitControls and setting fixed values:

// Ami: third-person, behind and above camera.position.set(0, 15, 25); camera.lookAt(0, 0, 0); // Ida: top-down with slight angle camera.position.set(0, 30, 10); camera.lookAt(0, 0, 0);
  • Add OrbitControls for testing (temporary)
  • Experiment with different camera angles
  • Lock camera to a fixed angle
  • Set position and lookAt target
  • Test: does the world feel grounded?
  • Checkpoint

    Camera angle is stable. World feels grounded and intentional, not random.

    No cinematic cameras. No camera transitions. One fixed angle.

    Camera too close — can't see the world. Pull it back.

    Camera too far — the world feels distant and detached.

    Forgetting lookAt — the camera points at nothing and the scene looks broken.

    Ask "How does this camera angle make you feel?" Compare top-down vs third-person. This teaches that camera is a design decision, not just a technical one. The camera shapes emotion before a single mechanic is built.