LOD Mixer Module for Kitserver 5 August 9,2006 ============================================================================= Version 5.2.3 1. SUPPORTED GAME VERSIONS -------------------------- PC: PES5, WE9I(us), WE9LE(korean) 2. INTRODUCTION --------------- This is a version of LOD Mixer that works together with Kitserver, as the run-time module. Unlike the original LOD Mixer, this module does NOT modify your EXE file, but instead makes the changes at run-time in memory - the same way as Kitserver works. (The main reason for this architectural change is the fact that standalone LOD Mixer for WE9I is impossible due to the SECUROM protection of WE9.EXE. However, this new LOD Mixer still has all of the same features as LOD Mixer 1.6 has). 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 control various aspects of League/Cup/Master League matches, such as: weather, stadium selection, crowd attendance, and more. 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 PES5 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, PES5 and WE9I use 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 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 PES5/WE9. 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! PES5 rendering engine disables crowd display on the following cameras: Normal Medium/Long, Wide, Bird's-Eye, Vertical Medium/Long. This was really annoying, because 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. LEAGUE/CUP/MASTER LEAGUE controls -------------------------------------- I. Weather ~~~~~~~~~~ Although it hasn't been formally proved, but so far the evidence shows that in PES5, the weather is always fine in Cups, Leagues, and Master League. There appears to be a bug in the program, which disables weather changes in those modes, and as a result, the only way to see the weather effects - such as snow and rain - is to use Match Mode (exhibition game). LOD Mixer allows you to fix that: with the "Weather" drop-down, you can either enforce specific weather that you want to occur in Cup/League/ML modes, or use one of the 3 random weather algorithms: 1. Konami Random/Seasonal - weather selection algorithm (which seems to had been disabled by default, but LOD mixer unlocks it). I haven't spend much time to try to understand the logic of this algorithm, but from experiements, it looks like the rain and snow do occur, but very rarely. 2. Warm Random/Seasonal - random weather selection algorithm. This is actually a true random algorithm (not based on pseudo-random number generator), which uses system clock as its source of randomness. The algorithm picks the weather based on these probabilities: SUMMER: Fine - 20/27, Rain - 7/27 WINTER: Fine - 15/27, Rain - 6/27, Snow - 6/27 3. Cold Random/Seasonal - same algorithm as "Warm", but with a different set of probabilities, so that the weather on average is more miserable. (Meaning that you should get rain and snow more often) SUMMER: Fine - 15/27, Rain - 12/27 WINTER: Fine - 11/27, Rain - 8/27, Snow - 8/27 II. Other settings ~~~~~~~~~~~~~~~~~~ Sometimes you may want to enforce a particular set of settings in a league or cup or master league match. For example, if you're playing the World Cup (a.k.a. International Cup), and you managed to get to the final, you'd probably want to make sure that the stadium is full of spectators, and maybe you want to pick a particular stadium or time-of-the-day to play the final match. The game doesn't provide the means to do all that, but with LOD Mixer you can. For each setting, you can either force a particular value, of let the game logic decide. (BTW, if you want to force snow on Oita Big Eye stadium - you're out of luck, because it's a stadium with a closed roof! Even though the weather outside will be snowy and cold, the pitch will still be in perfect condition. Just thought it was a nice little detail, well implemented by Konami. :-) 5. The "Defaults" button ------------------------ Pressing "Defaults" button will reset everything to original state to restore the original game logic: LODs will become 1,2,3,4,5, Camera fix will be disabled, and all advanced controls for League/Cup/ML modes will be back to "Default game logic" selections. Remember, that you still need to press "Save" to write those changes into lodmixer config file. 6. CREDITS ---------- Game algorithms analysis and programming by Juce. Beta testing: Biker Jim, The Wolf