Organic City Building.

Iuliu-Cosmin Oniscu
11 min readJun 21, 2020

--

This is going to be a blog about how to build open world cities without fancy tools and keeping things clean at the same time.

Basic Proportions/Metrics

Like all things in level design cities are built on metrics.

In smaller productions metrics might not feel like such an important factor when the job of keeping things consistent is not primary the job of the level designer, however in open world cities the situation is different.

The Level Designer must be aware of the size and functional shapes of the buildings that he will use to populate the world.

If those buildings do not exist, he will have to prototype them.

One of the first steps is always to try to research your world:

Twitter’s own @GameLevelDesign covers this on this website (11 Secrets for Level Design and Game Environment Ideas, Layouts and Reference with “Google Maps 3D”) by referencing the use of google maps to get around cities and finding cool locations that might support good game-play:

It is not unlike urban exploring, and you can do it from the confines of your own home.

Basic metrics in most games tend to follow a rather standard format. I covered them in my other posts.

And here:

What we should keep in mind for this discussion however is that metrics are a convention that we use to standardize the world we are building in terms of scale and dimensions:

And:

And of course:

Using these conventions we can easily try to define a set of standards that would fit these proportions:

Golden Ratios

The process of defining these tiles is (at least to me) a little more complicated than just drawing them out in 3d.

Artists will probably be very familiar to the concepts like the Golden Ration, the Fibonacci String, or the Golden Spiral.

For those of you who are not familiar with this you can read about them here:

Golden Ration:

Golden Spiral:

Fibonacci String:

https://en.wikipedia.org/wiki/Fibonacci_number

I am bringing this up because it is part of the process.

For example:

  • If we start with a basic 4x4m plate — representing the basic walking clearance that we agree upon for out game from the discussions we had before, we can assume this 4x4m as the starting point.
Basic Floor Place
  • The numbers we are trying to hit here are 1,2,3,5,8,13,21,34,55, but it’s important to understand that these are just ratios and will have to be adjusted to our needs.
  • For example, if our base floor plate is 4 meters the ratio would be: 4,8,12,20,32,52,84
  • This sort of goes against the basic conventions of video game engine grid sizes with follow a more linear progression: 1,2,4,8,16,32,64, 128,256. etc. However these numbers do not seem to offer perfect proportions.

Architecture and nature however do follow these numbers and we can see a lot of these examples in most classically built structures:

As well as in nature:

Therefore, in fact nature is so much more fascinating and interesting to all artists and designers out there.

Back on topic:

We begin by starting with the 1,2 section of the golden ratio, basically making another 4x4 square and placing it right next to the original one.

We then select the right lower corner of the square on the right and draw a arc circle downwards.

This leads to the creation of another square that is 2x2 units compared to the original (meaning probably 8x8m at this point)

We can keep doing this by shifting the pivot for our arc each time towards the extremity of the square we just built.

At this point we could pretty much keep doing this for ever however we need to be mindful our needs.

So, let us try to keep the number small:

12x16 looks like good number for what I am planning next.

If we do a back and forth comparison with the metrics, we have for our roads we will however realize a few issues:

  • If 4m is the basic clearance for walkable spaces
  • If 8m is the basic clearance for functional vehicle transitional space

Then the current format might not facilitate enough space for our needs.

So, an expansion would not be too bad of an escalation:

We now have a 16x32 rectangle that will fit our street tile needs.

We will do a little bit of clean-up and we will move to the next phase:

Axes, Grids, Guides

The dimensions themselves might be proportional but to get the proper proportions for the things that are going to be inside the tile we need to create a grid.

We start by drawing diagonal guide from each corner of the rectangle:

This will help us identify the center.

Now comes the tricky part → We need to figure out the exact centers of the diagonals.

We can use arcs because due to the nature of the spiral we used we would get something like this:

We have a very ugly 18,87m length from the corner to the middle. Ugly I know.

One of the Issues I have with Sketchup is that guidelines don’t have middle points so the most obvious solution is actually draw a line from center to corner in order to identify the midpoint, however I don’t need the line and when I will delete it I can’t deleted alone so the guide will be gone as well so…

