With roads, buildings, and basic utilities starting to come together, HAND IN HAND was beginning to look like a city.

There was just one problem.

It was a pretty quiet city.

We had roads, neighbourhoods, businesses, and even a coal power plant, but something was missing. There wasn't much happening on those streets.

We needed traffic!

First, We Need Some Cars

I started experimenting in Blender, putting together a few simple vehicle models. Nothing particularly sophisticated, but after a bit of messing around, I had something that looked enough like a car to put into the game.

Now came the interesting part.

How do you make it drive?

My first thought was pretty straightforward. We already had a road system, so why not use the roads themselves to guide the vehicles?

The logic seemed simple enough: get the cars to follow the road network, and we'd have traffic.

Well, sort of.

It turns out that telling a car to follow a road is very different from teaching it how to drive.

Apparently, Nobody Knows How to Drive

The first few attempts were entertaining, to say the least.

Without proper collision handling or any real understanding of the other vehicles around them, the cars would happily drive straight through each other.

They'd clip through other models, wander onto the wrong side of the road, and generally behave like nobody had ever explained the rules of driving to them.

And then I noticed something else.

Most of the cars were driving backwards.

Not just one or two. For the first couple of iterations, I hadn't even realized that a good portion of my traffic was travelling around the city facing the wrong direction.

Apparently, nobody had bothered to tell the cars which end was the front.

So there I was, trying to build a city simulation, and I'd somehow created a town full of drivers who couldn't stay in their lanes, couldn't avoid each other, and preferred driving in reverse.

Not exactly the bustling metropolis I had in mind.

Teaching the Cars Some Road Manners

The next step was figuring out how to make the traffic behave a little more realistically.

I worked on getting vehicles to face the correct direction, stay on the proper side of the road, and follow the road network without constantly clipping through everything in sight.

Collision handling was another challenge. These early vehicles weren't sophisticated physical objects, so I had to work out ways to stop them from simply passing through each other.

After plenty of adjustments, things finally started looking better.

Cars were following the roads, mostly staying in their lanes, and generally managing not to crash into everything around them.

It wasn't perfect, but at least we were getting somewhere.

And more importantly, the city was starting to feel alive.

More People, More Traffic

Once I had vehicles moving around somewhat convincingly, I started thinking about the next step.

Having a bunch of random cars driving around was fine for testing, but I wanted the traffic to actually mean something.

A city with 100 residents shouldn't have the same amount of traffic as a city with 10,000.

So I decided to tie vehicle generation to the population and development of the city.

As residential areas grow, houses develop, and more people move in, the number of vehicles on the roads increases.

More residents mean more cars.

More cars mean more traffic.

And eventually, more traffic means more problems for the player to solve.

That was an important step because traffic was no longer just something moving around to make the game look interesting. It was becoming part of the actual city simulation.

The decisions players make about roads, neighbourhoods, and development would now have a visible effect on how busy their streets became.

A City That Actually Moves

Looking back at these first traffic experiments, it's pretty funny to see how far even a simple vehicle system had to come.

We started with a few basic car models that barely knew which direction to face.

Then came road following, lane positioning, collision problems, and finally connecting traffic to the city's population.

There's still a lot of work ahead before traffic behaves the way I'd like it to, but it's another piece of HAND IN HAND starting to fall into place.

The streets are no longer empty.

The cars are mostly pointing in the right direction.

And we're finally starting to have something that resembles actual city traffic.

Now I just have to make sure they don't all decide to drive backwards again.