Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Graphics Software

Fit An Entire Planet In 90k 122

missingmatterboy points out this "interview with Dr. Ken "Doc Mojo" Musgrave, a computer graphics pioneer who worked with Benoit Mandelbrot generating fractal landscapes and who's designed custom shaders for Hollywood movies. His latest project is called MojoWorld and it uses the power of math to generate infinite-resolution fractal landscapes? one entire planet at a time. It's going to have an open SDK and, to top it all off, a Linux version is also in the works." This is a fascinating project.
This discussion has been archived. No new comments can be posted.

Fit An Entire Planet In 90k

Comments Filter:
  • /.ed already! (Score:5, Informative)

    by merlin_jim ( 302773 ) <James DOT McCrac ... ratapult DOT com> on Wednesday October 10, 2001 @08:08AM (#2410171)
    Here's [google.com] the Google cached copy (which isn't doing much better)

    If you have to see the images, BryceWorld got a beta release and posted a gallery [cyberjournies.com] of images online.

    And if you want to download it immediately to start playing with it, you can do it by filling out this questionairre [pandromeda.com]
  • by hartsock ( 177068 ) on Wednesday October 10, 2001 @08:32AM (#2410236) Homepage Journal
    Here's the easiest way to think of it: each parameter represents a degree of freedom; an axis you can move back and forth along, as you change the parameter's value. So, for instance, specifying a color in MojoWorld adds three higher dimensions: one for each of the red, green and blue values you use to specify the color. Each of these axes corresponds to a higher dimension in Parametric Hyperspace: it's just a different direction you can move in. You can see that, in getting all the settings right for a scene, you've set a lot of parameters, and thus traveled in many dimensions of Parametric Hyperspace.

    Since the product doesn't store individual worlds, but rather parameters for a procedural system... or a point in parametric hyperspace... the data file for a single world isn't large. Each individual world only needs to be defined with a set of n-dimensional coordinates. I don't do much playing with things like bryce or whatever (can't afford it) but if I'm not mistaken that is a significantly different paradigm. What I didn't see is how large the executable was that generated the worlds dynamically from the n-dimensional parameter vector or hyperspatial coordinates. Technically the program wouldn't have to be large either, but I'm curious...
  • Re:Excellent! (Score:4, Informative)

    by flend ( 9133 ) on Wednesday October 10, 2001 @08:40AM (#2410266) Homepage
    Hmmm, an Elite game which uses fractal planets?

    What about, for example, Frontier: Elite2 which pretty much pioneered planet wide fractal terrain gen in a commercial game and ran on a 386.

    Or, its sequel, Frontier: First Encounters which added texturing to make everything look a million times more ugle.

    Or any of the recent fan-made clones, Millenium3 http:://m3fe.com or even The Eternal Project http://compsoc.net/~flend/tep/.
  • by Kieckerjan ( 38971 ) on Wednesday October 10, 2001 @08:41AM (#2410267)
    Gamasutra had a couple of articles on the subject of (real-time) procedural formation of planetary bodies. (Free login required.)

    http://www.gamasutra.com/features/20010302/oneil_0 1.htm [gamasutra.com]
    http://www.gamasutra.com/features/20010810/oneil_0 1.htm [gamasutra.com]

    There is a nifty demo available for download. The same code is used in the glElite [sourceforge.net] project.
  • by Anonymous Coward on Wednesday October 10, 2001 @10:15AM (#2410343)
    Been there, and done that in 1987. It was a cool game with 32768 unique plaents... with terrain to fly thru... Hell it even ran on a C64!


    But for some reason the computer industry seems to belive that if there has been a lapse for 10 years, the next sucessor is suddelny 'new'.


    http://www.mobygames.com/game/sheet/gameId,134/ [mobygames.com]



    www.oldskool.org/shrines/captainblood/capblood.htm [oldskool.org]



    http://argnet.fatal-design.com/bluddian.htm [fatal-design.com]

  • by wurp ( 51446 ) on Wednesday October 10, 2001 @10:56AM (#2410543) Homepage
    I think it's:

    Choose 3 equidistant points on the screen: {x[0],y[0]},{x[1],y[1]},{x[2],y[2]}
    Choose random coordinate on screen (x,y)
    while no user input
    choose random number n from {0,1,2}
    x = (x + x[n])/2
    y = (y + y[n])/2
    plot (x,y)
    loop

    and the points don't actually have to be equidistant, any three points will work. You'll just get a warped triangle, which can look kind of cool.
  • by Chris Johnson ( 580 ) on Wednesday October 10, 2001 @12:03PM (#2410957) Homepage Journal
    I've done this [airwindows.com] too... difference is, when I realised it didn't really lead towards personal Cadillacs etc. rather than immediately decide to take the project proprietary, I just sort of drifted away towards other things... have always meant to return one day, and I will.

    What you're seeing in the mpeg videos behind that link is flyover scenes that generate a terrain grid with dynamic level of detail concentrated near the camera, overlaid onto an entirely synthetic and repeatable world which is derived from multiple pointer math on a large (16M) data file. That means FAST- it was only implemented in REALbasic and still runs reasonably fast, and is a natural for C.

    I also spent some time producing universe distributions- one stumbling block that I ran into that I hadn't got around to solving was what I was keeping world space in, as the universe is very big and at the same time the actual planets would go down to roughly 1/8" level of detail using some approaches for data synthesis. In particular, one of the techniques for positioning stuff would go down to 1/8" level of detail with four pointer-like operations using no kind of higher math. The difficulty is that you don't get a list of objects- instead if you wanted to synthesise, say, blades of grass, you'd go over a ten mile view by scanning across your view grid and every eighth of an inch, would do the fairly quick lookup of whether there was a blade of grass or some similar object on that eighth-inch spot. On the bright side, it would at least be repeatable, being entirely procedural.

    The thing about these projects, and I can see that many people have done them, is that you can get grandiose about them but the bottom line is: this is not a game. This is not inherently fun, or interesting. One thing I'd thought of for _my_ approach is to apply some Warcraft-like game (scaled to MMORG, of course ;) I think that's a rule for all people coding virtual worlds) and make use of the fact that you can have a world-sized area with (perpetual) resources laid out irregularly and down to an extraordinary level of detail. So you could be in a game, and have to dig for gold or iron or something, and go by people's reports of where that resource could be found- including "There's this planet out by Alpha Centauri that's loaded with it". I also had a procedural planet and location name generator that wasn't entirely horrible ;)

    Like I said- you get into this sort of thing and totally forget that it's NOT FUN for anybody else, unless there's a plot. I'd suggest that the author of this more recent work, if he seriously expects to earn money off it, should treat it very much like selling an art object: 'here's a viewer through which you can explore millions of worlds much like Bryce, only with less interaction', and not be too haughty about the price, either. This isn't a set of libs that will be useful for anyone creating a game, period. For one thing, you can get the same thing cheaper from elsewhere- it's NOT a unique idea.

  • Re:Old news... (Score:5, Informative)

    by malducin ( 114457 ) on Wednesday October 10, 2001 @12:06PM (#2410966) Homepage

    Well the thing is Ken Musgrave is one of the pioneers, if anything a lot of people that have posted code like this out there are based on Ken's numerous papers. He was a researcher with Mandelbrot, kinda developed "multifractals", given SIGGRAPH courses about terrain and procedural modeling, and has written several chapters for a great book "Texturing and Modeling: A Procedural; Approach". He also worked for a time for or at Digital Domain, doing code a for the moon on Apollo 13, and procedural smoke for Dante's Peak (not used) and Titanic.

    Here is his webpage:

    Ken Musgrave's website [wizardnet.com]

    Saw Mojoworld briefly at SIGGRAPH and it looked neat.

  • by SurfsUp ( 11523 ) on Wednesday October 10, 2001 @01:00PM (#2411317)
    This is known as the Iterative Fractal System, or IFS, and is actually patented.

    Iterated function system. Compression by this method is covered by US patent 4,941,193 [delphion.com] issued 1990. This is a clearcut example of how a potentially useful mathematical technique has been largely ignored because of its patent encumbrance. Just one more example of how patents are good for lawyers and bad for everybody else. I seriously doubt Barnsley has made any money from the patent, I suspect the book produced more revenue. In any event, whatever usefulness the technique might have is lost to us until the patent runs out in another 8 years or so.

    The word "asshole" comes to mind.

"Spock, did you see the looks on their faces?" "Yes, Captain, a sort of vacant contentment."

Working...