Jump to content

The old Canal City

Recommended Posts

Actually this was just an exercise at taming the Terrain plane tool as clunky as it is, its still possible to shave the terrain to form a canal complete with the water rise retaining wall (that doesn't fall over) as might be seen in the Alte Stadt.

I quickly threw in some buildings to give it depth. I always wanted a built up area bridge fight. For ease of pathing I had to use a double tandem bridge which works.

Is the new Kursk game complete with map maker utility? And is it similar to TOW 1? Sure would look forward to an old city bridge canal fight.



Link to comment
Share on other sites

Nice map, Nikki!

Have a look in the Berlin buildings provided in the Mega Mod Pack: there are two "canal walls" representing the sides of the Spree river that might be helpful to you. They're working as is (you only have to add the corresponding entries in the static.ini file)

They're called Spree_bort and Spree_bort_short.

you can use a setup as this in the static.ini:


Title Spree_bort

MeshLive 3dobj/environment/pavement/Spree_bort/mono.sim

MeshDead 3dobj/environment/pavement/Spree_bort/mono.sim

Preset Pavement

Link to comment
Share on other sites

  • 2 weeks later...

Hi Nikki,

Sorry, I told you that the object was working as is straight from the pack, but I was wrong; I forgot that I had to modify it a bit; as you suspected, the collision objects are missing.

I'll try to help as much as possible with this Spreebort object:

houses.ms is a 3DSmax script that is used to export a max scene to a *.mcn file and mesh0000.tse file (mcn file is the hierarchical structure of the building - a bit similar to the hier.him file; a *.tse file is all the 3D coordinates info for the 3D model.)

Here is how to add the missing collisions to the Spreebort object:

First, consider this object to be the same as a bridge if it is to be used as a canal wall (it will have the same static preset as a bridge, since it will be aligned on water)

You could decide that it could be used against the slope of a cliff, and use an other static preset to have it aligned with the ground.

But since we're going to use this as a canal wall, first we have to modify the position of the Ground_Level object. Being aligned on water as a bridge, the Ground_Level hook needs to be lowered a little bit, so that the upper part of the quay is above water. How much depends of how high above the water you want the quay to be.

Here is the Spreebort object straight from the Modpack with the Ground_Level hook set exactly at water level:


You need to add two collision objects (two cubes). One will be the collision for the ground - where the soldiers and vehicles can stand. The other (outlined in white on the picture) will be a wall corresponding to the safeguard rail on the side of the quay. Without this "wall", soldiers will walk straight over the edge of the quay, up or down, if at least a part of it is located out of water. The wall will make sure the soldiers can't go through the hand rail. I kept the height of the wall very low, only up to the constructed part of the quay, so that bullets can fly through the hand rail. Only soldiers standing prone close to the border could benefit of some protection against fire:


Both collisions objects should overlap a little bit.

On the next picture, I've lowered the Ground_level hook, so that the quay will be about 6 meters above the water level:


Make sure the pivot of the collision object is set to their center (if you moved the vertices to align the collision shape to the 3D model of the quay). If they're not at the center of the object, collision detection might fail.

So we have four objects: the ground level hook, the x0y0_dam0_l0 3D model for the quay, and 2 collision shapes called collision1_x0y0_dam0 and collision2_x0y0_dam0.


We'll use only one resolution LOD as the model is very simple, and there is no need to lower the number of polys. You could do more lods so that we coud use lower resolution textures, but this would be interesting only with a more complicated 3D model that needs a lower polys count, as the texture will use it's own mipmaps when seen from further away.

next we'll export the mono.mcn file and the mesh0000.tse

we open the "export mono object" script, and add one lod viewdistance: 450m. (The object will be displayed from 0m to 450m in game)

we click on the export mono.mcn button and save it to a convenient location (you could save it in the Meshtools directory). We do the same with the "export mesh.tse" button (don't forget to select the "use light as hooks" radio button, as a light is used as the ground_level hook.


Now you need to edit the *.mcn file manually a little bit (to give the object the correct collision names, so that the game engine can know what they're used for)

right now, the collision shapes are called c1_x0y0_dam0 and c2_x0y0_dam0.

we need to name the collision for the ground x_brigde_dam0 (so the game engine will allow vehicles and soldiers to stand on the quay), and we need to rename the collision shape for the wall x_bar_dam0 (so the game engine knows that this will act as a barrier for the soldier and the vehicles).

X_bridge is the walkable part of a bridge, whereas x_bar_dam is the parts that will act as the unpassable sides of the brigde

MCN file before renaming:


MCN file after renaming:


Now we can start the conversion to *.msh format, and create all the files needed for the object to work in game:

open a DOS command line shell, navigate to the Meshtool directory and type the following command line:

CnvMono.bat mesh0000.tse mono.mcn

hit enter, and the conversion will start and all files will be created in the meshtools directory.


now we have the following files highlighted files:


If you're creating this object for ToW1, you'll need to copy the info for the BoundBox from the command shell to the mono.sim file.

It is not needed for ToW2:

mono.sim straight from the converter:


The same file with the BoundBox line added:


We're going to create a folder inside the game for this new object, and put inside all the files needed to make it work:

I'll create the following directory in my 3dobj folder:


Inside this folder, I put the following files we created in the Meshtool directory:

-the x0y0_dam0.msh file we just created

-the mono.sim file

-the tex1_lod0.tga from the Spreebort folder of the modpack

-the tex1_lod0.mat from the Spreebort folder of the modpack

the next and last step is to add the new Spreebort object to the static.ini file (found in the folder data/settings/)


As you can see, I've added the Spreebort object entry (highlighted) to a new section I've created in the static.ini, to test a few of the buildings of the modpack.

Now you can test the new building in game with the Builder utility:


This is a very basic tutorial, but it should be useful anyway. With a bit more complex objects and collision shapes, you can do a lot of different objects.

Link to comment
Share on other sites

  • Create New...