The Forest Hunter — Real Arrow Physics, Wind Drift, Blood Trails
Skyrim-style first-person archery. Hold the bow longer for more power. Wind drifts your arrow visibly. Wounded deer leave blood trails to track. Sun arcs over a 60-second day cycle.
What this is
A misty procedural forest with carved river, instanced pines and rocks and ferns, 4000 wind-shader grass blades you can crouch through. Right-click holds the bow drawn — longer hold = more velocity, with sway kicking in past 2 seconds as your stamina drops. Release to fire. Real arrow physics: gravity per frame + wind vector contribution + arrow re-orientation along velocity. Stuck arrows parent to the deer they hit. 5 deer with graze / alert / flee AI — they look up, twitch ears, then bound away in zigzags when alarmed. Blood trails decal the ground from wounded deer so you can track them. Wind compass + magnitude in HUD. 60-second day/night cycle.
Why this is mind-blowing
The Skyrim archery loop in one paragraph. Drawing the bow, leading the wind, watching the arc, finding the blood trail — the whole hunting fantasy is here. The deer AI alone is more sophisticated than half the Steam-released hunting games of the last decade.
First-person archery hunting demo in three.js. Procedural forest with
rolling hills, low-poly pine trees, grass via InstancedBufferGeometry,
scattered rocks. Right-click holds the bow drawn (zoom + sway based on
stamina); release to fire. Real arrow physics — gravity + initial velocity
proportional to draw time, plus wind that visibly drifts the arrow.
4-5 deer with simple AI: graze, alert, flee. Tracking via blood trails.
Time-of-day cycle.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- Real arrow physics is just gravity + initial velocity + wind vector contribution per frame, with arrow re-orientation along velocity. The model writes the projectile loop perfectly the first time.
- Three-state deer AI (graze/alert/flee) with crouch reducing alert radius is enough to feel like hunting, not target practice. The deer have to react.
- 4000 wind-shader grass blades via InstancedBufferGeometry is not a perf hit — it's a perf flex. The grass IS the world.