Advertisement

Game Design Theory

Started by December 11, 2013 02:42 AM
13 comments, last by Stavros Dimou 11 years, 1 month ago

Hey guys, just joined. I've recently been really intrigued about the process of creating video games and everything that goes into it. I really have no understanding of any of it... coding wise and all that. But I get the basic concept of it. I don't have much time so I'm just going to get right to my theory or question, and see if I can get answers or spark a discussion.

Why don't programmers program "laws" into a game engine or whatever. Say these laws could be physics, lighting, how matter reacts to other matter with a different mass or same doesn't matter. I know they have physics engines, but why are physics engines convincingly fake when we have all the equations and the real physics data that we could input to create a real-life physics engine? Then once all the foundational "laws" are programmed and set in space, you sort of create the "Big Bang" within the game and let matter react to what the laws state can and can't happen.

A game that kind of showcases what I'm thinking is No Man's Sky. It's all procedurally created. So you don't manually have to program everything into the game, the computer auto-generates it based on laws of the world that have been created I'm assuming. This would save so much power and space on the CPU/GPU (Am i right on this?) and be extremely efficient because there are less objects/sequences that have been manually added that takes up space

I'm thinking if you could create games like how the Universe was created in essence. The Universe, say, has laws set up that every atom of matter reacts to within the limits of these laws. The laws tell the matter that develops within the space what it can and can't do. These laws can be the law of relativity, gravity, etc. etc. We have the math behind the forces of gravity, we can predict what gravity will do to an object with any amount of mass. Why can't we incorporate these predictions into a game/world using mathematical equations/algorithms? With these laws set, we could then go into an engine, let's say, and all you would do to add objects into the environment is choose or create the object then insert values for it's mass, weight, color, density, etc.. whatever values that need to be input so that the pre-programmed laws of the world can read and identify the object and can now react to the said object realistically because the variable in which the pre-programmed law needed to complete the algorithm/equation is now given(Inserted values of object being added). I feel like this way of computation is extremely efficient because once laws are in place, everything else just reacts to it and you don't have to worry about manually programming reactions and interactions.

Of course you could still go in and add dialogue where wanted and NPC and the buildings but you have more room for those things because of the efficiency of the laws.

Please let me know what you guys think, if this is even close to being practical. If there's blockades within programming language that prevents this computational behavior... etc.

Please let me know what you guys think, if this is even close to being practical.

I bet there are more skilled coders writing lengthy and patient explanation on this but for example simulating the Big Bang where all matter is packed to a single point of infinite density... Come on. Theoretically the odds that you get anything like Earth out of simulating Big Bang even if your physics correlated perfectly to the real world are infinitely small.

In brief, people don't simulate physics to this accuracy because making it work would take huge amount of time and running physics and graphics on nuclear level for every rock that stands still would be insanely heavy. In a word pointless. You could download Blender and try for yourself how many rigid/soft body objects (that are still very crudely simulated compared to actual physical laws) you can simulate with Bullet physics engine, and I'd guess you're limited to anything less than a million.

No offense but you should trust that things are faked when it makes sense and leave it to people that have the insight. If you want to learn, understand and see for yourself this forum and probably "For Beginners" is a good place to start. :)

Advertisement
"Laws" are not content. After you set up your laws the universe is empty.

Metaphysical theories about the actual universe include some starting point, ranging from detailed divine intervention to a "simple" big bang with curiously nonuniform results to almost pure symmetry breaking (e.g. ancient atomists like Epicurus and Lucretius).

In a game, you don't have the luxury of eternally waiting for randomness and natural laws to make intheresting things come into being: you need tools for intentional design.

The best you can obtain with procedural generation is trading off computation for expressive power, describing abstract structures (e.g. "make a star system with a sun-like star, two gas giant planets, an asteroid belt, four earthlike planets and a bunch of comets") and rules (e.g. "a typical comet has a perihelion between 0 and 0.5 AU from the sun and an aphelion between 30 and 80 AU, feel free to use uniform random distributions from those ranges") instead of low-level details (e.g. an awful lot of atoms).

