This page talks about the types of
buildings and how they should be modelled using Blender. However, the
first thing you need to know is how the maps are drawn. Below is a a
typical map as displayed in the map editor.
As you can see, there are 6 land types:
- Single sized street plots -- these are the small black squares on
the side of the streets, they are the most common type of buildings.
- Double sized street plots -- these are big black/blue squares on
the side of the streets, there are two in Geraldon on the upper left
corner of the map, and there is a blue one in Sydeny on the lower right
corner.
- Corner plots -- there are the colorful circle-square combos
connecting the streets.
- Double sized circlular plots -- there are the colourful circles.
There is only one such plot in this map -- the red circle in the center.
- Single sized circular plots -- there are the spots where players
can get street credit, some of them have numbers printed on them, the
numbers are the street credits that can be gained on that plot.
- Non-playable buildings -- these are not marked on the map. ;-)
Modelling Buildings for Singe Sized Street Plots
These plots can be bought and developed. When a player buys a plot the
first time, the plot just gets an emblem for that player, afterwards,
every time the owner of a plot stops at it, he/she can upgrade it. See
the following pictures from the original game for reference:
pic1
pic2

For the single sized street plots, 5 upgrades after the initial
purchase are possible and the more upgraded buildings should be bigger
and taller than less upgraded ones. Furthermore, since I want to make
maps that reflect the geography of specific countries, the
buildings for single sized street plots will vary in style depending on
the map.
Modelling Buildings for Double Sized Street Plots
Double sized street plots are slightly more complicated. There are
actually 2 types of double sized street plots: company plot and
upgradable plots. The company plots are for company buildings. Each
company plot should contain a single building that is NOT upgradable.
For example, in pic1, there is a redish buidling with a car on top --
that's Ford. The companies would also vary from map to map.
The upgradable double sized street plots have 5 sub types:
- Hotel -- will force non-owner players to stay in it for a number
of days and pay for each day
- Shopping Center -- will force non-owner players to spend a rather
large amount of money
- Research Center -- will allow owner to develop special tools
- Maze -- will force non-owner players to stay in there, and he/she
will lose a random amount of money and magic cards and other props each
day.
- Rubbish dump -- a plot that would cost its owner a certain amount
of money every week.
Hotel, shopping center, research center and maze each have 5 levels of
upgrade, and the higher level, the bigger they should be. See the
following reference pictures to get an idea:
pic3

pic4

pic5

