The 3rd Age

Realms of the Elf-Lords

Realms of the Elf-Lords

Realms of the Elf-Lords is a mod for The Rise of the Witch-King, by Lord Firkraag.

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

Nertea

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

Rating

Staff says

5.0

Members say

5.0

Average

5.0/5.0

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.

Lighting

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

              
Code

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
              
Code

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.
              
Code

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.

              
Code

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...

Sounds

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:

              
Code
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.

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


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:

              
Code

LivingWorldSound Music_Evil
    Sound        = LivingWorldMusicEvil
    Flags        = VISIBLE ONCE NO_KILL FADE_IN EVIL_CAMPAIGN
End


That's about all for sounds.

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

Comments

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."

 
8:47:36