Every game has its appropriate abstractions; for example, the sophisticated level generators that make Doom levels (just to remember the anniversary) operate in terms of polygonal sectors, linedef attributes, IWAD textures, a standard catalogue of monsters and objects, difficulty calibration given available weapons, etc. There is no place for basic physical laws.

Omae Wa Mou Shindeiru

Hey guys, just joined. I've recently been really intrigued about the process of creating video games and everything that goes into it. I really have no understanding of any of it... coding wise and all that. But I get the basic concept of it. I don't have much time so I'm just going to get right to my theory or question, and see if I can get answers or spark a discussion.

Why don't programmers program "laws" into a game engine or whatever. Say these laws could be physics, lighting, how matter reacts to other matter with a different mass or same doesn't matter. I know they have physics engines, but why are physics engines convincingly fake when we have all the equations and the real physics data that we could input to create a real-life physics engine? Then once all the foundational "laws" are programmed and set in space, you sort of create the "Big Bang" within the game and let matter react to what the laws state can and can't happen.

A game that kind of showcases what I'm thinking is No Man's Sky. It's all procedurally created. So you don't manually have to program everything into the game, the computer auto-generates it based on laws of the world that have been created I'm assuming. This would save so much power and space on the CPU/GPU (Am i right on this?) and be extremely efficient because there are less objects/sequences that have been manually added that takes up space

I'm thinking if you could create games like how the Universe was created in essence. The Universe, say, has laws set up that every atom of matter reacts to within the limits of these laws. The laws tell the matter that develops within the space what it can and can't do. These laws can be the law of relativity, gravity, etc. etc. We have the math behind the forces of gravity, we can predict what gravity will do to an object with any amount of mass. Why can't we incorporate these predictions into a game/world using mathematical equations/algorithms? With these laws set, we could then go into an engine, let's say, and all you would do to add objects into the environment is choose or create the object then insert values for it's mass, weight, color, density, etc.. whatever values that need to be input so that the pre-programmed laws of the world can read and identify the object and can now react to the said object realistically because the variable in which the pre-programmed law needed to complete the algorithm/equation is now given(Inserted values of object being added). I feel like this way of computation is extremely efficient because once laws are in place, everything else just reacts to it and you don't have to worry about manually programming reactions and interactions.

Of course you could still go in and add dialogue where wanted and NPC and the buildings but you have more room for those things because of the efficiency of the laws.

Please let me know what you guys think, if this is even close to being practical. If there's blockades within programming language that prevents this computational behavior... etc.

First lets start by differentiating two things : Physics simulation is a completely different thing than proceduraly generated environment systems.

Regarding your question on why nobody have just added all the known laws of physics in a game:

#1 That would make the game very resource heavy. VERY resource heavy. The way games work is that there are a number of things that the cpu checks for and processes for every single frame. The more things you want the cpu to process per every frame,the longer it will take for the cpu to finish processing each frame. That means the frame rate of the game will be slower. And if we were to apply physics on every single object,the amount of data cpus would have to process would be way too much. Theoritically we can add all physics laws in a game,and apply them to every single object. The thing is,it would take a supercomputer to run this with an acceptable frame rate. And most consumers doesn't have supercomputers on their houses.

#2 The second thing has to do with gameplay. Do you know how much real world physics would limit and hinder gameplay ? Not only the 'arcade' and 'cartoony' games,but even the 'serious' and 'realistic' ones would get hindered and even broken. Let's say that you play an RPG,and you are inside someone's house. The developer has plans for this house. Later on in the game,it is planned that the NPC living in it will give you a quest,or that something important is to happen to him. But accidentally you let a fire spell fly from your hand,and the NPC's house gets on fire! It burns down,and the NPC dies with it. That means you will not be getting this quest,and the whole storyline of the game will be broken. Now let's try a different example. Let's say you play one of those 'realistic' modern military shooters,and you are inside the enemy's underground base,or a building where the evil terrorists are. The developer has implemented all known physics laws in the game. That makes the plate tectonics of Earth in the game's world to move,and randomly and accidentally a mega-earthquake happens,and the building collapses killing you and destroying the entire level. If that happens,99% of the players won't say "yay this game has superb physics system!" but "OMG the game killed me randomly for no reason,its such a stupid,unfair and no fun game,what's the point of playing this **** if it kills me without having done anything wrong?!?!?!"

