Hi,
Reading through this thread reinforces my impression, that it does not really matter what software you are using. The high-poly problem runs down to very simple questions like these:
How many sides does a cylinder need to have to get the smooth surfacees of a pipe or a boiler cladding? Clearly a pipe needs much less than a boiler, and an electric line even less. Any kind of software will turn out extremely high poly meshes, if the content creator allows the use of 32 sided cylinders for building of what is to become a 1-inch diameter pipe simply because 32 is the default setting.
As long as the content creator can control this by the software he is using, its all right. Knowing how many sides you actually need has to be learned by trial and error. Draw a mesh, fit it it with a simple texture e.g. by a m.notex material export it into trains, place it on a map and look at it, first in surveyor and later in driver too. If you find, that the surface is not smooth enough, redo it!
How many vertex points do you really need to draw the the smooth curves of e.g. a cab window? Clearly, the less the better, but on the other hand if they are too few, there will be no smooth curve. Again, the size and radii of the curve are decisive. As long the content creator remains in control of this, the software is all right.
Which faces are really visible? And here you might want to keep in mind, that trainz perspectives are much more restricted than perspectives on a 3D-drawing screen, where you can rotate your object at will. Again, knowing what you might need and what can be deleted is a matter of hard thinking, honed by (hopefully not too bitter) experience, obtained by placing your object on a trainz map. It is a good procedure to draw a master file first, which contains all faces and then to copy this for further processing like removal of not needed faces, mapping and texturing. If you find out, you overdid it with removing faces, you can go back to the master-file.
Am I mistaken that the locomotive shown by BobCass has 120,000 polys? I agree with John Weelan, that if you observe these points the poly count for the mesh as shown should go down to 12,000 to 15,000 polys. This would leave polys enough to build the covers for the washing holes , which I am sure could be found at the sides of the belpaire type boiler.
That brings me to another point, textures. Blender for instance, helps you building diffuse maps, either by "spraying" paint directly on the mesh, or by mapping faces to a free spot on your texture file followed by painting this spot directly. Blender also has the capability to draw shadow maps, black and white diffuse maps, which show lighted and shaded portions of your mesh. If you combine this with the diffuse map, you are getting a much improved diffuse map. The nice thing about this is, you do not have to be a talented painter to do this.
Nowadays trainz trainz supports normal maps for all kinds of assets, which have meshes. Normal maps are very useful for creating details like rivet heads, ballast, gravel, tiles!!! etc. Blender provides the capability to bake mesh details to normal maps. The capability of normal maps to produce additional details should not be overestimated, but the rivet heads, which were certainly found at the smoke box in the Locomotive shown by BobCass can be convincingly shown by normal maps without adding a single poly. This will, however, work only if you are kowing what you are about and a beginner may need several attempts before succeeding.
Now even a 120,000 poly mesh, may be all right, if it is balanced by lod. Remember, that even with a highly detailled, hig-poly mesh, the number of visible details declines exponentially with the distance between the mesh and the camera. Lod involves having several similar meshes of the same object, which differ in the amount of polys only.
No matter how many polys your high poly mesh has, the low poly mesh for a locomotive body should not have more than 200 to 500 polys. In most instances it may be advisable to have one or two intermediate poly meshes (If I remember correctly, trainz allows up to 9 lod-levels). Depending on the distance between the asset and the camera, the number and sizes of assets shown in a camera view and available computational power trainz switches between the different meshes.
The art of generating a set of lod meshes is to build and texture them in a way that the switches between lod-levels remain more or less unnoticable. I risk being considered a bore by insisting again, that knowing how to reduce polys without sacrificing visible details is a matter of practical experience.
If you are interested in using blender, I would like to recommend the three excellent tutorials written by Paul Hobbs.
Cheers,
Konni