Create a shared 3D scene that renders in the browser.
A 3D world requires four things: a Scene (the container for everything), a Camera (the viewer's eyes), a Renderer (draws the scene to the screen), and an Animation Loop (redraws every frame). This architecture is identical for both games.
Scene = Manhattan prototype. Flat ground plane, gray color. This is the foundation of the world your player will explore.
Scene = 14-lot block prototype. Flat ground plane, green color. This is the land your player will build on.
Install Three.js via CDN script tag in your HTML:
Create the Scene, Camera, and Renderer:
Add a ground plane:
Add a directional light:
Position the camera and create the animation loop:
Page loads. You see a flat plane in 3D. Camera is positioned above looking down.
No textures. No models. No details. Just a plane and a light.
Forgetting to append renderer.domElement to the document — the scene exists but nothing appears on screen.
Camera pointing wrong direction — if you don't set position and lookAt, the camera may face empty space.
Forgetting the animation loop — the scene appears frozen because it only renders once.
This is the first visual moment. Let them enjoy seeing 3D. Explain that the animation loop is why games run continuously — it redraws 60 times per second. Even though nothing moves yet, the loop is already running.