LOD Mixer Module for Kitserver 6                              November 3,2006
=============================================================================
Version 6.0.0 


1. SUPPORTED GAME VERSIONS
--------------------------
PC: PES6


2. INTRODUCTION
---------------
This tool was initially just for Level-of-Detail adjustment for player and
goalkeeper models, but now has evolved into more general graphics/gameplay
tweak tool. In addition to LOD, you can now turn on the crowd rendering on
all cameras, and also do automatic aspect ratio correction, which is
useful for widescreen modes. (PES6 does support high resolution widescreen
modes, but doesn't use proper aspect ratio on them, so players look
a bit fat. LOD Mixer allows to fix that).


3. THE IDEA OF LOD
------------------
This is by no means a formal definition of Level-of-Detail (LOD) idea, but
merely a short introduction to the concept, which will hopefully be helpful 
in understanding what the LOD Mixer program does, and how to use it.
Typically (and PES6 is no exception), a rendering engine in 3D games is
designed to take advantage of the fact that objects that look small need
simpler models than objects that look big. A close-up view of a car may
require thousands of polygons to look convincing, but may only need a few
hundred when the distance between it and the camera is big and the amount
of pixels it occupies on the screen is small. By using simpler models for 
far-away objects, the game engine saves GPU cycles that could be used for
creating additional visual effects, or just to maintaining a smooth frame
rate. Level-Of-Detail algorithm is the logic that decides when to use
a particular model for a particular object. 

For the task of rendering players and goalkeepers, PES6 uses 5 
different levels of detail, which are dynamically switched depending on 
a set of factors: distance from camera to player, playing mode, active 
player, etc.

#1: Very high-detail models, big (512x256) textures",
#2: High-detail models, medium (256x128) textures",
#3: Medium-detail models, medium (256x128) textures",
#4: Low-detail models, small (128x64) textures",
#5: Very low-detail models, small (128x64) textures",

LOD #1 is used for cut-scenes and more in replays than in actual game. It's
the only one that uses best quality kit textures - 512x256. LOD #2 and #3
are typically used for many cameras, including "Normal Long" and "Wide". 
LOD #2 is also used for some cut-scenes - like pre-match photos, for example,
and also in replays. LOD #4 - on "Wide" and "Bird's Eye", and LOD #5 i was 
only able to see with "Bird's-Eye" cameras.

To illustrate the concept, consider this scenario:
The camera is really close to the player, so the game engine selects LOD #1
to show the very well detailed model of the player with nice-looking textures
As the player moves away from the camera, at some point the game engine 
decides that the very high level of detail is not needed anymore, and it 
should be switched to next one - LOD #2, since the camera is now 
far enough and the user won't notice the difference. Here's where the problem
occurs with PES6, PES5, WE9I, PES4 and WE8I: we actually DO see the 
difference, because KONAMI implemented a very aggressive LOD algorithm and it 
switches to lower-detail models way too early, and that's why we see annoying 
artifacts, as player balding and low-quality kit textures. I can only guess 
why they did it, and i think it's because the lowest denominator system 
- PS2 - couldn't sustain the smooth frame rate with a more concervative 
LOD switching algorithm.


4. HOW TO USE THE PROGRAM
-------------------------

Run lodcfg.exe. The features are pretty much self-explanatory. Once you're
satisfied with the configuration, press "Save" button. If you want to reset
all the mods to original game logic - press "Defaults", and then "Save".
Your configuration is saved into a binary config file - lodmixer.dat. Next
time you run the game, the Kitserver will load this configuration.


4.1. LOD LEVELS
---------------

If you running the program the very first time, you'll see the default LOD 
configuration: 1,2,3,4,5. This means that the LOD algorithm will use #1-models 
for LOD #1, #2-models for LOD #2, and so on. Change that configuration by 
selecting different items in drop-down boxes, press "Save" button, and 
that's it. You can now close the LOD Mixer and start the game.

The idea of changing the default setup, is to force the game engine to 
use higher-detail models for the cases when it used simpler ones, and vice 
versa. For example, you can force it to use best-detail models for LOD #1,2,3
and keeping the defaults for LOD#4 and 5.  
This is the configuration for such example: 1,1,1,4,5. 
Or you can choose 5,5,5,5,5 which will result in really simplified models 
used for all cases. (This extreme config looks kinda funny :-), if for 
instance your PC is not powerful and you want to sacrifice some visual 
quality for smooth frame rate. Typically though, if you have a good PC, you'd
want to use something like 1,1,1,2,2.

Now, for all of you, who have honestly read the above sections and has
difficulty understanding the concept, don't be discouraged. LOD Mixer is a
very simple program: you can use in a purely "black-box" experimental way:
select a random configuration, press "Save" button, close the LOD Mixer, 
start the game and see how your changes affect the display. 

You can also try 1,1,1,1,1 if you have a powerful computer. That's as
much detail/texture as you can do with PES6.

For me the following configuration works quite well: 1,1,1,2,2
(Which means that the five drop-downs look like this:

LOD #1 - 1: Very high-detail models, big (512x256) textures",
LOD #2 - 1: Very high-detail models, big (512x256) textures",
LOD #3 - 1: Very high-detail models, big (512x256) textures",
LOD #4 - 2: High-detail models, medium (256x128) textures",
LOD #5 - 2: High-detail models, medium (256x128) textures",

Numbers on shorts (and - for national teams - on players chests) are 
always there, no more "fake" baldness, captain armbands are always visible, 
cut-scenes (pre-match photos and etc.) have the highest quality. On my PC, 
i didn't experience any slowdown with this configuration, but you'll 
have to try it on yours to see how it deals with the task of rendering 
more polygons.

In a way this is a fun experiment, which gives you an opportunity to
affect the game engine.


4.2. CROWD SWITCH
-----------------

Yes, you can now see the crowd on all the cameras! 
PES6 rendering engine disables animated crowd display on several cameras:
Normal Medium/Long, Wide, Bird's-Eye, Vertical Medium/Long. It uses a flat
crowd texture, which doesn't look quite convincing. (Better than PES5/WE9
which had no crowd at all, but still rather bad looking). 
Normal Long and Wide are probably the two most popular cameras, and without 
the crowd, the match athmosphere is lost. By setting the
"Show crowd on all cameras" checkbox, you can fix that problem. Just check 
the checkbox, and hit the "Save" button. Not much more to say here. :)


4.3. ASPECT RATIO CORRECTION
----------------------------

Playing the game on a widescreen LCD montor on a high resolution (such
as 1680x1050 or 1920x1200) is wonderful, but it also reveals the problem
of aspect ratio. The game engine still uses 4:3 aspect ratio, which results
in stretching on a widescreen. Everything is slightly squashed: players 
become a little bit fat, and the ball is not round anymore. 
Set the "aspect ratio correction" checkbox, and the LOD mixer will expand
the viewing area horizontally to adjust the aspect ratio to proper value,
calculated as vertical-resolution-in-pixels diveded by horizontal-resolution
in pixels. So players and the ball look good again, and also you get to 
see more of the field! After all, that's what the widescreens are for :)


5. CREDITS
----------
Game algorithms analysis and programming by juce.
Beta testing: lots of users on Soccergaming, Wevolution, and Evo-Web.co.uk

