This text is part of MM2CT manual but I think that it should be also available here.

City Overview

Creating city for MM2 is quite complicated. You have to create many files and objects and we don't know full specification of all MM2 files. Fortunately you don't have to know everything about that files, but you should have basic knowledge about them.

Structure

Like everything in MM2, additional city is a AR archive which is a normal ZIP file with changed extension. That file contains few directories:

_texture - contains textures. It's not used by MM2. MM2CT renames and copies textures form this location to texture directorybound - contains files used by collision system. They are generated by MM2CTcity - contains basic information about city. There can be found:

city_base_name.aimap - information about cars used in traffic
city_base_name.bai - information about traffic roads, how they should drive. This file is generated by MM2CTcity_base_name.inst - information about unbreakable objects in game. This file is generated by MM2CTcity_base_name.psdl - information about terrain (ground, roads, intersections, etc). This file is generated by MM2CTcity_base_name.sky - information about sky (texture name, etc). Can be generated by MM2CT (create city structure function)city_base_name_bai.txt - information for bai generator, this file isn't used by game. This file is generated by MM2CTcity_base_name_log.txt - log created by bai generator, this file isn't used by game. This file is generated by MM2CT

decals.pathset - information about decals positions. Decals can be used to create e.g. shadows. This file is generated by MM2CTprops.pathset - information about breakable objects in the city (like sigs, barries, etc) positions. This file is generated by MM2CT

geometry - contains geometry files of objects in city. These files are generated by MM2CTjpg - contains textures and city_base_name_roam.jpg which is shown during city loading.
city_base_name_roam.jpg can be generated by MM2CT (create city structure function)

texture - contains textures which you used for city and additional objects
tune - contains city_base_name.cinfo (txt file) which provide information about city, the more important filed are:

LocalizedName - city name shown in menu, for example: Crazy Neighbourhood
MapName = city_base_name, for example: t2
RaceDir - directory with city, should be equal to MapName: t2

city_base_name.cinfo can be generated by MM2CT (create city structure function)

tune/banger - contains files used by collision system for breakable objects. They are generated by MM2CT by sometime you have to edit them manualy

Most of the files are created by MM2 CityTool. You have to only create textures in _texture directory ... and of course .3ds with city.

That's all you should know about cities structure in MM2. If you want to have city it game, just pack all directories to zip archive and then rename it.

Objects

In city, there are few types of objecs (I describe only objects supported by MM2CT):

