Hi! My name is Mica, and I’m the leader of the Procedural Modeling Team in this project, as well as a side member of the 3D-Modeling team. I am a senior Computer Science major, so I have a few generic coding projects up my sleeve, but I’ve also worked with 3D-Modelling software (Maya, Blender) and have made my own mini-games in Python and Java, although nothing even close to the scope of this.
Now, you may be asking yourself, what is Procedural Modeling?
Procedural Modeling is the practice of wanting hundreds of objects of different colors, shapes and sizes but being way too lazy to actually make them all individually. A good example of this is grass. Nobody is ever going to actually make all blades of grass individually, however if you just place them all in neat little lines, it’s going to look a bit fake and weird. Furthermore, you don’t necessarily want to place them randomly either. Maybe you want greener grass on the other side, or slightly taller grass in the forest. Maybe you want patches of grass near the water, that thin out as you get closer to the town nearby. All of this and more is (easily?) achievable through procedural modeling.
Essentially, you have certain qualities that you want your objects to posses: for example, you want your houses to be 20-30 feet in height, brick or wood, 3 or 4 windows per floor, 7 to 10 per block, etc. However, you need hundreds, maybe thousands of houses to be created and, as noted earlier, you don’t just want it to be random. You want exactly 32.3% of houses to be red wood with three windows and a bench. One bench. A single, perfect bench.
So, in classic CS fashion, we wrote a program suing specialized software that would do all of that for us. In previous years a map of Colonial Boston had been created by a team of historians, and we had access to that map as well as a large amount of historical data on what some houses’ properties were. The software we use is called CityEngine, and it is a python-derived architecture-specific program which allows you to generate any number of buildings and import other general objects (benches, lamps, chicken, etc) into a scene, such that it looks realistic and natural.
However, even with the historical data we were given, much was still up to us to figure out.
We started by looking at pictures of houses in Colonial Boston in the Digital Commonwealth Archive of Photography and figuring out what features they had in common which could be reasonably generalized.
Astute observers might notice this picture is in sepia, and as such colors cannot really be discerned. However, there are paintings of that time, and we can use those to figure out what colors and styles are reasonable, as well as using literature which describes their buildings and architecture.
After figuring out how we wanted to make the buildings look in general, we came up with some that looked like this:
Note the gable roof, shutters and dormers. (Side note: I learned that the little roof windows are called dormers, and this roof is a Gable roof. Dormers were actually very prevalent in that time, so adding them to the houses we created was important.) This picture shows the house only as a shaded, coloured solid. Below is the same building but with textures and lighting enabled, and from a slightly different angle:
Much better, right?
From this angle you can also better see the shutters on the side of the building. One is closed, one is half-open, and the others are fully open. This was determined by a pseudo-random algorithm, which selects certain shutters to be open, half-open, or closed on specific windows to give it a more realistic feel. Below is a view of the same house from the ground just to give a feeling for how it would look in the actual game:
Other houses looked like this:
Note both the lack of shutters, the gambrel roof, and neat chimney! (Side note: I learned that this kind of roof is called a Gambrel roof. I learned what a lot of architectural terms are with this project, which was an unexpected bonus.) Also, look at that dirt. That is some nice dirt right there. Of course, it is necessary (or at least advisable) to make the buildings look dirty, as they would not have been extremely clean or new.
Of course, the colors, textures of the walls, number of windows, types of doors, etc, etc are all pseudo-randomly assigned through our program. We can even reset the houses if we don’t like how they turned out, and a brand new house will be generated in its place.
Now, here’s a demo of how this might look once all the houses, trees, and other environmental factors are added:
To be certain, this is not realistic for a few reasons; Colonial Boston did not have sidewalks, and their streets would have been dirt-roads. As well, I don’t know what kind of tree that is, but it probably didn’t grow in Boston. Also, that house in the front is way too small. But this still looks pretty nice, and gives a better idea of what we actually want to accomplish eventually.
Now, all of this is well and good for the generic buildings around town. However, there are certain buildings which we have a very good idea of what exactly they looked like. An example is the Old State House:
![]()
In real life it looks like this, and it also looked like this during Colonial Boston. Therefore, we don’t really want to Procedurally Generate this building, since the whole point of that is to be able to make many of a similar type, not a single example. Therefore, we go now into 3D-Modeling.
We did 3D-Modeling with Blender, although the Old State House model was bought, as it is a very difficult structure to make accurately. At any rate, here is what it looks like in CityEngine:
As you can see it’s a very good recreation of the original. However, that accuracy comes with a price. This model is also extremely heavy, in the sense that it takes a lot of processing power to make it look that good. So much power, in fact, that it was making our game crash.
So, the 3D-modeling team had to tone it down a bit. It still looks the same, but there are less tiny little details in it. I didn’t work on this model specifically, but it brings me to the models I did work on.
Here’s a painting of King Street, which is right in front of the Old State House:
I’m in the process of making these buildings specifically, since we do want to be as close to accurate as possible. Below is an in-progress model of the building on the left closest to the viewer, the pink one. It is not yet textured, as that is turning out to be much more difficult than expected, and there are a few details missing, but the general resemblance is clear to see:
Apart from buildings, we have also been working on creating other, smaller objects which would have been common to find in Colonial Boston, which would also be commonly generated, such as:
shopfronts
carriages (horses coming soon)
fences (or 80% of a fence anyways)
wheelbarrows and, most importantly and absolutely crucial to this project:
Chickens.














