Solving the 'sandbox' desire, geniuses needed!

Started by
29 comments, last by Avator2138 21 years, 11 months ago
This is avator2138, changed my name into Mandarijn

First of all, thank you all for your contributions!


Jindocai, happy you like the gameplay aspects, of course the terrain should be altered, that''s the most important thing, being able to throw with that snow is interesting too, but secondary to the shaping experience, shaping your terrain in-game with a simple building technic, sucking and spitting, is revolutionary (or not anyone?). It won''t be snow but clouds where the people are living in. I''m not shure yet whether shooting something, clouds then, will be possible. Look for me at the game design platform, I''ll discuss some topics on the gameplay aspects overthere. About that ''cube'' engine with transformable heights, ceilings and walls, I can''t find it on that opengl.org site. Can you find it back, or something comparable?

About the technology, Yan L. you seem to be very dynamic on that level. Your first solution is really cool, having such a dynamic pressure field would be impressive indeed. Although too complex for now such a construction has lot''s of power.

nonnus29, "streams" good idea, you will be able to widen or narrowing the opening of your ''sucky'' mouth and that way decide the thickness of your ''brush''.


Heightmaps!

Would it be possible to use this technic in really 3d, so that you not only can highten and lower the terrain but also can dig wholes or bridges.

The game is situated in the clouds. The people your playing in live in the clouds, they can walk on it and they eat crystals that grow on them (they can fall off the clouds too, jump from one cloud to the other or fly). Now it would be fantastic if they would be able to manipulate those clouds and shape all kinds of things out of it. The characristics of those clouds would be that they are sticky like snow but it''s not heavy, it doesn''t fall, it floats.

(to simplify, let''s say there is no wind, so when you blow out some clouds it stays on that place)

We could start with one big cloud. A big balloon object, a round heightmap. When you suck some cloud from the big cloud that round heightmap shrinkens a bit on that place, could be done vertical, you are standing on the cloud and suck from the ground just in front of you, but horizontal too, you are standing next to a big cloud (on the same cloud), and suck a whole into the big horizontal wall.

Is a 3d heightmap possible and is it the proper solution for the shaping cloud experience?
Advertisement
The standard method for solving these kind of problems is the Finite Element Method (FEM) sometimes called Finite Element Analysis (FEA). Generally with these methods you define your problem space then you split it up into discreate volumes or areas (3d or 2d - lengths for 1d) by creating a mesh. The solution time will depend on the fineness of the mesh and the number of dimensions to consider. If you aren''t examining anything particually complex in terms of geometry you could probably get away with an extremelly course mesh & interpolating the results. If you''re serious about persuing this course I''d suggest you have a look at the books in a uni library - search for FEM, FEA & Fluid Dynamics - you may also find some useful stuff in the structural mechanics (very similar method of analysis - different eqn''s though, although similar principles to derive them). The books I''ve read that I can remember are by Bathe (The Finite Element Method ?) and "Programming the Finite Element Method" by Smith & Griffiths (pub. Wiley) [hope your FORTRAN 90''s good!]

As others have mentioned before it is slow, although accurate...I wonder if simple fluid dynamics will do the job you want (Benoulli etc.) especially if what you want is basically a sort of stream tube ? I was recently running a 2d flow sim on my 1GHz comp using a mesh of about 4000 triangles for 1200 steps which took the better part of a day to run due to some instabilities in a wake that was being generated. Look on the web for SLFEA...this might help for code ???
NickB I''m not a coder, I just thought of some interesting feature I would like to use in a virtual world. This seems to be the approriate place since here some people know how the engines actually work, or have a simply a view on what is possble (yet) and what not.

Your explanation is quite complex to me. Do you build up the heightmap approach with those finite state theory? SLFEA, what is it exactly, kind find anything back? What do you mean by ''this kind of problem'', in the beginning of your post? The shaping feature probably, but what would your approach be and what can you realize, easily explained?

Indeed a sort of stream tube would be interesting.
Heightmaps would have to be layered in order to achieve things like bridges and such. Tricky, but doable, at least for static environments.
I suggest instead that you have a look at www.melax.com/vox/
It describes a technique that may suit your requirements, and has a working demo too.


[edited by - plasmadog on March 24, 2002 7:41:37 PM]
You are not the one beautiful and unique snowflake who, unlike the rest of us, doesn't have to go through the tedious and difficult process of science in order to establish the truth. You're as foolable as anyone else. And since you have taken no precautions to avoid fooling yourself, the self-evident fact that countless millions of humans before you have also fooled themselves leads me to the parsimonious belief that you have too.--Daniel Rutter
Plasmadog, thank you very much for the link, it''s fantastic!

There''s a lot of potential with this voxel&vertex combination technic. So how come there isn''it any commercial application available yet wherein you can transform, shape the 3d environment interactively?

So, has anybody here on the platform thought about such an application before?
that melax-page won''t work for me.
Doing my impression of a Slashdot karma whore, here''s the Google cache of the paper there:
The paper
I have a completely different idea for handling the physics side - two, actually. The first is very complicated. The second is absurdly simple.

This first idea is for the "cloud-sculpting" game.

Have a large number of particles, which have cohesion and separation behaviors (like flocking, except they aren''t continuously moving), and are affected by viscous drag. These particles exist only for simulation purposees, and are not rendered.

Now each one of these particles contributes to an influence field, according to some function (perhaps inverse square?).

Imagine that all values below a certain threshold value are "empty" and that all above are "solid." Create a polygonal representation of this field using the marching cubes algorithm.

When the player "sucks," he basically creates a gravitational force (which acts only within a conical region) that attracts these particles. When he "spits," he expels those particles, with random velocities (a la Quake shotgun).

This probably sounds rather ambitious, and it is. But it''s no less ambitious than any of the other cloudscape ideas mentioned here!

For an easier-to-deal with environment, go with the original snowscape idea. Here''s a really simple way to deal with that: Use a heightmap. "Sucking" subtracts from the height values in front of the player; "spitting" adds. Render it as a simple grid of triangles with some depth fog and bam, you''re done. Want to add snowfall to keep things interesting? Make it random. You''ve seen plasma effects before; imagine a behind-the-scenes "plasma effect" controlling a "snowfall density map" that controls how much snow is added to each section of the heightmap in a given amount of time.
I just read the paper Alimonster provided; it seems my idea and melax''s have a lot in common!
About those layered (3d) heightmaps for bridges and such....
There''s an easy way to do that: break the playing field up into tiles. When someone creates something that requires a 3d map instead of the standard 2d map, simply break that part of the landscape off as a new 3d tile. That way you only do 3d calculations where you need to; most of the landscape would only need 2d maps. Anyway, this tiling would be dynamic, so a new, "clean" playing field is one, big 2d tile. When somebody makes a bridge in the middle of the field, it gets split (necessarily) into 9 tiles: 8 2d tiles around the bridge, and the 3d tile the bridge itself is on.

Also, when you think about it, aren''t all games going to use voxels eventually?
[philosophy]
And when you think about it, isn''t everything made of voxels? Photons, neutrons, protons, electrons: all are tiny particles, effictively points in space, with a 3-dimensional area of electromagnetic influence. And of course, those voxels are made of smaller voxels: quarks, which may be made of smaller voxels....what if everything in the universe can be described by recursive algorithms?[/philosophy]
-----------------------------------"Is the size of project directly proportional to the amount of stupidity to be demonstrated?" -SabreMan

This topic is closed to new replies.

Advertisement