Global-scale reproduction of Mars on voxel.js
CoffeeScript JavaScript CSS HTML Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
css
html
js
static
world
.coffeelintignore
.gitignore
README.md
build.sh
coffeelint.json
package.json
preview.coffee
upload.sh

README.md

Voxel Mars

Explore every corner of the red planet.in your browser

In 1996, the Mars Orbiter Laser Altimeter (MOLA) flew aboard Mars Global Surveyor. Using infrared laser pulses, it created a precise map of the planet's topography.

MOLA

We're loading this data onto the awesome webgl-based voxel.js engine so that you can take a hike through Valles Marineris, climb up Olympus Mons and say hello to Curiosity on Gale Crater.

Voxel Mars

This release is a very early alpha; right now you can freely roam through the entire surface (well, except the poles) of a scaled down Mars; we're using the highest resolution map provided by NASA, at 463 meters per pixel. Since your avatar is ~1.5 voxel high, yes, you're seeing Mars through the eyes of a ~694m tall giant. Still, it would take about 1 hour and 47 minutes, walking non-stop, to go around the world.

Future ideas include:

  • interpolate MOLA data as far as possible to get closer to human scale

  • use HiGHRISE DTMs (available in select locations with a resolution of ~2m per pixel)

  • a science-based (no dragons) survival mode on which you have to generate your oxygen and fuel, extract your water, grow your food, make martian bricks, etc

  • use voxel-sky to add phobos and deimos

  • add every lander and rover ever sent to Mars and put them at their correct locations

  • allow player to fly in "tourism" mode

Live demo

http://www.voxelmars.com/

Running locally

Clone repo and install dependencies

git clone https://github.com/rachel-carvalho/voxel-mars.git
npm i

Download the MOLA data (2GB total, might be a good idea to go get a cup of coffee)

npm run download

Slice them into smaller PNG files (should take less than 4 minutes)

npm run slice

Run with

npm start

And that's it! Go to http://localhost:3000/ and enjoy!