Basics:
First you need a graphics program.
You can use any program that supports PNG files and transparency. Possibly GIMP, paint.net or another program in which you can disable antialiasing.
It is important to know that TheoTown is using an isometric angle of view for all ingame buildings.
Some words about the scale in TheoTown.
A human being is about two meters tall. These are about three pixels in the game.
Due to some restrictions in the game, it is not possible to display a very huge factory scale to scale.
This is also the reason why a nuclear power plant has the same size of the base area in the game as a skyscraper.
Also keep in mind that even such a skyscraper can´t be higher than 256 pixel in height.
We start with the ground-area: Light and shadows are based on the following template:
Original size:

Enlargement:

Ok, let´s begin to create a small house for TheoTown.
Step 1:
Original size / Enlargement


We start with some basic walls.
Step 2:


Then we add the first part of the roof.
Step 3:


Now we extend the roof to the other side of the building.
Step 4:


In this step the roof is filled with color and slightly lowered on the wall of the house.
Step 5:


Now we add the window frames. Always pay attention to where the light comes from.
On the bright side the frames are dark and on the dark side bright to have a good contrast in the game.
Step 6:


For a "realistic" roof or window color it is worth to use a photo of a building.
Copy the photo to the graphics program and read out the corresponding color values using the color pipette.
This prevents a comic-looking look that does not match the other buildings in TheoTown.
Step 7:


Now we put a chimney and some structure on the roof, so it does not look too simple. Larger roofs (eg for an industrial warehouses) can also be filled with textures.
Depending on the side of the building, these textures must be rotated in order to adapt to the angle used in the game.

In addition, the future owner of the building has been added to look at the construction of his house

Step 8:


Then some grass is added to the front yard.
Again, it is good practise to get the grass color values from a photo to have "realistic" colors.
Step 9:


In this step shadows are added.
For shadows I use black as a color with 20% color coverage.
The chimney throws its shadow on the roof, the homeowner has its shadow on the grass, and the right wall of the house also throws its shadow on the grass.
The length of the shadow corresponds to the height of the object that throws the shadow.
Shadows must not be drawn outside the ground-area.
Step 10 and final work:


In the last steps I adjust the color saturation and the contrast values (in this example using the unsharp mask in Paint Shop Pro 9...maybe it is different in other programs)
This makes the picture more contrasting and the appearance "more realistic".


In the last step, I cut the empty image borders exactly to the building size, so there is no blank border around anymore.
