I was wondering if it is possible to create a program that actually makes things move in an enviroment, like a 3D animation thing. I'm pretty sure the answer is no, I was just curious.
Printable View
I was wondering if it is possible to create a program that actually makes things move in an enviroment, like a 3D animation thing. I'm pretty sure the answer is no, I was just curious.
everything is possible Adam - everything depends mainly on your imagination and then your skill :)
Well, yea, just like any game that is 3d. There are a few API's specificly made for 3d rendering, and I wouldn't be surprised if some one hasn't already made a program that models planets in a solar system. I believe there is one science musem that uses a super computer to do this (using a big SGI computer, used to be one of the top ten supercomputers, and might still be on that list, although it is a little old, as I read about this in Maximum PC a few years back).
>>creating a universe
Kind of hard to create a 100% accurate universe. For example, you'd have to store positions with infinite accuracy/precision for an infinite number of points, and once you've done that you have to take into account light's screwed up time properties.
>>everything is possible Adam - everything depends mainly on your imagination and then your skill
Assuming that's true, you can create a universe as long as you have the imagination and skill to invent an infinity machine. Build a bigger universe and the world will beat a path to your door :D
How do we know if the Universe is infinite, although we don't know of an edge, whos to say there isn't one (the main problem with infinity, you don't know if its truely infinite, except in theory) Although Numbers are as far as we know infinite what we can represent is finite, because of memory constrants.Quote:
Originally Posted by Hunter2
>>How do we know if the Universe is infinite
I suppose we don't. But we haven't yet found a limit, and we haven't found a unit small enough to be the smallest possible unit. As far as we know, as long as there is more than one point existing, there are infinitely many points in between the two of them. And, yes, I'm working on the assumption that there is more than one point in existence ;)
Philosofy... :o :o :o :o :o :o :o :o :o :o
er, philosophy; and yes we did get off topic - I think you guys misunderstood the question.Quote:
Originally Posted by xErath
But as long as we are off-topic, do you think creating an infinite universe (virtual that is) is possible?
Given infinite memory, yes. OR, conversely, given some pretty dang good techniques of discarding "un-needed" objects that take up memory. ;)Quote:
Originally Posted by axon
>>Given infinite memory, yes. OR, conversely, given some pretty dang good techniques of discarding "un-needed" objects that take up memory<<
I was actually thinking given limited memory...sort of generating random terrain as you go; the problem arises when you would go back, the terrain would have to be the same - so maybe follow a set of certain rules, but that would lead to repetition sooner or later.
Well, you could set up some rules using (x,y,z) coordinates for "important" things (such as planets). You only load into memory an area that is, say, +/- 10 units on every side of the player, but keep a note as to where that would be on a coordinate plane so that if the player goes back, those important objects would be re-created. Have a limited random generator for the landscape.Quote:
Originally Posted by axon
That might actually work. *shrugs*
>>so maybe follow a set of certain rules, but that would lead to repetition sooner or later.
Well, if you're following a set of universal physics rules, eventually you're bound to get repetition anyway... aren't you? At least, before eternity ends :p
But then, generating 'random' terrain wouldn't really be a real universe. And how do you take into account life? It's hard to backwards trace when the universe doesn't wait while you explore a different region, unless you're talking about a single snapshot of an imaginary universe :)
In three dimensions, we have shown space is curved. In the other seven or so that string theory uses, I have no clue.Quote:
Originally Posted by Hunter2
Planck length.Quote:
Originally Posted by Hunter2
;)
On topic, though. Yes, there are ways to compute solutions to the n-body problem (particles moving about in space). It can be done fairly quickly on a PC provided you don't let the number of particles grow too large. There is a project at LANL called Rave (I think... It may be Rage, but I don't think so), that uses a large SGI to model and visualize currents within a star using a lot of particles. Just Google a bit for the n-body problem, and you will get a ton of info (it has been done often).
>>But then, generating 'random' terrain wouldn't really be a real universe. And how do you take into account life?<<
jesus, I'm not going that deep into this...not even space as someone mentioned. I was thinking more in the terms of an infinite plane.
On another note has anyone seen the movie "13th floor", granted it is not a very good flick (actually it is a pretty poor film) but the ideas in it are quite interesting - these people lived in a very limited universe,which was quite implausable. Actually, the movie inspired me to create a very limited universe for my "bot" (man, I really hate calling Fyodor that ;) ).
>>Planck length.
:rolleyes: Let me rephrase that. As far as I know. ;)
>>uses a large SGI to model and visualize currents within a star using a lot of particles.
:) Hey, you could use the reversible random-terran generation algo to 'predict' the location of the next star system, then use the SGI stuff or whatever to simulate it once you arrive! That would be an interesting idea for a game... 'real' intergalaxial conquests :)
**EDIT**
>>In three dimensions, we have shown space is curved.
Cool... so some sort of 3D mobius strip or something? :confused:
Yeah, and heres' something that I have wondered about for a very long time: Why did the chicken cross the mobius strip?Quote:
Originally Posted by Hunter2
Regards,
Dave
Haha! That is great! :D
Isnt' repeating forever infinity? So an infinite plane would be like a car racing game driving into the horizon forever.
>>So an infinite plane would be like a car racing game driving into the horizon forever.<<
yes, that is what I wasthinking about, but with the ability to go back - that is where it gets tricky, because you have to either have some way of storing what happened or follow certain rules, which lead to repetition etc etc.
If you want to create 3d animation and dont want to touch opengl :-) then you could use a developers toolkit ie OpenInventor or open scene graph.
These integrate into c++ and remove much of the coding ie 50 lines of ogl code can be 2 lines in OIV.
You would never be able to track a truly infinite plane (and be able to go back). You could track a large one, though, so long as you have a nice way of recreating it from stored parameters or actually reversing the function. (Of course, it really doesn't have to be a plane, per se.)
>>You would never be able to track a truly infinite plane (and be able to go back).
Not even with an incredibly ingenious random generation algo?
According to quantum therory, everything (time, mass etc.) comes in very small packages.Quote:
Originally Posted by Hunter2
The shortest amount of time is around 10^-43 seconds.
The shortest distance is 10^-35 meters.
http://www.physlink.com/Education/AskExperts/ae281.cfm
Infinite precision isn't neccessary, 256-bit integer will probably be enough. :)
Just make a loop like this to simulate movement:
:)Code:int256 time;
while (true)
{
pos += speed * 1e-43f;
time++; //Stepforward one interval
}
Even with that brilliant algorithm. The problem is not the algorithm, but the data stored. Imagine that you used a true random source (regardless of wether or not you think such a thing exists, we'll assume it does) to generate frames of your plane (never mind tracking them), you only grab a finite (but perhaps very large) amount of data from it each time (measuring in bits seems natural). The result is that, no matter how big your parameters, they only have a finite number of possible states.
>>According to quantum therory, everything (time, mass etc.) comes in very small packages.
But what about very large packages? I.e. the edge of the universe and eternity? :) Or does it come down to the 'ol mobius strip of the universe where we keep going but end up where we started, thus creating only an illusion of infinity?
>>http://www.physlink.com/Education/AskExperts/ae281.cfm
Haha, I was just there yesterday as I went to look up "Planck Length", inspired by zach's post... :D
**edit**
>The result is that, no matter how big your parameters, they only have a finite number of possible states.
If you mean that eventually you'll run into an area of terrain which is a duplicate of another, that isn't really a problem is it? Because there's no physical rule of the universe that decrees that each object must be unique... it's just that you don't want to run into a loop that keeps generating the same terrain endlessly - but if by pure random chance you run into a clone of another area for an instant, that's entirely within the rules of the universe isn't it?
Perhaps the universe is infinite, but its mass isn't. There is no need to simulate the parts of the universe that has no mass. :)
Hehe, Google power... :)Quote:
Originally Posted by Hunter2
>>Perhaps the universe is infinite, but its mass isn't. There is no need to simulate the parts of the universe that has no mass.
But if its mass is spread to infinity (and I suppose someone has already proven it isn't :rolleyes: ), then the data used for storing the position data would also need infinity - unless, again, you're dealing with random terrain :) But if it's spread far enough that the amount of resources readily available on the Earth won't be enough to build a supersupersupercomputer with enough memory for it, then I suppose technically it still is impossible (assuming we run out of resources before colonizing other planets). [edit]I'll rephrase that, if we can't harvest enough resources without causing some drastic environmental disaster that will destroy the computer anyway :)[/edit]
**EDIT2**
[offtopic^2]
Well, you could create a 'universe'... like... the BattleTech universe. If you write a nice story and history, you can create a ripoff of the real universe and name it something else, and you'll have a whole new universe! :D
[/offtopic^2]
Well, as long as you don't mind looping through terrain you've already been through, you can continuously generate terrain as long as you want. Unless it is an easily reversible function (in which case, it is bound to be periodic simply due to the nature of functions that computers can deal with), you won't be able to back-track too long.
The theory isn't that the universe is a mobius strip, but rather that our particular three-dimensional space is inflating (like a balloon's surface in the two-dimensional case). We can see things speeding away from each other in this manner. And, if the universe had spread out infinitely, then we would not bee able to see the distant objects (the average matter density of the universe would be 0).
The problem with modeling every piece of matter in the universe is 1) the most efficient way would just be to put a particle there and ask it where it is, how massive it is, etc. (in other words, a one-to-one correspondence, the universe itself would have to be the computer, otherwise you would need more matter than exists -- but the mechanism for polling/communicating with these particles is unclear), and 2) you really have to take into account particle-wave duality.
>>the average matter density of the universe would be 0
Right, I realized that shortly after I posted :)
I didn't mean looping through terrain you've already been through - although I suppose that's what it would come to eventually... Perhaps you're right that it won't work. But it sure would be cool :) Just imagine the creatures in the universe... "Ahh, the camera's moving away, we're gonna go out of scope.. hurry, run!!!!!" :DQuote:
Well, as long as you don't mind looping through terrain you've already been through, you can continuously generate terrain as long as you want. Unless it is an easily reversible function (in which case, it is bound to be periodic simply due to the nature of functions that computers can deal with), you won't be able to back-track too long.
>>the most efficient way would just be to put a particle there and ask it where it is, how massive it is, etc.
Well, if you have a really neat compression or prediction algo then perhaps it could be done :)
Yeah, it would start looping over eventually (there are only a finite, but really bloody large, number of possible states), but for all intents and purposes, it may have an "infinite" cycle.
Hehe.. I would be worried about the "lossless" part of the compression algorithm. ;) "Oops. That galaxy appears to have been corrupted."
>>Hehe.. I would be worried about the "lossless" part of the compression algorithm.
See Prelude's compression algo :D
"Oops. The universe seems to have been sucked into a blackhole and crushed to the size of a carbon atom." ;)
So is anyone going to do this, or at least attempt to do this?
>>So is anyone going to do this, or at least attempt to do this?
Not unless you give us the money to build a supersupersupersupercomputer out of all possible harvestable resources on Earth..
ok lets see. Maybe just a sloar system then? Or is this idea just given up all to gether? It sounds like a great idea!
well create people, create! I want to see something truly amazing from you! ;)
>>>>>>>>****UPDATE****<<<<<<<<<<<
I have read all of your responses. A few things I want to say.
Is there such a thing as a de-compiler?
The universe would work by setting some simple variables, like amount of matter, energy, and space, etc. Then the program would (in accellerated time) simulate the progress of the universe. Everything that has been discovered that uses mathematical equations will be used.
I am not sure what your source code means, whoever it was that told me about Planck's constant and all that. I am somewhat familiar with quantum theory, and general relativity. (I figured that if arrays can move into multiple dimensions, like time). Energy units can be set into photons, gluons, and h bosons, and gravity could follow general relativity. The basic idea behind all of this is that if all known theories are used, then it may be an invaluable resource to the discovery of the Grand Unified Field Theory.
Also, I have found something called Celestia, it is similar to this idea, except that it doesn't include forces.
Check it out and tell me what you think:
www.shatters.net/celestia
Feel free to contact me at: [email protected]
I appreciate any help anyone can offer.
>>Is there such a thing as a de-compiler?
Yes, though generally not very useful.
Very nice. I like it :)Quote:
>>I appreciate any help anyone can offer.
Sorry. Can't offer anything there.
There are simulations like this that are used for research (particularly the testing of theories, obviously -- make a universe, if it looks like the one we have [roughly], then it is at least, viable). You have way too broad a problem to work with there. Try narrowing it down. An n-body simulation is a good start (modeling planets, or charged particles in EM fields), as it deals only with forces on particles. There is a lot that goes into making a good n-body simulation (though, relatively poor ones can be made in a matter of minutes). But there is no way you can simply simulate everything, especially when not everything is understood.
If it were up to you guys we would never have any space games. Get real.
Yes it is possible to simulate a universe. No it's not possible to create an infinite real-time universe that we can relate to because for one we don't even have all of the information required to create even a small star system.
All these things can be simulated with finite data sets. It's amazing how much realism you can get with a set number of variables.
As for memory constraints that is quite simple to overcome. You only load in what you need and cache the rest. Essentially you only need to calculate changes on objects that are not seen. For instance say a planet is not in the current system. All you must do is track its rotational velocity vectors both in model space and world space and then when you get close to the planet, update the rotation matrix based on the accumulated information. But who really cares if the thing is rotating if you can't see it? Best bet is to simply leave it alone.
I'm tackling this problem in my current project and there are certain variables that are not worth updating if you are not around to see the results. Who cares if a tree is falling right now in a forest somewhere? I'm here, I'll never see it, hear it, or know about it...till perhaps when I go walking through the forest and see the result - IF i ever walk through the forest where the tree fell.
Elimination of unnecessary data sets is the key to having a living thriving universe in any game. If it's not near you then it doesn't matter. What you need to concentrate on is getting the stuff that's near you to act and look right to the best of your ability. Then the illusion is there that it is a living breathing universe.
Realist... :o
<<<<<<YET ANOTHER UPDATE>>>>>>>
What I'm talking about is writing a C++ program that sets specific variables in a "universe", (forces, amount of matter and energy, etc.), with actual laws of physics, so instead of dealing with planets, it allows treats matter as it is in the real universe. All I really want to know is if there is a program that can use codes written in C++ to create all this in a "real" environment, and have it be in accelerated time or something. Similar to "celestia".
The whole idea of this is to create an "alternate universe" in a computer, run it in accelerated time, and see if it turns out like ours. If it does, then science will have found the sacred Grand Unified Theory. If not, adjustments can be made.
>>create an "alternate universe" in a computer, run it in accelerated time, and see if it turns out like ours.
Oh. Well, that might be difficult. If you really want to prove anything, you need 100% accuracy on all 'known' subjects right? It's hard to simulate that when the universe seems to work on a particle-by-particle basis, and you can never be 100% sure if an approximation you make will throw the result off or not.
http://radio.weblogs.com/0105910/2004/09/04.html
Here is some information on what has been done so far to simulate the universe. It took a super computer with 4.2 teraflops/sec speed to calculate it.
well store in on hdd,
and when the user wants to access that area, load it on a memory
making a virtual universe is simple, but time consuming. I am sure NASA has a virtual universe which keeps expanding as they discover new celestial bodies.
I know there has been some work done at LANL with this sort of thing. But again, the programs have much more defined goals.