• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
oenda

Terrain or 3d model with physics?

13 posts in this topic

Hi.I want to know that how game developers create a 3d world?For example Skyim.Are they using terrain algorithms and create a terrain?Or they create a 3d model with 3ds Max/Blender then add physics?I am waiting for your reply smile.png

 

1

Share this post


Link to post
Share on other sites

Skyrim (and Oblivion) are both based on heightmaps made with a heightmap editor. However, only a fairly small area around the player is rendered this way. For more distant terrain they use 3D models derived from the heightmap data, to reduce the number of polygons for different LODs.

 

If you own a copy of Skyrim (or Oblivion) it's really easy to see how they do it - just open the console and enter:

 

tcl

twf

 

The first command allows you to fly around, and the second shows wireframe view.

Edited by mark ds
2

Share this post


Link to post
Share on other sites

"A lot" is very vague. More, for sure.

Height maps allow you to reduce the memory required for each vertex: instead of having xyz vertices you can go along with xy vertices, with z pulled from the heightmap.

On top of that, the same "heightmap sampling" mesh can be reused for each chunk.

As a fact, in many cases it is possible to just build the vertices procedurally so you don't even need xy at all.

0

Share this post


Link to post
Share on other sites

Skyrim (and Oblivion) are both based on heightmaps made with a heightmap editor. However, only a fairly small area around the player is rendered this way. For more distant terrain they use 3D models derived from the heightmap data, to reduce the number of polygons for different LODs.

I thought the map in Skyrim was very clever.

 

They basically thought "See all the lower level LODs rendered in Oblivion? What if we make a map out of them?". It is just like that, the ingame map just renders the lowest detailed terrain meshes and lays them up so you can get an overview of them.

 

Compute LOD for the entire game and get a very cool map for free.

 

One particular thing about Skyrim/Oblivion is that Bethesda pre computed the LOD levels of the terrain, you don't have any fancy algorithm to generate lower detailed meshes at runtime,¡ but it streams the lower LODs from disk as needed. World is divided on squared cells so you have the cell the player is currently on, a few surrounding cells loaded at full detail so the player can see enemies at some distance, and the rest is lower detailed meshes.

 

Skyrim also caches "interior cells", I think it was the last 2 or 3 that you visited, so you don't hit full reload time if you say, got out of a shop forgot to buy something so you head back again.

 

While terrain level of detail varies a lot, I think items and actors not. When you see an enemy at 200m, it has fully detailed meshes (armor, weapons, body, etc). 

 

In games like Mount & Blade where having many actors in screen is crucial (ie, 200 vs 200 battle), there are various levels of detail for everything, from landscape rocks, to armor, weapons and body meshes.

2

Share this post


Link to post
Share on other sites

Skyrim (and Oblivion) are both based on heightmaps made with a heightmap editor. However, only a fairly small area around the player is rendered this way. For more distant terrain they use 3D models derived from the heightmap data, to reduce the number of polygons for different LODs.

 

If you own a copy of Skyrim (or Oblivion) it's really easy to see how they do it - just open the console and enter:

 

tcl

twf

 

The first command allows you to fly around, and the second shows wireframe view.

What would happen if the player arrived at the "once was distant terrain"? Would the level of detail changed relative to where the player is located or if the player is looking at that direction?

 

This thread is just an "eye-opener"!

Edited by warnexus
0

Share this post


Link to post
Share on other sites

 
In an open world with somewhat sparse vegetation (eg. real life where I live near the edge of a desert on the edge of a mountain range) I can go to one mountain peak that is about 2000 meters above the valley floor nearby. I can look out over the horizon, out over the sand dunes that disappear over the curve of the Earth, or I can look across the city in the valley and see a huge range of mountains that extends off to the distance as far as occlusion allows. I can look to a distant cliff that is almost 200km away, pay attention to a specific tree or rock face, climb down, drive across the valley while still paying attention to the tree and watch as the details and visual quality continually increase until I am standing next to it.
 
 
Open world games do all they can to simulate that kind of environment and some of them do an amazing job at it.
 
Up close many games use a height map. This is just a grayscale image. Darker pixels are lower, brighter pixels are higher. The exact resolution is going to depend on the game, maybe one pixel every 5 meters or so. This is augmented by placing 3D modeled objects on top of the terrain, rocks and boulders and grass and trees, so it doesn't look so flat.
While this works pretty well for nearby data, it doesn't work too well for the distance. Height maps for a small area can be a few kilobytes in size, sometimes a few megabytes, depending on how they map in terms of meters-per-pixel. But going back to the mountain peak example, if you want to store a very large area you are suddenly looking at hundreds of megabytes or gigabytes of heightmap data, plus their splatmaps to figure out what to draw on them.
 
