How one man created his own universe
5th Oct 2008 | 09:00
How Dan Dixon fashioned a whole universe out of mere bytes
Computer applications shouldn't make you feel godly; that's a domain usually reserved for gaming.
Universe Sandbox isn't a game, yet we feel a million feet tall and can shoot moons out of our fingertips. As experiences go, that's unique. The fact that we recently smashed two distinct galaxies together to see what happened (a boiling mess of stars and obliterated matter, if you're wondering) is neither here nor there.
The word 'sandbox' is frequently bandied around, often without the required clarity. We're sick of seeing 'physics sandboxes' that consist of nothing more than a basic physics engine and some cubes. The next time someone describes a generic open-world game as a 'sandbox', we shall scream.
Construction-heavy Second Life, perhaps; Built-for-you GTA, no. Which is why we're a little conflicted when it comes to Universe Sandbox.
It's not a big scientific application, you see. You won't find every strand of complicated physics replicated in this copy of the universe. There's no General Theory of Relativity, which essentially ensures that none of us will be relying on it's asteroid impact predictions to save us from exploding sky death.
It seems more like a toy designed so that easily stimulated minds like ours could bash a couple of universes together and giggle with childish glee. The author, Dan Dixon, admits on his website that the code isn't entirely stellar – while it makes use of Newtonian physics, it's a "brute force n-body algorithm" which does most of the work – but there are so many variables in the universe that true simulation would be impossible. That such a high-level sim can occur on such little processor overhead is, therefore, remarkable.
Made to measure
Development has progressed steadily over a number of years. "Fifteen years ago in high school I came across a very simple gravity simulator and decided to write my own," Dixon told PC Plus magazine. "With some help from my Dad, who also inspired my love of astronomy, I wrote a very simple simulator back in 1993. I revised this idea in 1997 and created the first 3D version in 2000. Older and wiser, I began working with the idea again in 2007 but this time I kept going."
Universe Sandbox seems to have benefited from this loose development structure – unconstrained by a concrete plan, Dan Dixon just let his enthusiasm drive the project along. "I would add a feature, get it working, and then move to something else. There was never a specific plan: I was just making something that I wanted to play with. And I discovered that others wanted to play with it too."
And why does Dixon feel the project is so appealing? "I've always been interested in the fascinating motion [generated] from such simple maths," he says. "Yet unlike fractals, which are less tangible, the maths behind gravity is so clearly epic and beautiful."
As a teaching aid, we can't think of much better. Showing your audience the movement and relative size of the solar system will certainly be an eye-opener under the auspices of Universe Sandbox's crisp, anaglyphic 3Dcapable graphics engine, as will lining up the bodies in the solar system in size order then having them career into the sun.
Universe Sandbox is full of entertaining demos and effects that put you in the middle of some fairly improbable situations. "Most of the 'Fun things to Do' activities are simulations that I created to entertain myself and my brother," says Dixon. "I really like playing with particles while wearing 3D anaglyphic glasses. I'll often find myself adding rings around bodies and then introducing massive planets to twist and distort the rings into strange, organic shapes."
Replacing the sun with a supermassive black hole only to see everything from Mercury to random Kuiper Belt objects get sucked into its gargantuan mass is indeed rather satisfying, although it does remind us of Universe Sandbox's sometimes cunning methodology.
A Black Hole in this case is a huge star with enormous gravity rather than a new object with different properties. Rings around planets are simulated by weightless, collision-free particles rather than fully simulated microscopic chunks of ice.
A star is a star is a star – while you can change specific gravities and densities, there's no physical distinction between a sun-like star and a brown dwarf. But it could easily be argued that adding such things would be detrimental to the overall effect; if one can simulate a black hole by building an enormous, physics-defying star, why go through the extra computational effort required to build an accurate simulation?
"There's still lots of room for improving the algorithms, which would improve the efficiency and speed of the program," says Dixon, "but the end result isn't going to be very obvious to the end users, so it's a lower priority than other features."
One man army
Perhaps the most impressive feature of Universe Sandbox has nothing to do with the software itself; it's that such a professional chunk of code could come from just one person. It can't be an easy task, surely? Dan Dixon explains,
"I left my job as an Associate Producer in the video game industry because of my dissatisfaction with the game I was working on. Even though Universe Sandbox isn't earning enough to justify the amount of time that I dedicate to the project, it's pretty easy to work on something I love." Love is one thing; making an independent distribution model work is quite another.
"My 'pay what you think it's worth' payment model has been an interesting experiment," says Dixon. "It's worked better than I expected. I'm realising this could become my full time gig." Dixon reckons he spends anywhere from 20 to 80 hours a week on Universe Sandbox-related activities, which includes everything from coding to answering emails.
Even if it wasn't presented so professionally or it hadn't turned out to be such brilliant fun, we'd still be applauding Universe Sandbox. It's a perfect example of programming ingenuity taking precedence over painstaking high-end simulation.
One of the built-in examples shows you the devastating effect the explosion of the Death Star had on planet Endor; if that doesn't encapsulate Universe Sandbox's underground ethos, we really don't know what does.
First published in PC Plus Issue 274