Guide to Model Buildings



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.

map

As you can see, there are 6 land types:

  1. Single sized street plots -- these are the small black squares on the side of the streets, they are the most common type of buildings.
  2. 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.
  3. Corner plots -- there are the colorful circle-square combos connecting the streets.
  4. Double sized circlular plots -- there are the colourful circles. There is only one such plot in this map -- the red circle in the center.
  5. 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.
  6. 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
map america

pic2
japan
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:
  1. Hotel -- will force non-owner players to stay in it for a number of days and pay for each day
  2. Shopping Center -- will force non-owner players to spend a rather large amount of money
  3. Research Center -- will allow owner to develop special tools
  4. 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.
  5. 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
ref1
pic4
level 3 research center, level 1 hotel, level 5 shopping center
pic5
level 2 shopping center, level 4 hotel
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:

  1. Shop -- sells magical cards and props
  2. News agency -- annouces news before it actually happens
  3. Luck -- generates random lucks for players who stop on it
  4. Witch house -- jinx players who fit a certain description
  5. Bank
  6. Hospital
  7. Police station
  8. *Workshop -- upgrades magical cards and props
  9. *Casino
  10. Lottery ticket office -- allows players to buy lotto tickets
  11. Cards -- gives players a random magical card
  12. Park -- harmless
  13. *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
hospital


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.