mrdoob/three-descent — explained in plain English
Analysis updated 2026-07-27 · repo last pushed 2026-06-03
Play the shareware version of Descent Episode 1 for free in your browser.
Drop in your own registered Descent game files to play the full game on the web.
Study the code to see how a classic 3D game engine can be ported to Three.js.
| mrdoob/three-descent | maxi1134/bps-improved | energypantry/agent-browser-runtime | |
|---|---|---|---|
| Stars | 87 | 87 | 86 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | 2026-06-03 | — | — |
| Maintenance | Maintained | — | — |
| Setup difficulty | easy | hard | hard |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | general | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Just open the webpage in a modern browser, no installation, plugins, or setup required.
three-descent brings the classic 1995 first-person shooter Descent to your web browser. Descent was famous for its six-degrees-of-freedom gameplay, meaning you pilot a spaceship through fully 3D tunnels and chambers, rotating and moving in any direction, up, down, sideways, and everything in between. Instead of digging out a vintage PC or setting up an emulator, you can just visit a webpage and start playing. The project runs entirely in JavaScript using Three.js, a popular library for rendering 3D graphics in the browser. The original Descent source code, created by Parallax Software and preserved on GitHub, was adapted to run within this modern web framework. The README notes that the port was built by mrdoob (the creator of Three.js himself) with assistance from Claude, an AI coding tool. The game loads its levels, textures, and other data from the same file formats the original game used. The repository includes the shareware version of Descent's data files, which covers Episode 1, essentially a free demo of the full game. If you own a registered copy of the original Descent, you can swap in your own game files to access the complete experience. This means the project serves both as a convenient way to try a piece of gaming history and as a way to replay the full game in a modern, accessible format. This project is a neat example of how older software can find new life on the web. Browsers have become powerful enough to run a full 3D game from the mid-90s natively, without plugins or installations. By building on Three.js, the port leverages a widely-used, well-maintained web graphics library, making the game accessible to anyone with a modern browser. The README is sparse on implementation details, but the result speaks for itself: a piece of gaming history, playable with a click.
Play the classic 1995 3D spaceship shooter Descent directly in your web browser. Built with Three.js, it runs the original game data with no plugins or installations required.
Mainly JavaScript. The stack also includes JavaScript, Three.js.
Maintained — commit in last 6 months (last push 2026-06-03).
No license information is provided in the repository, so default copyright restrictions apply and usage rights are unclear.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly general.
This repo across BitVibe Labs
double-check against the repo, no cap.