Creating Large Areas

From The DarkMod Wiki
Revision as of 23:26, 10 August 2008 by Jdude (talk | contribs) (New page: = Tips on Creating Large Complex Areas = == Intro == This is a (WIP) tutorial by Jdude to help beginner and intermediate mappers come to grasp with how to create large complex environments...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Tips on Creating Large Complex Areas

Intro

This is a (WIP) tutorial by Jdude to help beginner and intermediate mappers come to grasp with how to create large complex environments, specifically as cities. It will cover a variety of topics which are covered more in depth in other articles. There is no one way to go about creating a large complex city environment, but this may help and give some direction to those that are eager to do so:


In this tutorial we will cover:

1) Basic required knowledge of the Doom3 engine.

2) Intermediate Lighting techniques for performance and aesthetics

3) i) Visportals and planning your map

3) ii) Three techniques to help performance

4) Misc

Creating Large Areas

Basic required knowledge of the Doom3 engine:

Note: This is very generalized but has most of the information one would need to understand Doom3's performance:

Before you begin there are a few things you will need to understand about the Doom3 engine to fully utilize the engine. The Doom3 engine relies on both graphical and processing power. Therefore the performance of a map will rely on both the graphics card and the processor of any given machine (as well as other factors such as RAM but for simplicity purposes we will ignore that and categorize it under processing power). When you understand which factors affect which components of a computer, you can work to maximize each specific asset. For example, if you have to much visual components, your graphics card may lag causing the entire game to lag, but this doesn't necessarily mean your processor is lagging. Therefore if you can balance the two you can get the best results.

The GPU(Graphics processing unit)

Generally speaking, the graphics card will be doing all the rendering of polygons in a map. Every brush you make, every model you insert will add polygons to your map. In addition, sprites and graphical affects such as fog and post processing effects (like overlays) affect this aspect of the engine. The Doom3 engine is a great polygon pusher however and one will have to have created a very complex area to experience slow-down due to polygons. Usually unnecessary patches are the cause of polygon related lagging. [See using patches effectively. (coming soon)] Sprites however may cause severe fps drop; the reason is unknown as Doom3 is not open source yet but sprite affects such as snow, rain, smoke ect. should be used sparingly especially in areas which the player will be close to the sprites because when the player gets close to a sprite, the engine will slow down. You may notice this if you place a puff of smoke or several torches near each other. From a distance you may get decent FPS (frames per second), but when you are very close to them you will experience slowdown.

The Processor

Your processor, generally speaking again, will be rendering the light and AI calculations. This means that every shadow you have will slow down your FPS. Lights which do not cast shadows also slow your FPS but not nearly as much as calculated shadows. For this reason it is important to understand how the Doom3 engine acts with shadows. A conception is that the Doom3 engine will slow down when you add additional lights. However that is not true. The performance you get in Doom3 in regards to lighting will be directly linked to how many shadows you have in each rendered scene. For instance: You could have 5 lights casting 5 shadows, it will render roughly the same as one light casting five shadows. This is important to keep in mind when placing lights. You don't want the engine rendering a bunch of shadows that the player will not even notice.

Intermediate Lighting Techniques for Performance and Aesthetics

For the above reasons it’s important to be creative in the placement of lights throughout your level. Certain objects and lights should have the "Noshadow 1" parameter applied to them. This can be set in a light by selecting the light and pressing J then checking the Noshadow 1 box, or in the entity inspector toolbox. To optimize your map properly, you must pick and choose which lights have the “noshadow 1” parameter. They must be properly placed or else they will appear strange to the player and take away from gameplay. This can be difficult due to how Doom3 renders lights. The “noshadow 1” option will cause the light to go through brushes.