Creating the game world.

Started by
19 comments, last by Tom Sloper 7 years, 11 months ago

So I have an idea that by no means is intelligent, but I do think it makes sense. So lets generalize, MOST people use earth as a basis for their game worlds. Correct? Also, people like open world games where they can do many things right? Well, then why not create , probably the word I am looking for is a game engine, that can create a program that will simulate a world similar to earth but easily edited with really generalized tools to shape areas, then more fine tuned tools to create areas for the main game to take place. Now I know this would take a lot of data storage so it probably is a bad idea but I want to hope that the setting of games will stop just being blocks or invincible walls. Everything in the real world has variables to decide strength, this is called density, everything in the real world follows the idea of gravity when on earth, everything is separated into living and non-living in the real world, in this fake world, it should be made the same so that coding makes sense. I think the problem with programming is thinking of everything as an object instead of making multiple tiers of organized things so everything lines up correctly. then again I am not a programmer so I will shut up

Advertisement

Well, then why not create , probably the word I am looking for is a game engine,

What you are describing is more of a world editor or level editor. Which requires a game engine under the hood, but mostly what you are describing is the 'editor' part.

that can create a program that will simulate a world similar to earth but easily edited with really generalized tools to shape areas,

You can google "procedural generation" and "height maps", if you like.

People have been using procedural generation for earth-like (and non-earth-like) terrain, including rivers, forests, islands, mountains, caves, entire planets, and even man-made structures like building exteriors and interiors and entire cities. Also, for games with thousands of characters walking around, each person can be uniquely generated, and each tree can be uniquely generated. Grass is generated, flowers, stone walls, rocks, etc... Even sound effects and (occasionally) music is sometimes generated by computer algorithms (but music is not yet good enough to be very common).

Minecraft is a popular example, but Minecraft wasn't the first, and many tools and games take it far beyond what Minecraft does.

then more fine tuned tools to create areas for the main game to take place.

After using the procedural generation algorithms to generate whatever size of an area you need, then you use your editor to fine-tune or hand-craft the areas you want differently, and to manually place what you want to manually place.

Now I know this would take a lot of data storage


Depending on how it's designed, it can actually take less data storage.

Have you ever played any older real-time Strategy games like, say, Age of Empires?

Each Age of Empire world is procedurally generated (with very basic procedural generation - it can be alot more complex than that) using what is called a "seed".

A "seed" is a random number, like '228945723934'. The procedural generation algorithms take this one number and can generate the entire terrain that the match takes place in (it could just as easily generate an entire world).

By giving the algorithm the same number again, the exact same process is gone through, and so the exact same area is generated (it's a mathematical formula, so if you give it the same numbers, the same results always pop out).

That means, when saving the big complex world, all you need to do is save the one teeny-tiny number ('228945723934') and let the player's computer re-generate the world on-the-fly as they explore. Any changes the developers make that differ from the generated world needs to be saved, though, and that is what costs memory.

Also, people like open world games where they can do many things right?

You mean like Elder Scrolls series, Fallout series, Farcry series, or Grand Theft Auto series? Each of those series make heavy use of procedural generation. No way they would bother making worlds that large by manually shaping every hill.

I want to hope that the setting of games will stop just being blocks or invincible walls.

Now that's an entirely different issue. That's destructible terrain, and some games do that. See Crackdown 3 for example - every building in the game can be destroyed.

However, most computer devices (whether consoles or PCs) are too weak for that if they want to make it look nice with real physics when collapsing and such. so Crackdown for example, uses Microsoft's network of thousands of computer servers to do those calculations invisibly while the player plays on his XBone. (this isn't necessarily required for simpler simulations, but Microsoft wanted to market their network of computer servers, and so was using Crackdown 3 to show off how convenient and powerful they are).

Everything in the real world has variables to decide strength, this is called density, everything in the real world follows the idea of gravity when on earth,


Many game objects have that - I mean, Half-life 2 was particularly famous for that back in 2004 - 12 years ago, but now it's commonplace in games' physics engines.
Ofcourse in Half-life 2, and most games, not everything has physics applied to it, for the reason I mentioned above: our computers aren't able to perfectly simulate everything continuously.

everything is separated into living and non-living in the real world, in this fake world, it should be made the same so that coding makes sense. I think the problem with programming is thinking of everything as an object instead of making multiple tiers of organized things so everything lines up correctly.

