The 3rd Age

Cobra Mod

Cobra Mod

A mod for BFME2 that removes some restrictions to recreate huge epic battles from the films.

Button for The 3rd AgeButton for The Dwarf HoldsButton for The Elven AllianceButton for Helm's Deep Last HopeButton for GothmogtheOrcButton for BFME+Button for The Four AgesButton for HDR HeadquartersButton for Middle Earth CenterButton for Project Perfect Mod

Become an affiliate!


Quick Lists

Top Rated Popular New Updated Last Comments Users

Register and log in to move these advertisements down

Living World Map Graphics Deconstruction

Avatar of Nertea


Category: Graphics
Level: Expert
Created: Sunday April 26, 2009 - 23:46
Updated: Sunday April 5, 2015 - 15:28
Views: 22447
Summary: Some notes on the function of various graphical parts of the Living World Map


Staff says


Members say




14 votes

Page 1 2 3 4 5 6 7 8
Global World Properties

To finish up the tutorial, there are one or two global properties left that didn't fit into the other sections that deserve a mention. Some comments on lighting, camera extents and sounds will follow.


Though you can't enable shadows on the stock LWM, it does have a slighly fancier lighting rig than standard SAGE output. The lighting parameters are found in livingworld.ini near the top of the file


Ambient = R:0 G:0 B:0 ;Ambient color
SunDir    = X:36 Y:26 ;Sun direction
SunRGB    = R:115 G:95 B:88 ;Sun color

Accent1Dir = X:37 Y:156
Accent1RGB = R:25 G:18 B:10 ;Accent1 color

Accent2Dir = X:27 Y:264
Accent2RGB = R:44 G:34 B:21 ;Accent2 color

As can be seen, there are 3 lights available for use. Each has 2 parameters, direction (where it is facing) and Colour. Direction is specified as a vector as far as I can tell. Colour is specified as a standard RGB. Sun is the main light, it controls the majority of the lighting. In general you'll want this to be a white, perhaps with a shade of blue or yellow. Accent1 and Accent2 allow you to tint the lighting slightly. Using this you could generate a warm reddish glow coming from Mordor, for example.

You also have access to an ambient light that will colour everything regardless of direction. It tends to wash any other lighting out though, so use sparingly.

Camera Extents

In defining the standard camera extents, SAGE takes the furthest edges (X and Y) of all objects in livingmap.w3d. Naturally, this can cause problems (if your map has assets off to the side), so the devs have kindly provided us with a means to modify the extents in livingworld.ini

Center = X:133 Y:1404        
Extent = X:1800 Y:1600

This litte snippet lets you specify an XY coordinate for a center, then lets you specify a rectangle (centered on the Center) that defines the map extents.

CameraBoundX = 0.6575            ; POST-CAMPEA-VALUE
CameraBoundY = 0.66                ; POST-CAMPEA-VALUE

This code specifies how far inside the map extents the camera can operate, as a percentage of the full map extents. Put together, these can control the camera range quite effectively.

There's one other file that affects the camera, it's livingworld.txt, found in the main directory.


40.0        ; pitch
0.2        ; height above ground
0.0        ; 'time' zoomed in (0..1, 0=max)
1.0        ; 'time' zoomed out (0..1, 1=max)
3.0        ; max rot 'angle' in rad, +/-
0.02        ; rotation speed
35.0        ; pitch
0.15        ; height above ground
0.0        ; 'time' zoomed in (0..1, 0=max)
1.0        ; 'time' zoomed out (0..1, 1=max)
3.0        ; max rot 'angle' in rad, +/-
0.03        ; rotation speed
50.0    ; pitch for zooming in to map
0.5        ; height above ground for map zoom
0.01    ; zoom world -> region
0.01    ; zoom out region -> world
0.5    ; zoom in and out of map

This file is really confusing in its effects. I still have no idea how exactly most of the parameters work, but a few are simple:

  • Pitch: the default camera pitch (in degrees)
  • Max rotation angle: this is in radians, and is a plus or minus value. For full rotation therefore set it as pi (3.14).

Everything else very much depends on your extents. Suffice to say that basically they control the zoom, at the standard level and the loaded zoom-out level. Another annoying parameter that takes ages to tweak...


I'm not really versed in sounds, but I should include a note on them. Sounds are defined in livingworld.ini near the bottom of the file. They look like this:

LivingWorldSound SeagullTip
    Position    = X:-650 Y:-750 Z:100
    Sound        = LivingWorldSeagullLoop
    Flags        = VISIBLE ; Just for optimization

This is for a 3D positional sound - you'll only hear it when you're near this location. The sound itself is referenced from the list in soundeffects.ini.

LivingWorldSound Wind
    Sound        = LivingMapWind
    Flags        = VISIBLE ; Just for optimization

This is a 2D nonpositional sound - it will be heard everywhere, so has no need for position information. Some of these sounds can use flags to provide play-time info, for example the Evil Campaign music:


LivingWorldSound Music_Evil
    Sound        = LivingWorldMusicEvil

That's about all for sounds.

Thanks for reading, hope it helped your exploration of the BFME1 Living World Campaign Map.


Display order: Newest first

Sulherokhh (Team Chamber Member) - Tuesday April 28, 2009 - 9:26

Whosoever dared to rate this at '4' now has to explain what is missing for it to be rated '5'.
Or else the Lord of Skies shall smite him with Thunder and Lightning until only coals and ashes remain ....

Yup. You know that i am talking to ... :-#

Námo - Tuesday April 28, 2009 - 1:59

Excellent! and MOST welcome - lots of thanks to both of you!

Go to top


"One site to rule them all, one site to find them,
one site to host them all, and on the network bind them."