Since we have the object split into quadrants we can do something like this

And now sketchup can identify the mid point and snap the guide properly to the mid of the line

What we need is to connect the corner of the rectangle to that mid point like this:

We mirror it:

We find the other centers on the other side of the rectangle:

We are going to get something along these lines:

Using the guides we can now start drawing parallel line intersecting with all the diagonals we have

In theory you can take this ad-infinitum however we need to stick to our intentions and realize that the walking metrics are still 4x4m tiles.

We can get rid of the diagonals at this point and commit to building a road tile if that’s what we want:

If the metrics are correct these values should be more then enough to accommodate all the modular needs you might have.

With just some simple extrusions we can then turn this tile into a reasonable 3d space:

Bonus:

  • The proportions are good
  • There is more than enough space for clearance
  • It seems believable and realistic
  • It’s only one tile

Since working with lots of details can be complicated it’s important to try to keep things clean and easy to change as you are building your city.

Making Street Tiles

So, we are going to default to our basic road configuration since we know it is good and it serves our purposes:

Based on the type of the game we are building we should try to consider how long our roads should be before we block them off.

LOS (Line of sight) is a major component in video games, both for technical reasons and for design reasons.

But ultimately the purpose of such a tile is to be assembled into a road network.

The Road Network

I talked about this before and I will say it again. Roads are the main arteries of your world, players and people living in your world use them to navigate and traverse the environment.

There are many ways of composing road network grids, based on:

  • Location and History:
  • Function

I am not going to go into these since it is a completely different topic and the point of this article is not that.

So, what we want is to take the tiles and assemble the roads

Based on our needs we need to make sure we have:

  • Angles — consistent not random
  • They might follow the geography of the place
  • Consistency — Are consistent and do not vary too much from each other inside a specific urban thematic.

With Sketchup, every model, unless grouped will merge with other models so it is important to keep the tile as part of a group when building the roads.

After that is done you can explode all the groups and start cleaning it up. It should eventually look like this:

Just make sure you clean every corner and properly.

In Sketchup you can make sure you have consistent skirts and sidewalks that are all part of the same model.

Here is a more complex example with intersections, larger roads and cross ways:

Plots

In-between roads we have large sections of space called plots.

If done correctly these plots could contain buildings that are big enough to support game-play:

In some context this phase is called large mesh massing and is an integral part of blocking out your big city map.

The point of a large mesh massing is to:

  • Frame roads
  • Create avenues for landmarks
  • Identify cool spaces that can double as realistic functional and game-play functional

Since the plots are inside the city and surrounded by streets they can be approached from multiple directions.

There is no need to reinvent the wheel here. Sticking with standard building sizes and trying to keep proportions will take you a long way.

In cities the biggest functional spaces you will see at macro levels are:

  • Transitional Spaces
  • Parks
  • Car Parks
  • Squares
  • Storage

Etc.

An important thing to take into considerations that these functional spaces live in two places:

  • Courtyards and Back-alleys → behind buildings
  • Road Intersections → In front of buildings

This is were my other article comes in:

And this implies that you can generate those kinds of spaces based on the compositional needs of your city.

If you feel you need more green spaces in your city, because it’s a concrete jungle, don’t hesitate to change the designation of those plots to something else.

By building things correctly you facilitate the creation of interesting mistakes in your design. Let’s call them happy accidents that you are happy to have stumbled upon.

However, this might take a long time to achieve. It will take time and dedication to achieve it, so persistence and constant plaything is the best way to achieve good maps.

Here is an example of how a game-play spaces might look like when fitted within a plot or quadrants:

Here’s the same section inside Half Life 2:

or even Quake 1:

So if you are on lookout for cool real world references try to be on the lookout for things like these:

This is it for now.

See you all in the next one and in the meanwhile if you find all of these things useful and they give you an edge in your work don’t forget to share that work.

As always, you can find me here:

https://twitter.com/notimetoulose

Cheers!

--

--

Iuliu-Cosmin Oniscu

As a level designer I am not a creator, I am a facilitator. Senior Open World Designer. #Leveldesign #Open World #Design @notimetoulose.