Because this is basically simple pictures, the size requirements grow by the square. If you want 1 square kilometer say it takes 4KB of data. If you want 2 square kilometers it takes 16KB of data. Those aren't bad.  But if you want to see the mountains and foothills in the distance all around you, suddenly your requirements are massive. A good-sized valley (like the one I live near) may be around 1500 square kilometers, and if you want the surrounding mountains to show up you'll need to cover around 3,000 square kilometers, which at that scale is 36 gigabytes of height maps just for the nearby visible terrain . . .
Some will trade off precision . . .
Others will use a height map for nearby stuff and use a pre-rendered skybox image for distant items.
Still others will put the player into a bowl so they can't see the edge of the nearby terrain, giving a ring of actual terrain, a ring of models, and a distant skybox.
The complexity of data management and the sheer size of the content are two reasons many games shy away from large, continuous, open worlds

Very insightful post.
My game interests is basically open world and racing games. Realism is crucial and it'll be mostly PC games.
When playing a gta game and you're riding in a car, for instance. You see another car out your left side. Why is it that the car magically disappears when you look away for a second?
Imagine a 7km * 7km open world game where oceans, lakes, forests, little deserts, a city and a total npc population of 1,000,000+ is present. Isn't it possible to have a system that saves what happens because in all gta games i've played, driving through an area isn't that fun because let's say you could hit down a tree, if you came back after 30seconds - 3minutes later, you won't see a trace of that fallen tree or cars that got hit by the tree or the bodies of the people that died and that isn't realistic.
0

Share this post


Link to post
Share on other sites


My game interests is basically open world and racing games. Realism is crucial and it'll be mostly PC games.
When playing a gta game and you're riding in a car, for instance. You see another car out your left side. Why is it that the car magically disappears when you look away for a second?
Imagine a 7km * 7km open world game where oceans, lakes, forests, little deserts, a city and a total npc population of 1,000,000+ is present. Isn't it possible to have a system that saves what happens because in all gta games i've played, driving through an area isn't that fun because let's say you could hit down a tree, if you came back after 30seconds - 3minutes later, you won't see a trace of that fallen tree or cars that got hit by the tree or the bodies of the people that died and that isn't realistic.

Think about that for a minute.

 

About 50 -- The number of characters on screen at any time for most games.

About 5,000 -- the maximum number of characters allowed on a single server in many MMO games (which are optimized for that sort of thing, and usually involve multiple computer boxes as part of a server cluster).

About 1,000,000 -- The number of characters you are asking to simulate on the player's PC.

 

Being "realistic" is an interesting goal. The more data you keep around the more processing you need to do. 

 
 

Consider that fairly complex games like The Sims actually do simulate every person who is active in the world, although they do their best to kick people out of the world when possible. In The Sims 3 you can get around 150 people to arrive in your lot using cheats, and there are also game mods that remove the limits. Getting a few hundred sims active in the same area is enough to bring most machines to their knees.

 

 

If you are spending all your time simulating what a million other city residents are doing, and simulating millions of televisions being on or off, cell phones being used, broken and unbroken windows, millions of vehicles with potentially broken windows flat tires and gunshot damage and more ... well, I'm not sure the common home computer has that kind of processing power for an interactive simulation.

2

Share this post


Link to post
Share on other sites

 

What would happen if the player arrived at the "once was distant terrain"? Would the level of detail changed relative to where the player is located or if the player is looking at that direction?

 

 

This thread is just an "eye-opener"!

 

 

Here's a video of it in action - the higher detailed terrain 'follows' the player around. If you download the video, it will play at a much better quality - skydrive seems to be obliterating the pixels!

 

https://onedrive.live.com/?gologin=1&mkt=en-GB#cid=A1E3EF8FE4E65918&id=A1E3EF8FE4E65918%2111295&v=3

 

Under the cursor (centre screen) you can just about see the small dense area which is the relatively high-res mesh using the heightmap.

Edited by mark ds
0

Share this post


Link to post
Share on other sites
@frob: i didn't mean simulating every npc's action.
For example, if the pc throws a grenade into a building and it explodes thereby destroying it, the rubble from the explosion should still be there even if the player never comes back there until after 30 missions.
0

Share this post


Link to post
Share on other sites


For example, if the pc throws a grenade into a building and it explodes thereby destroying it, the rubble from the explosion should still be there even if the player never comes back there until after 30 missions.

You still may run into issues of storage space. It's an interesting problem to represent a world that supports permanent changes - what happens if the user chops down every second tree across the entire continent?

 

It's not insoluble, of course, and if your world is all pre-created, then the storage requirements for state changes shouldn't drastically exceed the storage requirements for the original world. Procedurally generated games like minecraft suffer much more badly, because may be arbitrarily large, and have very low intrinsic storage requirements.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0