Coding already makes sense. Game developers started off with separating entities into categories like 'living' and 'non-living', and into hierarchies. This is generally called "Object-oriented programming", and though it's useful in many cases, programmers have found that on its own, it's not a silver bullet - and if overused, can make things more complex. So we've been moving more and more to what's called "entity-component-systems" (though there's alot of debate and argument around it, and whether it also makes things too complex!) mixed with object-oriented code, and mixed with other types (or 'paradigms') of code.

Personally, I think ECS (entity-component-systems) is best used at the middle level of "abstraction", with the systems being 'data-driven', and object-oriented code at a higher level of abstraction on top of the ECS stuff, for higher-level design as entity 'templates' (bundles of components with default values) that can be inherited.
But this is speculation on my part (and I'm not in the game industry myself), since I haven't had time to explore that yet; and, like I said, there's still alot of healthy debate among programmers on this topic.

then again I am not a programmer so I will shut up


The correct thing is not to shut up, but to research! (if these subjects interest you)

Coding doesn't make sense to you because you haven't yet learned it, but if you start learning it now, by the time you become competant at it in ten years, maybe our computers will be powerful enough for you to write the very tools and games you're imagining.

Design-wise, the bigger problem is, as fun as it is to say, "We should be able to do anything in a videogame!", that's fine for some games, but for most games, it'd mean they'd be "jack of all trades, but masters of none". That is to say, they'd let you do anything but be boring pretty quickly, and not really be enjoyable in any one strong way. So for a few games that's cool, but for most games it isn't. This goes into game design instead of technology, but one example is, imagine you are playing an RPG, but you suddenly have the best equipment and are super powerful so you can kill anything in one strike - it'd be exciting for about 20 seconds, and then you'd get bored. The same principle applies to other areas of games as well: If you can break though any brick wall, then locked doors serve no purpose, bosses don't need to be fought at all, and dungeon mazes don't need to be explored - just smashed through. A critical part of game design is limitations on what the player can do.

There are still plenty of improvements to technology that games still haven't reached, and there's alot of ground still to cover, but the key to making great games is to use the new technology in moderation. Because too much of an exciting thing makes it mundane. Too much freedom can (funnily enough) lead to a lack of things to do (or rather, a lack of interest in doing them). Too much power means a lack of challenge, too little challenge means a lack of enjoyment of that power. And so on and so on.

The major aspect of using fixed level terrains or open world is in general a more game design like decision. Think of games like The Elder Scrolls series where your characters story takes place in one single region of the world they are describing. Why would it make sense to walk to the left edge when all your quests are playing in the right edge? As a more or less advanced game engine developer, I could tell you that the data management isnt that huge as you might think even when destroying the terrain isnt that usefull in most games. You will never load the full terrain in one single step but build chunks of it in an arbitary size (1km^2 for example) and swap the data in when needed and out if leaving the scope of the chunk. Then it depends on the resolution of your terrain. Most MMOs have a resolution of 1m^2 per vertex that are 1000 x 1000 vertices per chunk. So the hightmap of such a chunk would be 1000 x 1000 x 8 bit (grayscale) = ~1 MB per chunk (uncompressed)

Well, then why not create , probably the word I am looking for is a game engine,

What you are describing is more of a world editor or level editor. Which requires a game engine under the hood, but mostly what you are describing is the 'editor' part.

that can create a program that will simulate a world similar to earth but easily edited with really generalized tools to shape areas,

You can google "procedural generation" and "height maps", if you like.

People have been using procedural generation for earth-like (and non-earth-like) terrain, including rivers, forests, islands, mountains, caves, entire planets, and even man-made structures like building exteriors and interiors and entire cities. Also, for games with thousands of characters walking around, each person can be uniquely generated, and each tree can be uniquely generated. Grass is generated, flowers, stone walls, rocks, etc... Even sound effects and (occasionally) music is sometimes generated by computer algorithms (but music is not yet good enough to be very common).

Minecraft is a popular example, but Minecraft wasn't the first, and many tools and games take it far beyond what Minecraft does.

then more fine tuned tools to create areas for the main game to take place.

After using the procedural generation algorithms to generate whatever size of an area you need, then you use your editor to fine-tune or hand-craft the areas you want differently, and to manually place what you want to manually place.

Now I know this would take a lot of data storage


Depending on how it's designed, it can actually take less data storage.

Have you ever played any older real-time Strategy games like, say, Age of Empires?

Each Age of Empire world is procedurally generated (with very basic procedural generation - it can be alot more complex than that) using what is called a "seed".

A "seed" is a random number, like '228945723934'. The procedural generation algorithms take this one number and can generate the entire terrain that the match takes place in (it could just as easily generate an entire world).

By giving the algorithm the same number again, the exact same process is gone through, and so the exact same area is generated (it's a mathematical formula, so if you give it the same numbers, the same results always pop out).

That means, when saving the big complex world, all you need to do is save the one teeny-tiny number ('228945723934') and let the player's computer re-generate the world on-the-fly as they explore. Any changes the developers make that differ from the generated world needs to be saved, though, and that is what costs memory.

Also, people like open world games where they can do many things right?

You mean like Elder Scrolls series, Fallout series, Farcry series, or Grand Theft Auto series? Each of those series make heavy use of procedural generation. No way they would bother making worlds that large by manually shaping every hill.

I want to hope that the setting of games will stop just being blocks or invincible walls.

Now that's an entirely different issue. That's destructible terrain, and some games do that. See Crackdown 3 for example - every building in the game can be destroyed.

However, most computer devices (whether consoles or PCs) are too weak for that if they want to make it look nice with real physics when collapsing and such. so Crackdown for example, uses Microsoft's network of thousands of computer servers to do those calculations invisibly while the player plays on his XBone. (this isn't necessarily required for simpler simulations, but Microsoft wanted to market their network of computer servers, and so was using Crackdown 3 to show off how convenient and powerful they are).

Everything in the real world has variables to decide strength, this is called density, everything in the real world follows the idea of gravity when on earth,


Many game objects have that - I mean, Half-life 2 was particularly famous for that back in 2004 - 12 years ago, but now it's commonplace in games' physics engines.
Ofcourse in Half-life 2, and most games, not everything has physics applied to it, for the reason I mentioned above: our computers aren't able to perfectly simulate everything continuously.

everything is separated into living and non-living in the real world, in this fake world, it should be made the same so that coding makes sense. I think the problem with programming is thinking of everything as an object instead of making multiple tiers of organized things so everything lines up correctly.

Coding already makes sense. Game developers started off with separating entities into categories like 'living' and 'non-living', and into hierarchies. This is generally called "Object-oriented programming", and though it's useful in many cases, programmers have found that on its own, it's not a silver bullet - and if overused, can make things more complex. So we've been moving more and more to what's called "entity-component-systems" (though there's alot of debate and argument around it, and whether it also makes things too complex!) mixed with object-oriented code, and mixed with other types (or 'paradigms') of code.

Personally, I think ECS (entity-component-systems) is best used at the middle level of "abstraction", with the systems being 'data-driven', and object-oriented code at a higher level of abstraction on top of the ECS stuff, for higher-level design as entity 'templates' (bundles of components with default values) that can be inherited.
But this is speculation on my part (and I'm not in the game industry myself), since I haven't had time to explore that yet; and, like I said, there's still alot of healthy debate among programmers on this topic.

then again I am not a programmer so I will shut up


The correct thing is not to shut up, but to research! (if these subjects interest you)

Coding doesn't make sense to you because you haven't yet learned it, but if you start learning it now, by the time you become competant at it in ten years, maybe our computers will be powerful enough for you to write the very tools and games you're imagining.

Design-wise, the bigger problem is, as fun as it is to say, "We should be able to do anything in a videogame!", that's fine for some games, but for most games, it'd mean they'd be "jack of all trades, but masters of none". That is to say, they'd let you do anything but be boring pretty quickly, and not really be enjoyable in any one strong way. So for a few games that's cool, but for most games it isn't. This goes into game design instead of technology, but one example is, imagine you are playing an RPG, but you suddenly have the best equipment and are super powerful so you can kill anything in one strike - it'd be exciting for about 20 seconds, and then you'd get bored. The same principle applies to other areas of games as well: If you can break though any brick wall, then locked doors serve no purpose, bosses don't need to be fought at all, and dungeon mazes don't need to be explored - just smashed through. A critical part of game design is limitations on what the player can do.

There are still plenty of improvements to technology that games still haven't reached, and there's alot of ground still to cover, but the key to making great games is to use the new technology in moderation. Because too much of an exciting thing makes it mundane. Too much freedom can (funnily enough) lead to a lack of things to do (or rather, a lack of interest in doing them). Too much power means a lack of challenge, too little challenge means a lack of enjoyment of that power. And so on and so on.

I don't know how to reply in a forum.

From what you have said, it seems my point wasn't as clear as I wanted. My whole point was to talk about a concept in which every little detail in the world is individual. Each grain of sand each stalk of grain, each brick and each spec of oxygen. It would probably make more sense if I stopped saying game and instead said virtual reality. A nature engine is how I was thinking but I honestly still don't understand game engines. I was also thinking the laws of physics, how cells form, etc all of this can be written down into the engine and followed out. Then the editor is a step by step process of creating things using the laws of our world plus the magic of computers.

My whole point was to talk about a concept in which every little detail in the world is individual. Each grain of sand each stalk of grain, each brick and each spec of oxygen.

That'd take far too much processing power and far too much data storage.

Why waste resources on oxygen?

Making things more realistic doesn't always make things better. Take, for example, western comic book art or the Japanese' anime and manga - Good artists have long since realized that by carefully simplifying (unrealistically) or exaggerating (unrealistically) certain things in their works, they can communicate information in more exciting, enjoyable, and compact ways.

We can make "perfect" art by taking a photograph using a camera. But that photograph is a different category of thing from say, a great watercolor painting.

It would probably make more sense if I stopped saying game and instead said virtual reality. A nature engine is how I was thinking but I honestly still don't understand game engines.

Saying 'game' is fine. Don't use the word 'engines', because that word is already misused enough.

I was also thinking the laws of physics, how cells form, etc all of this can be written down into the engine and followed out.


We can write it down, but it'd be too much work for your computer or gaming console to run.

The more you have to write down, the more work it takes, multiplied by the number of objects you want to apply those rules to.

If you have to write down twenty lines of code, it's more work than just five lines of code (I'm greatly over-simplify programming).

If you then want to apply those rules to the 6,000,000,000,000,000,000,000,000,000 atoms on the earth, even if you can only do one billion a second, then that means it'd still take you two billion centuries before your world is generated.

Do you need to have the inside of the earth generated, or just the surface? Game development (and all art) requires skillful choices about what not to waste resources on.

There are laws of diminishing returns. Why waste a bajillion times more effort, for only twice as good a result, if you can instead apply half that effort to something else (like gameplay) and improve it ten-fold?

Then the editor is a step by step process of creating things using the laws of our world plus the magic of computers.

That's what some procedural generation does. Depending on the amount of detail needed, some developers have done things like plot the course of rivers based on the rainfall on the mountain, and wear down the mountain with thousands of years of rain and wind.
As I'm sure you know, computers aren't really magic - we don't get to do an infinite amount of work for free.

So, we pick and choose what work is most important. Each grain of sand or puff of oxygen won't be noticeable, but slightly more intelligent dragons or slightly more breakable walls might be.

Instead, if necessary, depending on the amount of detail needed and the amount of resources available to each game, we on-the-fly generate extra detail on the ground when players "lean in closer" to the ground, and remove unneeded detail

All art has limitations, whether a book, a movie, a painting, or a game - the key is to make enjoyable works within those limitations. Because of limitations in game technology, we basically have a "budget" of what computer power is available on a device, and try to spend that budget as best as we think possible given

As those "budgets" of technology has improved, we've made better and better sound, graphics, physics, AI, and so on, but we still have alot more work needed not just in improving the (for example) graphics in a general sense, but making intelligent choices about should we improve the graphics in this game, or should we allow players to climb walls instead? Should we allow players to break through walls, or should we allow players to fly instead?

We can't have everything, and can't do everything, within one game. But as computers get more and more powerful, and as common solutions to common problems (like water flowing, trees growing, and fire spreading) become better refined and take smaller percentages of our enlarged budgets, we can cram more of these features into every game and make them commonplace. Once they are common place, players will take them for granted within two years or less, and demand more things we haven't yet done, without removing the old.

You could either learn to program and help us speed up the next wave of innovations, or sit tight and wait another ten years until what you are picturing today is commonplace. At that point in time, you'll be bored of it and want something else anyway. :lol:

Gaming still has a long way to go. But saying, "Why don't we make it perfect right now?" might be fun, but just isn't realistic once you dig a little more under the surface.

What you are suggesting, we are already doing in many places, and pushing the hardware to its limits. But even with better simulations, it doesn't automatically make games more enjoyable.

Note: Don't hit the "quote" button. Just type in your reply in the box at the bottom of this page, without quoting me.

Okay thanx for telling me how. But for real. Im only 14 so I have time, i dont see why we shouldn't shoot for perfect. We have time. I want to figure out how to join the process to make this a more real goa because i think once we can replicate every speck of dust i most certainly think we will be able to hack into the brain at that point. Let me pitch one more way and tell me if it is at all different from what i have been saying. I want a machine that can copy evolution of everything from the beggining of that universe. Now of course it would neeed too much processing power but by computer magic i meant the concept of magic. Instead of each cell going through every process magic can replace stuff to make stuff faster. Then a magical game would be able to use that world.

Okay thanx for telling me how. But for real. Im only 14 so I have time, i dont see why we shouldn't shoot for perfect. We have time. I want to figure out how to join the process to make this a more real goa because i think once we can replicate every speck of dust i most certainly think we will be able to hack into the brain at that point. Let me pitch one more way and tell me if it is at all different from what i have been saying. I want a machine that can copy evolution of everything from the beggining of that universe. Now of course it would neeed too much processing power but by computer magic i meant the concept of magic. Instead of each cell going through every process magic can replace stuff to make stuff faster. Then a magical game would be able to use that world.


a) You don't have as much time as you think you do.
b) It's difficult to perfectly simulate something that you have an imperfect understanding of. The reason scientists are still digging in the dirt and smashing particles together underground is because they still do not yet fully understand the universe, the evolution of things, or the essence of the most basic processes that drive everything we see. All that stuff you want to simulate, you have to have the math for it, and right now our models are imperfect at best.
c) If you want to simulate all the atoms in the universe, you would need enough storage to store information about all the atoms in the universe. Technically, that's impossible. You would need more atoms than are in existence to provide the computational framework.
d) If dust simulations are your thing, you could certainly model a fairly realistic simulation on a smaller scale. Can't say how interesting it would be, but you could definitely do it.
e) They're already hacking the brain.
f) Magic is not a magical answer to magically doing anything.
g) There is a philosophical theory that posits that we ARE a simulation. Theoretically, if you could simulate the behavior of each and every particle and sub-atomic particle, using a consistent set of math, you could do it one instruction at a time and though a single "frame" of universe time, for you subjectively, might take a thousand thousand thousand years, for the entities being modeled, it would be the tiniest increment of time. It's a fairly windy theory, suitable mostly for alcohol- or drug-fueled navelgazing at best, imo, and to the people outside of the simulation (assuming they live long enough to see any significant chunk of it) it's probably not all that interesting most of the time.

