Create stadiums for PES 5: tutorial about a custom 3D stadium design for PES

This tutorial explains how to design a custom stadium for PES 5, and how to import custom stadiums into Pro Evolution Soccer 5 for PC. It's possible that these football stadiums could work in PES 6 and further versions of PES, besides I haven't checked this yet. That's why this tutorial will focus on PES 5, where I modeled my custom stadium, which worked perfectly.

Programs needed to model a 3D PES Stadium:

  • DKZStudio.
  • Harps stadium builder.
  • Turf Template.
  • Rhinoceros 3D [to model the stadium].

Most of the software needed to create a custom PES stadium can be downloaded for free at www.pesoccerworld.com (except Rhinoceros: you can download this program by your own means, as there is a free Rhino version on the official webpage, so Google is your friend).

The steps to create a custom PES stadium are very easy, once you get it. Just follow carefully, paying attention and without any rush, every one of the following processes. If you don't skim any step of this tutorial, which many people tend to do ("bah, this step doesn't matter, let's go to the next step", and then they don't get the right results) it will work perfectly.

Modeling a PES Stadium and importing the custom 3D stadium in PES:

- Extract the RAR file which contains the Turf Template. We will work with the files inside this stadium template package.

- In your PES installation folder, inside "/data", open with DKZ Studio the file 0_text. Once inside this file, look for the file unknow_09560.bin and export it outside to edit it. (This is the PES training stadium. I will work with this stadium in this tutorial. There are other PES stadiums inside this file, named under other filenames. The process would be similar using a different .bin file (that's a different stadium). If you want to use another PES stadium as a starting point, take a look at pesoccerworld or the PES stadium list inside the 0_text file).

- Using Zlib (inside the software tools of the DKZ Studio) open the recently extracted file unknow_09560.bin. Inside this file, you should select the unknow_002.str and then export this selected file.

- Place the recently exported file called unknow_002. str into the folder stadUnpacker of the RAR extracted before (overwriting the file inside). Then we run the executable export3d. This program will create a folder called export plus some numbers. Alright, leave this folder as it is (we will use it later) and let's move on to the next task: modeling our new PES stadium.

- Create your own PES estadio with Rhino. (You could also model a PES stadium using 3D Studio Max and then export it as an .obj, so it could be imported as an .obj using Rhino. In any case, the final exported stadium file has to be done using Rhino, even if the stadium comes from a 3ds file extension. Otherwise, the next program that we are going to use wouldn't read the model of your 3D stadium. You have been warned: if you omit this, don't think "bah, it doesn't matter, I will use 3ds Max to model it", because your PES stadium won't work). So create your own custom PES Stadium starting from the stadium template Turfpes.3dm (this 3D stadium used as a starting point is inside the RAR Template). We won't export this stadium template later: it's just a guideline to position the grass. I advise you to place inside a folder all the textures that you are willing to use, because these textures will be needed later in a certain process.

- Once you have modeled a 3D stadium design you will have to save separately every one of the 4 sides of the stadium, in 4 different files, with a .3DS extension (watch out, do not confuse with 3dm which isn't the PES file format, but the default program and template file format). If you also modify the PES stadium field itself (which I discourage), you should save the modified game terrain in a 5th part. Do it your way, as you like it the best: you can erase all the stadium parts except the one that you are goin to save, and then store it in your PC as a .3ds file, then click CONTROL+Z to restore all the model of the stadium, and then erase every stadium part except the next one, and so on, till you have 1 stadium part in each exported file.

The 3ds files that you should save have to be named this way:

  • Uside.3ds = The Top of the stadium (Up)
  • Dside.3ds = The Bottom of the stadium (Down)
  • Rside.3ds = The Right side of the stadium (Right)
  • Lside.3ds = The Left side of the stadium (Left)

The position of each section of the stadium with respect to the game field (which is already defined in the template stadium from Turfpes.3dm) determines which part of the model should be stored in each file.

Remember that the stands of the top (UP) are the ones that are seen during the PES football matches (as it is the default camera of the Pro Evolution Soccer). That's why you sould pay more attention in modeling the top of the 3D stadium, as the bottom stands will only be seen during the replay.

- Once you have Lside.3ds, Uside.3ds, Dside.3ds and Rside.3ds, perform the next process on these files, one by one. I'm going to explain it using the left side of the stadium, Lside.3ds, for example. You should follow these same steps with your 4 PES stadium files:

· Open the Harps stadium builder, and click Tools/Stadium Importer. Then select Lside.3ds. Once you have selectes this file, a menu will pop-up, and then you should specify where are the texture files for this 3d stadium model part (that's why I advised you to have all the textures together inside a single directory). Once you have specified the location of the textures, a new menu will pop-up, displaying all the textures used in the imported .3ds file. You will have to place all these textures inside the square on the right (sometimes you will have to stretch and move your textures so all the textures would fit inside the square; make sure that the most frequently seen textures, or those textures that you will need with high-quality remain big, with good resolution, as the smaller they become, the worse they are rendered). Select the textures one by one and click Map/Unmap (those of you with 3D experience will recognize a simple creation of an UV Map for the stadium), placing the textures, till you complete the whole PES stadium with all the textures shown. (You will find out here that it is advisable to design a 3D stadium with few textures, or repeating the texture maps. It's also advisable to create a 3D stadium based on flat planes, so the UV mapping will be easy to define). The texture map can have neither any image outside the square nor any overlapping texture fragments. Once you have mapped all the 3D textures on your PES stadium model just click Check Bounds to verify that all your textures are alright. Under the Settings section verify that the "Flip V" option is checked if you used Rhino to model the stadium, because Rhino by default uses the inverted texture map.

Then you should click Import Model and Texture (so the program will read the 3D model of the PES stadium with the UV Map that you created), and then you should export the UV Mapping in one file and the PES Stadium model in another file with OIF extension:

- Save texture BMP (make sure you save the texture of the stadium with the same name that the side of the stadium that you are currently creating; for example, if you are working with the UV map of Lside.3ds, save it as Lside.bmp).

- Then, File / Save OIF, and this file keeping the same with an OIF extension (for example, Lside.oif).

Repeat this process with the remaining sides of this 3D stadium (Stadium Importer, Save BMP, Save OIF) with their respective file names.

- Once you have done it, take all the sides of the PES stadium that you exported in OIF, Lside.oif, Uside.oif, Dside.oif, Rside.oif, and put all these files inside the folder OIF2BIN from the original pack. Once you have copied all the stadium files in the specified destination folder click the BAT of each "side": convLside.bat, convDside.bat, convRside.bat, convLside.bat. If you placed every file of the stadium in the same folder, and if every part of the soccer stadium was alright, this will create 4 new files with numbers. Put these new files inside the folder called export that you created in the very beginning inside the folder stadUnpacker, replacing the old files.

- Now it's time to follow the same steps that we followed in the beginning, but in reverse order. At first we were extracting files. Now we are going to pack the final files of the new PES stadium.

- Once we copied the files with numbers inside the folder stadUnpacker/export, go to the folder stadUnpacker and perform the same steps you did in the beginning but in reverse order (at first we clicked export3d.bat in order to extract the stadium files from unknow_002.str to export) now we perform the inverse operations: we shall click import3d.bat, and this will put into the unknow_002.str file all the stuff inside the import folder.

- From the Zlib of DKZ Studio we should open unknow_09560.bin and then select the unknow_002.str file which is contained inside. Then we should right click on it and select import in order to import our new unknow_002.str (with our custom PES stadium) and replace the old stadium files. Once it's ready, we should save the unknow_09560.bin file. (It's very important to remember the location of this file, because this is the edited PES stadium, and we won't want to confuse this file with other default stadium). So let's save our recently created PES stadium.

Now we should open with DKZ the 0_text file, and we should look for the contained unknow_09560.binfile. Let's select this file and then click import, so we can import our recently saved file called unknow_09560.bin (thus replacing the original stadium file).

Once this is completed, we have to save the 0_text. As this file is already open, we won't be able to overwrite the file. So we should save this file with a new file name next to the original file, with an easily recognizable filename (for example,0_text_edited). Once we have saved this file with the new custom PES stadium, we should close the DKZ, and then erase (or rename, or store in a different folder, or whatever you want) the original 0_text file. Then we should replace the original file with the PES stadium that we designed, 0_text_edited, which we should rename as just 0_text, so that Pro Evolution Soccer will read this file with our custom stadium.

The new PES stadium 3D model is ready! Now, the textures:

There are some other tutorials out there that will tell you to use the WE Picture Decoder, but I have skipped that step because I really cannot stand that program: with Game Graphic Studio you can perform the same operations, in a better way, without having to save again the 0_text file if I want to edit the textures of the custom stadium again, if I think that these textures look ugly, or just if I want to replace the textures of the stadium (however, the edited textures of the stadium should keep the same area as the current textures).

As everybody is free to do as one prefers, if you want to use WE picture decoder instead, look up the PES tutorials at pesssoccerworld, or in the forums: I'm going to teach you how to do it using Game Graphic Studio, which in my opinion, is a better and easier program:

You will have to check inside Pro Evolution Soccer which textures appear in each stand of the stadium. Using Game Graphic Studio, open 0_text and look for the unknow_09560.bin file. You will find a complete list of all the textures inside that PES stadium model. Open (by right-clicking and selecting "open", inside the big work area at the top) each one of your stadium textures, Lside.bmp, Rside.bmp... etc. Make sure that all your texture BMP files of the PES stadium were stored in an Indexed Color mode (open with Photoshop all the BMP files, and select Image/Mode/Indexed Color, maximum 256 modes) and save this way the 4 files.

Open all the BMPs from Game Graphic Studio. Once you have opened each one of these BMP files, select in "all" Set Opacity, in order to make them opaque (no transparent, as well as the textures of the soccer balls, just check some soccer ball texture tutorials out there), and then drag the textures over the other textures in the list, replacing them. This way you can even change the grass textures of the PES game fields, and so on. Using this procedure you can clearly check which texture replaces each other, without having to save the whole 0_text file, as the edited textures of the PES stadium are automatically stored inside this file.

The rest consists just of checking your custom 3D stadium for PES. If any of your edited stadium textures is not rendered appropriately, check why it's being displayed wrong, place the texture in the right place of the stadium, and so on.

Take into account that, for optimal performance of the Pro Evolution Soccer game, your custom stadium should be modeled with the fewer number of polygons possible. A PES stadium composed of simple shapes (even just flat planes) is preferred. As an example, you could check this custom PES stadium, which I modeled (it's the football playground of my old school). This custom PES stadium was modeled just using flat planes: that way, Pro Evolution Soccer runs smoothly in your PC even using edited PES stadiums.

This custom Pro Evoluton Soccer stadiums tutorial is based on the original how to create your own PES stadium post by Dremin.

GTA San Andreas PC: Audio Bug Fixed.

There is an audio bug in Grand Theft Auto San Andreas for PC. Some users experience a sound bug in GTA, which consists of a strong change of audio volume. The FX sound and the music in GTA change radically: while one is played at a very high or normal sound volume, the other is heard at a very low volume, or like a sound of "reverberation" or echo, like a "subwoofer" sound.

In other situations, one or both audio channels (music and sound FX) stop playing. Even under certain circumstances the audio in GTA may be delayed and out of sync with the action.

All these GTA San Andreas bugs can be fixed easily:

Let's click on the start menu / run

Let's type: dxdiag

This will open the DirectX diagnose tools, and in the tab named sound we should lower the Hardware acceleration settings to the minimum. Then just close the DirectX window and start playing again GTA SA in your PC: the audio now goes perfectly.

When we quit playing GTA, we can repeat the process to raise again the sound hardware acceleration to the maximum level.

Fix GTA SA sound bug

Based on the original GTA SA sound bug fix post by Dremin. This information was formerly provided at our friend blog: Aqueos

HTML and CSS in emails: compatibility list of email clients

Probably you are familiar with this common scenario: you create a really well designed e-mail newsletter using your most advanced HTML and CSS skills, and then you find out that your recipient's email client is just breaking the whole email design and layout.

While sticking to a very simple plain text email would do the trick, you should not get rid of every HTML design element of your emails just because some mail clients are not compatible with specific CSS or HTML code. The key is to know which HTML and CSS features work on the main email clients.

This email compatibility list is a very useful resource, as it provides graphic examples of how a sample email would be rendered on popular email clients, and it's constantly updated to take into account the latest compatibility improvements of such e-mail clients.

At the present time, this list shows some interesting conclusions, such as that the Gmail mail client would only read inline CSS: Gmail ignores CSS included inside the head element, and removes CSS classes and ID's from the original HTML of the email.

By the way, if you are looking for a reliable free email client application, I would choose Mozilla Thunderbird.

Is there any HTML or CSS that works on any mail client?

So, how could we create appealing e-mails that would work on any e-mail client? The truth is that currently every main e-mail client supports HTML tables with inline background colors defined.

These tables would admit some background images in many e-mail clients. Images are very powerful when they are used to spice up the email body. But don't rely just on images: use elements that would degrade gracefully, so your HTML email would still be readable in any email client.

With no doubt, CSS is the future of HTML in terms of code maintenance and element positioning. But for sending HTML emails, it could be better to stick to a very simple (yet effective) HTML table based email content.

Reliable emails based on HTML tables

My advice is to use HTML tables in emails: most email clients will render the results flawlessly. And let's keep an eye on the compatibility list of CSS in email clients: the day of fully CSS based emails could be near.

Turn YouTube video quality into HD Youtube in 1 simple step

Did you know that just adding &fmt=18 at the end of a YouTube video URL will turn such video in a High Quality YouTube video?

Let's see an example of how a High Quality YouTube video URL looks like:

http://www.youtube.com/watch?v=W6nppcKOYGo&fmt=18

And that's all! It is that simple.

YouTube video quality in detail: quality comparison

Let's take a closer look inside the two different YouTube video formats and see how much improvement you can obtain adding just &fmt=18:

Normal quality YouTube video:

  • Video format: Flash Video (.flv).
  • Video codec: FLV1.
  • Frames per second: 15 fps.
  • Video resolution: 320 x 240 pixels.
  • Video audio: MP3 at 22050 Hz.

High quality YouTube video:

  • Video format: MPEG-4 (.mp4).
  • Video codec: AVC1.
  • Frames per second: 29.97 fps (as NTSC).
  • Video resolution: 480 x 360 pixels (50% higher!).
  • Video audio: MP3 at 44100 Hz, 2 channels, 1411 kbps.

The High Quality YouTube video is approximately double the size in MegaBytes of the normal quality video. But the video quality improvement is worth the effort: the new video has bigger screen dimensions and much better video bitrate (and thus, much less video compression artifacts).

Flash video is the best format to optimize bandwidth, but the other YouTube MPEG-4 video codec is doing a great job keeping the quality high.

See it by yourself! Here is a normal quality YouTube video, and this is the same YouTube video in High Quality.

Unfortunately, this trick won't work to embed High Quality YouTube video in an external site. The good news are that our old tricks to embed HD Flash video still work.

Nevertheless, it seems that YouTube is taking advantage of the fast modern networks too, and this &fmt=18 is a big step towards an HD YouTube!.

Flash video bandwidth saving tricks: scale video size

It's great to have high quality Flash videos embedded in your site, but keep in mind that each time a good quality video is downloaded, it consumes a lot of bandwidth. You can eventually get an annoying message of bandwidth limit exceeded, which would either make your server unavailable during the rest of the month, or cost you an additional fee according to the bandwidth quota exceeded.

The idea is to achieve an appropriate balance between the video quality (the amount of video compression) and the total video file size in bytes (the total amount of bandwidth consumed by a full video download).

The trick is to create a Flash video file with an average bitrate and small screen size. Then, scale the Flash video size when embedding the video on your website.

Flash video: scale size to save bandwidth

These are the steps that you should follow to save video bandwidth while keeping the embedded Flash video quality high:

  • Convert your video to Flash Video (.FLV) using a video bandwidth around 400 kbps.
  • Reduce the video size of the .FLV file. The screen dimensions of the .FLV video can be as little as the desired video dimensions divided by 1.25.
  • Specify the desired Flash video dimensions (not the real, reduced .FLV video size) as the video dimensions when embedding your video in your webpage. Here are some tips on configuring the playback controls to embed high quality Flash videos.

And that's it. The 2 main ideas of this trick are just so simple and effective:

  • Use an average streaming bandwidth on a small video to achieve a good compression quality.
  • Don't use the original dimensions of your Flash video: scale size to match the desired video size.

Modern networks can play a Flash video of 400 kbps in real-time streaming or with little preload time. The video quality will be kept high as well, because the real screen dimensions of the video are small. With such a good compression quality you will have little artifacts on your Flash video. You will even keep the video subtitles and other video texts clearly readable.

On the other hand, the distortion of the scaled video is less annoying than the compression artifacts. Just don't scale your video size more than a 125% of the real video size, or you could start getting too much pixelation.

The result is a Flash video of the desired screen dimensions with little compression artifacts: a good quality video with optimized video bandwidth.