GRAVITY WELL Play

Trailer Real gameplay, captured in the browser build

About this game

Start as a speck of gravity in a drifting debris field. Swallow dust, then rocks, satellites, ships, moons, planets and gas giants, and grow until even a dying star is on the menu.

Gravity Well is a 3D survivors-like roguelite. Anything smaller than you spirals into your accretion disk and gets spaghettified; anything bigger hurts. Chain swallows for a combo multiplier, and every level-up hands you a choice of three upgrades: dash, orbiting shards, gravity pulses, a twin hole, an event shield and more, with synergy upgrades like Quasar Jet and Shard Storm once you own the right pairs.

The field fights back. Hunter ships strafe and shoot until you outgrow them, comets streak in behind red warning lines, and rival black holes eat and grow alongside you. Around the four-minute mark a dying star appears: stay close to drain it, dodge its flare rings, and consume it before it goes supernova.

Every run earns stardust for permanent upgrades, new black holes (Quasar, Magnetar, Primordial) and harder sectors. Runs take a few minutes, and on a Meta Quest you can play the whole thing as a tabletop diorama in VR.

Features

Grow from dust to star-eater

Seven size classes, from Dust Mote to Stellar Class. The camera pulls back as the universe shrinks around you.

Combo swallows

Chain swallows for an XP and score multiplier. The chimes climb a pentatonic scale as the combo builds.

Pick 1 of 3 upgrades

19 upgrades in three rarities, including four synergies that unlock when you own the right pairs.

A dying star boss

Drain it, dodge its flare rings, and consume it before the supernova timer runs out.

Hunters, comets & rivals

Hunter ships shoot until you outgrow them, comets telegraph their paths, and rival holes compete for the same food.

VR-ready on Meta Quest

Open it in the Quest browser and press Enter VR to play on a floating tabletop diorama.

Meta progression

Stardust buys permanent upgrades, four black hole types and three sectors. Rotating challenges keep each session fresh.

Quick runs, instant restart

Runs take minutes and restart with one key. It loads in about a second, with no install and no account.

Screenshots

Controls

Keyboard & mouse

  • MoveWASD / arrows, or move the mouse
  • DashSpace / click / right-click
  • Pick upgrade123 or arrows + Enter
  • PauseEsc / P
  • Play again / menuR / M

Gamepad

  • MoveLeft stick
  • DashA
  • Pick upgradeD-pad + A
  • PauseStart

Touch

  • MoveDrag anywhere (virtual stick)
  • DashDASH button
  • Pick upgradeTap a card
  • Pause⏸ button

Meta Quest (VR)

  • Start🥽 Enter VR on the menu
  • MoveThumbstick
  • Dash / pick / restartTrigger
  • PauseA / B / X / Y

What's new from the changelog

v1.32026-09-27 (active play time + privacy)NEW

Shipped

  • Active play time: the game now tells the shared tracker when it is not in gameplay (Feedback.state / setPlaying, guarded so older feedback.js builds still work). Derived from the game mode, so desktop and VR report the same way: run and level-up choice = playing; pause (including VR pause and auto-pause on tab hide) and the feedback box during a run = paused; title/main menu, upgrades shop, records, settings, how-to and the Game info link = menu; death / run-end screen = gameover. Only transitions are reported: no timers, no synthetic input.
  • Store page reports menu (browsing is never play time) and keeps its own game1-info telemetry namespace.
  • Privacy: removed personal names from shipped text and comments; the store page credits the XR Intel Game Lab contest.
v1.22026-09-27 (coach hints)

Shipped

  • Persistent bottom/center #hintBubble card (dismiss ×, soft glow, pointer-events on the card only) — distinct from fleeting #toasts. Respects reduce-motion; hidden in ?shot=1 / ?cap=1 and skipped in VR DOM.
  • Stuck / coach detector in ui.js (hintTick from the 100 ms HUD loop) while G.mode==='run' (plus idle level-up). Tracks movement, swallows, mass, hits, dash uses; shows one hint at a time, ~14 s cooldown, auto-hide ~8 s or when the suggested action happens.
  • Hint ids: objective, move, eat, stuck_mass, bigger_hurt, combo, levelup_keys, dash.
  • First-run coach: objective bubble + controls strip (~7 s) when save.stats.runs < 3 or first run of the session (replaces the three quick toasts).
  • Telemetry: hint {id, reason}, hint_dismiss {id, reason}.
Show 2 more
  • Minimal game.js expose: runInfo() adds x/z, lastHit, startMass, dashUses; dash increments S.dashUses.
  • How to play: one line pointing at live hints.
v1.12026-09-27 (store page, key art & trailer)

Shipped

  • Xbox-store-style game info page at /game1/info/: hero key art, Play now, genre chips, platform badges, gameplay trailer, feature highlights, screenshot gallery with lightbox, controls for keyboard/mouse, gamepad, touch and Quest, and this "What's new" list (generated from CHANGELOG.md at build time). Small "Game info & trailer" link under the main menu.
  • Media for the front-page shelf in /game1/media/ (per MEDIA-SPEC.md): meta.json, banner.jpg (1920x1080), cover.jpg (600x900), social.jpg (1200x630, og:image), icon.png (512), trailer.mp4 + poster.jpg, shot1-4.jpg. All real in-game renders and footage.
  • og:/twitter meta tags and favicon on the game and info pages.
  • "Leave feedback" link (../?feedback=1 opens the in-game feedback box on the menu).
  • Store page telemetry goes to its own namespace (game1-info: info_view, trailer_play, play_click), so it never counts as game1 play time.
Show 3 more
  • Test-only capture flags: ?cap=1 (frame-stepped deterministic rendering driven by G.capStep, used to record smooth footage headlessly) and ?shot=1 (hides HUD and overlays for clean renders). No gameplay changes.
  • Test autopilot (?bot=1 only) now hugs the dying star during the boss so recorded runs reach the finale; the UI's toast/combo/run-end timers run on sim time under ?cap=1. Store page info_view waits for tracking consent (consent-aware feedback.js).
  • Trailer: 40 s, 1280x720 H.264 (~6 MB), title card, early growth, level-up pick, combo chain, hunters, planets, dying star consumed, end card.

GRAVITYWELL

Free in your desktop browser and the Meta Quest browser.

Play now