Okay thanx for telling me how. But for real. Im only 14 so I have time,


The sooner you start and the harder you work, the better you'll be compared to people who start at 15 and only work 90% as hard as you do.

i dont see why we shouldn't shoot for perfect.

We absolute should shoot for perfection. But with our current hardware, absolute simulation of the universe is impossible.

So for individual developers working on projects today, our goals are 'what does perfection mean within our existing limitations'.

Also, as I pointed out above, "perfection" and "realism" is different. We should aim for perfection, but we have to pick and choose what parts of reality we want. If we make it 100% realistic, that means we can't fly or shoot fireballs, for example.
If we make it 100% realistic, that'd mean we can in theory break down a concrete wall, but it'd also mean in-practice, we'd have to spend five hours with a pickax doing very boring things instead of jump-kicking skeletons in the face.

i think once we can replicate every speck of dust i most certainly think we will be able to hack into the brain at that point.

But those two are unrelated. By the time we successfully colonize Pluto, surely we'd have learned how to make perfect curry.

But if what I want is perfect curry, I should become a cook, not an astronaut.

Why focus on replicating specs of dust if what you really want is to inhabit a virtual world with 'presence' and 'agency'?

A) you are right

b)Thats true as of now, i hope it becomes reasonable and explainable by 2030 at least

c)well i didnt mean the universe, just maybe a solar system smaller than ours.

d)haha any recomendations on how to start that?

E) yea i know they are hacking the brain which is why im hoping it will help us understand at least the living part of the world.

f)Magic is the answer to everything. Why does this plant grow faster than this one? it grew with more magic in it. Why does his attack have more strength than mine? He has more magic. Its all a matter of how and i want the experts to try and find it while i try to find the entrance to this world of game creating.

g)i know this philosophy i myself believe a version of it. well to propose a way to combat the time is to get some people who are good with landscapes to give a base and only run for a few years.

to servant I guess,

So really my plan is I guess to work out my role in decreasing those pesky limitations. Also for the perfect and realism, I agree. I think "magic" is the perfect replacement for energy.

This topic is closed to new replies.

Advertisement