There are no reference pictures for the maze and rubbish dump, because
they don't exist in the original game. I'd prefer different styles of
buildings for different maps too, but the original game just had the
same buildings for all the maps. I'm also open for suggestions for more
upgradable double plots.
Modelling Buildings for Corner Plots
Corner plots consists of a circular patch connecting 2 streets and a
double sized building plot on its side. These plots include banks, news
agencies, shops, hospitals, police stations, and parks etc. The
circular patch can be modelled as a very thing cylinder with some
texture on it. The building plot should contain a single non-upgradable
building that suit the name of the corner plot. I plan to make the
following types of corner plots:
- Shop -- sells magical cards and props
- News agency -- annouces news before it actually happens
- Luck -- generates random lucks for players who stop on it
- Witch house -- jinx players who fit a certain description
- Bank
- Hospital
- Police station
- *Workshop -- upgrades magical cards and props
- *Casino
- Lottery ticket office -- allows players to buy lotto tickets
- Cards -- gives players a random magical card
- Park -- harmless
- *Temple -- allows players to pray to the good gods, and perform
exorcism to rid of evil spritis
The types with a * are not present in the original game, and I'm open
for suggestions of more corner plots. Below is an example of the
hospital building from the original game:
pic6
Modelling Buildings for Double Sized Circular Plots
There is actually only 1 type of double sized circular plot, and that's
the jail. We just need one non-upgradable jail building for each map.
The jail building should sit in the center of its circle.
Modelling Buildings for Single Sized Circular Plots
There is only 1 type of single sized circular plots, and they street
credit spots. There are no buildings associated with them. The models
for these plots should just be a thin cylinder that has the texture map
stating the amount of street credit on the spot.
Modelling Non-Playable Buildings
Well, these are extra eye-candy buildings that you can put on the map
to make it look better, preferably they can be landmarks of the
countries that the maps depict, e.g. the statue of liberty, Hollywood,
etc. for America, the great wall, panda forrests, etc for China.
Sizes and Dimensions
It's very very important that your buildings have the right dimensions,
and by "right dimension", I mean not exceeding the limit of their
respective plot. The basic map, as shown in pic1, was drawn on a
1024x1024 image -- the dimension always has to be a power of 2
otherwise crystal space doesn't texture well. However, the map will be
mapped onto a square with the dimension of (1024/
zoomingFactor)x(1024/
zoomingFactor).
All the plots, both circular and square, have dimensions that are
multiples of
plotLength.
Single sized street plots have dimensions of
plotLength x
plotLength,
and double sized street plots have dimensions of (2*
plotLength) x (2*
plotLength).
Single sized circular plots have radius of
plotLength/2.0,
and double sized circular plots have radius of
plotLength.
So, putting it all together, if the current
plotLength
is set to be 20 by the map editor, then after the map is loaded into
the game, the x and y dimension of a building on a single sized plot
should not exceed 2 by 2, and preferably 1.8 by 1.8. It is very
important that you make sure all your models have the right dimensions
on the xy plane because it is not possible to scale them in crystal
space.
Currently, the
plotLength is indeed set to be 20 by the map
editor.
Furthermore, each building must have 1 and only 1 texture, otherwise
Crystal Space wouldn't like it.
Directory Structures for the Maps
The data for the maps are stored under the Data/Maps directory of the
code. I will illustrate the organisation using the example map in SVN.
The directory structure is:
Data/
Maps/
00/
config -- this file details the configuration of the map
map.gm -- the CS mesh object for the map
map.map -- the actually map created by the map editor
map.png -- the texture file for the background map
singlePlotBuildings/ -- this directory contains CS mesh objects
of the 6 levels of single plot buildings
config -- this file details the configuration of the mesh objects and
their texture maps
level_0.gm -- the mesh object for when a players just buys a land
level_0.png -- the texture file the level_0.gm
level_1.gm -- the mesh object for the first upgrade of a plot
level_1.png -- the texture file the level_.gm
level_2.gm
level_2.png
level_3.gm
level_3.png
level_4.gm
level_4.png
level_5.gm
level_5.png
doublePlotBuildings/ -- this directory contains CS mesh objects
of the 5 types of upgradable double plot buildings
Hotel/
config -- this
file details the configuration of the mesh objects and their texture
maps
level_0.gm -- the mesh object for when a players just buys a land
level_0.png -- the texture file the level_0.gm
level_1.gm -- the mesh object for the first upgrade of a plot
level_1.png -- the texture file the level_.gm
level_2.gm
level_2.png
level_3.gm
level_3.png
level_4.gm
level_4.png
level_5.gm
level_5.png
Shopping Center/
config -- this
file details the configuration of the mesh objects and their texture
maps
level_0.gm -- the mesh object for when a players just buys a land
level_0.png -- the texture file the level_0.gm
level_1.gm -- the mesh object for the first upgrade of a plot
level_1.png -- the texture file the level_.gm
level_2.gm
level_2.png
level_3.gm
level_3.png
level_4.gm
level_4.png
level_5.gm
level_5.png
Maze/
config -- this
file details the configuration of the mesh objects and their texture
maps
level_0.gm -- the mesh object for when a players just buys a land
level_0.png -- the texture file the level_0.gm
level_1.gm -- the mesh object for the first upgrade of a plot
level_1.png -- the texture file the level_.gm
level_2.gm
level_2.png
level_3.gm
level_3.png
level_4.gm
level_4.png
level_5.gm
level_5.png
Research Center/
config -- this
file details the configuration of the mesh objects and their texture
maps
level_0.gm -- the mesh object for when a players just buys a land
level_0.png -- the texture file the level_0.gm
level_1.gm -- the mesh object for the first upgrade of a plot
level_1.png -- the texture file the level_.gm
level_2.gm
level_2.png
level_3.gm
level_3.png
level_4.gm
level_4.png
level_5.gm
level_5.png
Rubbish Dump/
config -- this
file details the configuration of the mesh objects and their texture
maps
level_0.gm -- the mesh object for when a players just buys a land
level_0.png -- the texture file the level_0.gm
level_1.gm -- the mesh object for the first upgrade of a plot
level_1.png -- the texture file the level_.gm
level_2.gm
level_2.png
level_3.gm
level_3.png
level_4.gm
level_4.png
level_5.gm
level_5.png
nonUpgradableBuildings/ -- this directory contains
CS mesh objects of all the non-upgradable buildings
config -- this
file details the configuration of the mesh objects and their texture
maps
Hospital.gm
Hospital.png
....
nonPlayableBuildings/ -- this directory contains
CS mesh objects of all the non-playable buildings
config -- this
file details the configuration of the mesh objects and their texture
maps
b0.gm
b0.png
....
The config file for the map looks like the following:
name=Australia
mapModel=map.gm
mapInfo=map.map
mapImg=map.png
The string to the left of the equal sign is the "key" and the string to
the right of the sign is the "value", the keys should never be changed
but the values can be changed to whatever you like. For example, if you
don't want to call the mapModel "map.gm", you can just can it whatever
you want, but you must specify its final name in the config file.
Similarly, the config file for the buildings looks like the following:
level_0=level_0.gm
level_0_img=level_0.png
level_1=level_1.gm
level_1_img=level_1.png
level_2=level_2.gm
level_2_img=level_2.png
level_3=level_3.gm
level_3_img=level_3.png
level_4=level_4.gm
level_4_img=level_4.png
level_5=level_5.gm
level_5_img=level_5.png
Again, the keys must stay unchanged, but you can rename your
mesh objects and textures to whatever names you like.