Skip to content

Arcade › Twin Reach

Twin Reach

  • 3d
  • first-person
  • physics
  • sandbox
  • arcade
  • experimental
0
Remix it Discord

10 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. nathanstubbs50 built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Twin Reach yet. Play it, then tell nathanstubbs50 what you would add next.

Make your own game

Twin Reach was built by nathanstubbs50 with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Twin Reach opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Twin Reach

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a browser-based first-person 3D physics sandbox titled “Twin Reach.” Use a dark, clean sci-fi/arcade visual style with simple primitive geometry, no textures, and a deep navy background with fog. The camera is a 75-degree perspective first-person camera controlled by pointer lock: clicking Start or the world locks the mouse, mouse movement looks around, and Escape unlocks it. Begin the player at approximately (0, 3.5, 10), with the camera at eye height around 1.75m above the player’s physics body. The player is represented physically as a small sphere-like body, with WASD movement relative to the camera, smoothed movement speed about 7.2, gravity -9.82, jumping with Space at about 5.2 velocity, reduced air control, and R resetting the player to the starting position. Keep the player rotation fixed.

Build a large flat 400-by-400 ground plane with a subtle blue grid overlay and static collision geometry. Enclose the playable area with four dark blue boundary walls around x/z ±60. Add a central raised square platform centered at (0,1,0), about 12-by-2-by-12 overall; another platform around (18,3,-8), about 10-by-2-by-10; and a third around (-20,5,16), about 14-by-2-by-14. Add a broad static ramp-like slanted box near (-10,1.2,-18), rotated approximately 0.15π around Y and -0.13π around X. All static surfaces should be dark blue/navy, receive shadows, and use simple box primitives. Use a hemisphere light and a strong directional sunlight with soft shadows, plus fog beginning around 10 units and extending to roughly 150; include a very large dark spherical backdrop/sky dome.

Scatter approximately 65 dynamic physics props throughout the area, initially suspended at random positions x/z between -45 and 45 and y between 6 and 18 so they fall and collide. About 65% should be small rectangular boxes with random half-extents roughly 0.3–1.2 in X/Z and 0.3–1.0 in Y, masses around 0.8–5; color them in alternating cyan-blue (#6dd6ff) and warm orange (#ffc66d). The rest should be spheres with radius about 0.35–0.9 and mass around 0.6–3.5, colored magenta-pink (#ff6dd6) or green (#6dff9a). Give all props Cannon-style rigid-body physics, gravity, friction around 0.55, very low restitution, damping, collision, shadows, and visible rotation. The player can knock these objects around.

The signature mechanic is two independent tethered projectile hands. Create a small glowing/simple sphere hand for each side, left cyan-blue (#63b3ff) and right coral-red (#ff6b6b), anchored just forward and slightly below the camera, offset about 0.32m to the corresponding side. Left mouse button launches only the left hand; right mouse button launches only the right hand, and disable the context menu so RMB works. A hand may be fired only when pointer lock is active and cannot be fired again while it is already traveling outward or returning. Launch it forward along the camera’s look direction at about 42 m/s. Each hand has its own visible thin colored tether line from the hand’s camera-side anchor to the flying hand; the line is hidden while holstered. The hand tracks the actual distance it travels. When it has traveled 50 meters, change it to returning. If it collides with anything other than the player, immediately change it to returning; if the struck body is dynamic, apply a punch impulse of approximately magnitude 6.5 away from the hand at the collision point. During return, continuously steer the hand toward its moving camera-side anchor at about 55 m/s; when it comes within roughly 0.65m, holster it and make it ready to fire again. Holstered hands should remain glued to their respective anchor positions, while fired hands and their tether remain visible in the world.

Use fixed-step physics around 60Hz and synchronize all rendered meshes to their physics bodies. Add clean minimal HUD text in the upper-left: bold “Twin Reach,” then “Click to lock mouse. WASD move • Mouse look • Space jump • LMB left hand • RMB right hand • R reset,” and a live status line displaying “Grounded: yes/no | Left: ready/out/returning | Right: ready/out/returning.” Place a small white crosshair at the exact center of the screen. Before pointer lock, show a full-screen translucent near-black overlay and a centered dark navy rounded panel with the title “Twin Reach,” instructions explaining “Click to start (pointer lock),” “LMB shoots left hand, RMB shoots right hand,” and “Each hand auto-returns after 50 meters,” plus a blue Start button. Hide this overlay after locking and show it again on unlock. There is no score, enemy, inventory, timer, or win condition: this is an open-ended playground for walking, jumping, firing both hands, and knocking physics props around.

More free browser games

Browse the whole Arcade →