Designing a huge city with smoke and mirrors

Started by
14 comments, last by Wavinator 21 years, 8 months ago
Enclosed levels have the luxury of creating transition rooms where the end room looks the same as the room at the beginning of the level. This enables a segmented level to appear as a large environment. What tricks do outdoor world creators have? Here''s what I can think of: Billboard vista with barrier: This is a hackneyed and somewhat frustrating device where players can see part of a skyline but can''t get there. But as long as the view looks good, has some animation, and is appropriately barred (say by water if the player can''t swim) then it works. Cardboard front: Crazy Taxi, Grand Theft Auto 3 and a lot of driving games use this idea, where buildings are simply textured boxes. Mixed with areas that can be entered, this works as long as the buildings that can be entered are clearly called out. Repetition: Let''s face it, cities are repetitive. If you''re fighting, racing or driving through a city, the shape of the passageways between buildings is probably more important than the buildings themselves. However, even buildings that can be entered in a real city often have standard patterns. Combined with elements inside them that can be randomized and alterations to texture colors this might be a workable solution for creating a very large city. Chokepoints: GTA3 seems to use major tunnels and bridges not only as a reward system that allows players to get to new areas, but as a level loading mechanism. I''m not sure, but they seem to combine the billboard vista idea with this so that you can see but not get to areas across the water until you go through one of the chokepoints. Any other tricks you know of? -------------------- Just waiting for the mothership...
--------------------Just waiting for the mothership...
Advertisement
Need For Speed Hot Pursuit didn''t even use full boxes for the buildings. In a particular level you could ramp up a wall and fly about 40 feet into the air which gave you a view behind the "set" which was ugly. The background was solid blue (the water textured plane didn''t extend to infinity), and you could see that the buildings didn''t even have back or top sides to them (pretty sensible since you normally will never see them...)

Level of Detail (LOD) design. Vary the amount of information based on the distance away from the object. So, if the viewer is far away from the object, use carboard cutouts with simple textures. Improve the textures as you get closer and perhaps even add more polygons (switch to a more detailed model). The benefit of this is that for a well designed system, the amount of information processed in a given scene is roughly constant, since as you get closer the field of view decreases, so the detail within the current field of view can be increased.

Cheers,

Timkin

[edited by - Timkin on August 11, 2002 11:14:38 PM]
Portal Viewing systems and range based systems for culling. Since you have smoke, set the far clipping plane up a little and use fog to cover that you aren''t drawing more than 100 feet in front of you.

Use the same building (or city block) geometry over and over again, just offset the same building throught the city using a wolrd matrix with a transform and use a different texture.

Go nuts. Use a Skybox like eveyone else. Hell, use a sky plane.
its not so much of a trick as it is a programming feat

--- dynamic level loading.

Its difficult, but it is possible to load a low detail version of the level (for use in sky lines and such) and then load / unload more detailed versions of regions in another thread as you enter the range of them.

You will probably need to have 4 or 5 levels of detail and to reduce the data in each make the next detailed level use the data of the previous detailed level as a base.

There are a TON of other problems, but thats what programming is all about now isn''t it :-D

Good luck! I''d love to see this working :-P

-SniperBoB-

-SniperBoB-

What if The Matrix was recursive?
Giant cities are in the end pointless if they are cardboard facades, repetitive, not rich in detail, etc.

Variety is the key. Sure, houses can in general look the same, but each should have nuances which define them as unique: different peeling paint, different furnishings, different remodeled floorplans, different porches, different roofs, different windows, etc...

Everything is similar, nothing is even close to being really similar. No single office building is like another, unless part of a business park.

Sure, concrete tilt-ups look alike, and one quonset hut looks like another, until you get closer.

Procedural algorithms are the key. The more the better. The more complex the better.

Do you ever get the feeling that the game you''re playing has no depth and is merely a cardboard environment where each succeeding section really is just built on the template of the last? How tiresome and boring is that? It''s not that much fun. I think I''d rather go outside and play Frisbee.

Don''t make another bigger city that is more of the same. Don''t even bother. Either solve the problems for a richly detailed world, or find another type of game to build.
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Similar (not the same) building geometry, different textures\effects, and different detail geometry. Most buildings are roughly the same shape, they just have different details or are made out of different materials. LOD is also very important, with a decent LOD system you can get away from a lot of the problems of a cardboard front. Only a few close up buildings need to be rendered in full detail, everything far away can still be cardboard or billboards\imposters if the geometry is very far away.
Yes, variety is important. A lot of buildings is fine, but you need large and small buildings, some with lots of windows, some just made of concrete, large and small main streets, bridges, tunnels, back allies, parks, rural areas if possible. Some areas with trees, a body of water, etc. (Thinking about Carmageddon here)

On a side note:

I would hate living on Coruscant. The whole planet is a city!

I''ve also heard that some people living in Tokyo feel dehumanized because of the extreme lack of flora in the city.

As for tricks, try to design the city such that you can''t see any farther than beyond a certain point (using fog or curved streets) so that rendering is kept to a minimum without keying the player off to your optimizations.
It's not what you're taught, it's what you learn.
Maybe you listed this but what about Dungeon Siege''s way of handling that? Where it would load the stages as you walked. I only played the demo but it is a pretty large area and There isn''t one loading screen. Maybe the game is just hogging all my ram...

Bleu Shift - www.bleushift.tk
The Jak & Daxter Postmortem in the April 2002 Game Developer made some brief mention of useful techniques for outdoor rendering in the "Seamless world, grand vistas, and no load times" section of the article: "The programmers had to create tools to process interconnected levels containing millions of polygons and create the fast game code that could render the highly detailed world. We developed sereral complex level-of-detail (LOD) schemes, with different schemes used for different types of things (creatures versus background), and different schemes used at different distances, such as simplified models to represent faraway backgrounds, and flats used to represent distant geometry. At the heart of our LOD system was our proprietary mesh tessellation/reduction scheme, which we originally developed for Crash Team Racing and radically enhanced for Jak & Daxter."

This topic is closed to new replies.

Advertisement