grounds - there are main objects, used as base position for unbreakable objects (inst). Every inst objects has to be placed on some grounds objects
roads (with and without sidewalks)- there are few types of roads, with sidewalks and without sidewalks. Roads are used by traffic cars (In this version MM2CT generates traffic only for roads with sidewalks, for other roads traffic isn't generated)
intersections - connect roads, all road should have at the ends intersections
inst objects - unbreakable objects, must be place on some ground objects. You can build whole city using this objects (you have to only make one big rectangle which will be used as ground objects), but that kind of city won't have traffic. To have traffic you have to combain inst objects and roads, which is quite easy.
props objects - breakable objects, there should be small. You can create sings, trees, warrning barriers, etc.
decals - flat rectangles, they can be used e.g to simulate shadows of trees and similar objects
polices - simple boxs, which set cop car position

With that objects, you can create quite big and complex city. In the future I'm going to add more objects (e.g. more types of roads).

City Creating

Objects naming

Introduction

.3ds allows only for short names, so we have to use special names. Every object name ends with _. This is a real end of the name. When you call your object PH1_, PH1_22, PH1_33, PH1_345, for program the name isPH1 (MM2CT removes everything which is placed after _). Because .3ds needs also uniqe names, 3DStudio and ZModeler during export add numer to objects. So, if you have two objects ROADS_ they will be exported as ROADS_, ROADS_1 (but MM2CT will cut the name, so don't worry about it).

INST objects

Inst objects are unbreakable. You can make as many objects as you want. Every object needs at least high body and bound. You can also add additional bodies (medium, low, verlow). The name template is:

As I wrote, you must have at least PHn_ and PBn_. If you want to use the same objects, but in few different positions (for example few houses), you don't have to create new objects, you can use the first one. There is special object type which is a link/alias for other object. If you want to duplicate objects, just copy PHn_ or PBn_ (you can select type during import) and rename it to PAn_. You can also rotate created alias (the angle will be calculate by MM2CT). What alias give you? There is only one PKG file for all that objects, so you save disk space.

Very often we use trees in city, but if you just copy them, they will look unnatural. You should rotate evey tree to random angle. MM2CT makes that process easier. You can create special objects, Txn_ which represented tree. Only diffrent between Txn_ and Pxn_ is that Txn_ are rotated radomly import. Also you don't have to copy BHn_ to create alias, you just need to copy TBn_, because only position is important, rotate angle is ignored.

They are breakable objects. You can make as many objects as you want. Every object needs at least high body and bound. You can also add additional bodies (medium, low, verlow). The rules are the same as for INST objects. The name template is:

This type includes objects like roads, intersections and ground. They are saved in PSDL file and are based for traffic generator. There are just few types of objects:

ROADS_ - road with sidewalks, every road should ends with intersections</li>
ROAD_ - road without sidewalks, traffic isn't generate for this type of roads</li>
GROUND_ - terrain, mountains, etc</li>
GTm_ - the same as GROUND_, but MM2CT will add trees to this objects ("forest generator")</li>
ISn_,SWn_,CWn_ - intersecion is made from few objects which must be connected. They are:

They are flat rectangles (4 points) with assigned texture. Decal can be use to add shadow to trees and other objects.The name template is:

DECAL_

POLICES Objects

They are simple boxes, not need textures. They set position of cop cars. MM2 won't use cops without BAI file, so in your city there must be at least 3 roads and 2 intersections.

COPn_

where:n - cop car number. Car name is binded to number in MM2CT during import

PSDL Objects in 3DS

All objects are automaticly textured by MM2. You have to only assign texture do them, you don't need (and you shouldn't) set UV mapping parameters for that objects.

Ground

Ground it's a normal object. It uses one texture which is automaticly repeated.

It must have ONE continuous circuit/perimeter.

If you have problems with circuit/perimeter, you should divide object into few parts

If you want to make forest quickly, you should rename GROUND_ to GTn_, where n is inst object index (THn_). MM2CT will add trees using THn_ as template.

During import you type necessary parameters like offset and maximum area of a triangle

and after that, your city recieves trees. Offset is a distance between center of triangle and tree pivot.

Trees are added to each face. If area of face is too big, face is divided in smaller triangles.

Road without sidewalks

It uses one texture, which is maped per face. Roads are build from pairs of points. Angle between AB/BC and BC/CD must be about 90 degree

Road with sidewalks

It uses three texture, first is the road, second is the sidewalk and third is for distance view. You have to only assign first texture and the others are used automaticly (they must be after first texture in the texture list).

TextureList:

....
RoadTexture
SideWalkTexture
LowTexture
....

Roads with sidewalks are build from 4 points in row. If we have 4 points, 1-2 and 3-4 define sidewalks and 2-3 defines road.

Requirements:

1. Angle between AB/BC and DE/EF must be about 90 degree
2. Distance AB > BC and EF > DE
3. Red points must be lower then blue points. Usualy the distance is equal to 0.15.
4. Count of red points must be equal to count of blue points

Intersection

Itersection is made from three types of objects. IS - main surface, SW - sidewalk, CW - crosswalk. You can connect as many roads as you want to intersection, there is no limit in program, but it wasn't tested for more than 4 roads.

It uses three texture, first is the main surface, second is the sidewalk and third is for crosswalk. You have to only assign first texture and the others are used automaticly (they must be after first texture in the texture list).

TextureList:

....
MainSurfaceTexture
SideWalkTexture
CrossWalkTexture
....

Requirements:

1. Blue points must be lower then red points. Usualy the distance is equal to 0.15.
2. Count of red points must be equal to count of blue points
3. Intersection can have only one IS object (ISn_)
4. Count of CWn_ (crosswalks) must be equal to count of roads connected to the intersection
5. Count of SWn_ (sidewalks) must be equal to count of roads connected to the intersection

Example

This example shows one roads and two intersections.
_________________...You only have to know how to prepare query, google will do the rest......My software......Guide to Punctuation...

Last edited by Maxoff on 10 Jun 2007 07:48 pm; edited 10 times in total

14 Jan 2006 02:59 pm

busboy99MM2C Hooligan

Joined: 17 Feb 2006
Posts: 3607

Status: Offline

Post subject:

kool

22 Feb 2006 04:59 pm

MaxoffMM2C Addict

Joined: 11 Nov 2004
Posts: 560
Location: Poland

Status: Offline

Post subject:

Sometimes your write that you received perimeter error. Here is something that may help you to avoid this problem.

Truths about roads

The ROADS_ has two sidewalks and area for cars, so (numbers are vertexes, letters are faces):

If your ROADS_ doesn't match it, there is something wrong with your object (or with my calculations )_________________...You only have to know how to prepare query, google will do the rest......My software......Guide to Punctuation...

27 Dec 2007 06:08 pm

bamboosticksWaterboy

Joined: 18 Apr 2008
Posts: 6

Status: Offline

Post subject:

Hi, I'm new, and I find the tutorial too difficult

Could you possibly make an easier one? I only just managed to import the TGA files into whatever - have no experience with 3D and as of now am downloading 3D S Max thingy.

I also want to know how to make custom races.

thank you.

18 Apr 2008 08:05 pm

thenthornthingMM2C Hooligan

Joined: 18 Jan 2007
Posts: 4409

Status: Offline

Post subject:

Firstly make sure that you have read all of the posts.
It is as easy as it gets, makign a city is not easy - well it is once you get used to it, hence the lack of map makers for MM2.

Also, use Zmodeller - much easier_________________So it's "Goodnight" from me. And it's "Goodnight" from him. Goodnight!

18 Apr 2008 08:30 pm

HummersRock...is still seeing colours.

Joined: 20 Feb 2006
Posts: 2669
Location: Magic Mushroom Land

Status: Offline

Post subject:

bamboosticks wrote:

Hi, I'm new, and I find the tutorial too difficult

Could you possibly make an easier one? I only just managed to import the TGA files into whatever - have no experience with 3D and as of now am downloading 3D S Max thingy. thank you.

You find it too hard? This just tells you what you are supposed to name certain objects, I do not see that as hard._________________My MM2 Creations | My DeviantArt

20 Apr 2008 08:53 pm

anasbinqamarMM2C Regular

Joined: 07 Nov 2008
Posts: 158

Status: Offline

Post subject:

hey!i know the easier one !!! just go to link www.mm2tracks.com then go to tutorails and download the first one !!!!man its too easy
in that he maked only small city but you can make it big . thankyou _________________

22 Dec 2008 07:00 pm

anasbinqamarMM2C Regular

Joined: 07 Nov 2008
Posts: 158

Status: Offline

Post subject:

i have a tutorail
first step:- download zmodeler 1.07b available at the search of google ok.
2nd step:-download mm2 city toolkit available at www.mm2x.com
3rd step:-download textures of road and grass if you see it is hard then download a simple picture of grass and road then open adobe photoshop open grass file then go to file>saveas
then save as targa or tga file as a copy .Then but 28 or 32 bit.
open mm2 city toolkit go to tools>creat directory structure_________________

22 Dec 2008 07:08 pm

b12manNirvanophile

Joined: 07 Aug 2006
Posts: 2153
Location: Lurking somewhere near...

Status: Offline

XboxLiveGamertag:ForeignBrian 12

Post subject:

...are you a joke?
1st: There is no such thing as a tutorail
2nd: What you wrote isn't a tutorial, tutorail, or anything else... That is saying what programs you need, not making a city _________________

...are you a joke?
1st: There is no such thing as a tutorail
2nd: What you wrote isn't a tutorial, tutorail, or anything else... That is saying what programs you need, not making a city

I agree. You seem to be something of a 7-year old anas. I ask Qs cuz i am lazy. the correct way is tutorial, spelt tu-tour-ree-all. Max, if you can, show an image of the best track you made, if you did.

29 Mar 2009 07:33 pm

HummersRock...is still seeing colours.

Joined: 20 Feb 2006
Posts: 2669
Location: Magic Mushroom Land

Status: Offline

Post subject:

ANA1234 wrote:

Max, if you can, show an image of the best track you made, if you did.