Now as for replicating the creation of the universe in a video game the way you are suggesting,is just not doable. Replicating the creation of the universe is what Cern is all about. And it's a huge underground lab extending to 3 different countries geographically with billions of dollars invested on it,and it can only run on Cern itself,because that's the only machinery powerful enough in the world to do just that. You can't just have a Cern in your own house... Cern is so big it could be described as an underground town or city. People live in it. And the only point of it existing is so it can simulate the physics of the first moments of the Universe so scientists can have an idea of how the universe was created.

^ Haha, nice examples, +1 :)

@Med Bottle

Physics and lighting are fake because it's still impossible for the average user's computer to render all graphics and calculate all laws in the universe in real time.

A loaded program is much larger than one stored on your hard disk. There is no exact compression ratio, but an example would be I start a 4 mb game, it is 68 mb on the virtual RAM after it opens up every single 2 dimensional image file, a 3 dimensional image is much larger than a 2d one after rending every single angle you can view one object from.


Of course you could still go in and add dialogue where wanted and NPC and the buildings but you have more room for those things because of the efficiency of the laws.

Maybe I want the game to have different physics too.


how matter reacts to other matter with a different mass or same doesn't matter

Remember, physics are fake because atoms are incredibly small objects. Several government controlled supercomputers may be running simulations similar to what you're asking about, they wouldn't all make very fun games.

I've read about the idea guy. It's a serious misnomer. You really want to avoid the lazy team.

Advertisement

^ Haha, nice examples, +1 smile.png

Hehe thanks. :)

I think the term you are looking for is "God," and I'll say it's impossible for humans to accurately replicate Him.

You'd have to be able to procedurally generate infinite things with "specific designs" and "classifications".

The world isn't just a mathematical formula. And not everything was procedurally generated.

You see, you can't just have physical laws, you also have to have behavioral laws.

An example of a behavioral system I have seen in game programming is in the Game Press app for iPad.

The law system is a good idea though, and would naturally have limits (again, you're not God and never will be).

I thought of a procedural system which would require1,000! computations at least. What computer can even calculate 1,000! ? If it can, can it calculate 1,000,000! as well?

I really do like your idea for a sort of law system (yes, it is possible easily) because it actually would go well with my "Senses System".

A good example of a behavioral system in game programming is the Sims 4 video game.

They call me the Tutorial Doctor.

Thank you guys for your insight. I had some speculation that was a case of lack of technology. I just don't know about these things in-depth so I appreciate you guys filling me in. Excuse my ignorance happy.png

Would it be possible to do what I suggested on a smaller scale? Maybe cut parts out and shape it to how the developer would want it but have a system of laws in a game?

Could someone explain what No Man's Sky is trying to do with it's game a little more. With the procedural system and all. It says in the trailer that every atom, rock, leaf, planet, etc.. is procedurally generated. But as you guys stated going by atoms would be a nightmare for computers right now. Take a look at the trailer:

The trailer's statement is a Hyperbole, an atom is the smallest building block a layman will understand. The previous statement is an oxymoron.

The truth is you can't tell what a game will be like before someone reviews it out of their own curiosity, I might as well be quoting someone.

http://www.rockpapershotgun.com/2013/12/09/first-look-no-mans-sky/

Someone had to have intentionally modeled a fish, and in that article they admitted to it.

This next part is my opinion:

The procedural generation process may have been the method used to create the starting point of their universe, where every planet begins. I must compare this with Spore. "Planet painting tools" were available during Spore's production. There were too many planets for all of them to be hand crafted. Some special land formations were apparently being reused as I visited different worlds, and I remember finding repeats.

I think they're trying to catch a wave... you know, something like: http://www.kickstarter.com/projects/cig/star-citizen

So many people who like space exploration, and so generous $.$

I've read about the idea guy. It's a serious misnomer. You really want to avoid the lazy team.

This topic is closed to new replies.

Advertisement