What goes into bus simulation? The same ingredients that go into your favourite triple-A action games, it turns out. There’s an open world, but it’s no backdrop to gunfights or fire propagation – here it provides an urban landscape to drive your passengers across safely and punctually. And there’s an AI director sending commands to hundreds of NPCs, but they’re not enemies – simply the civilians you’re picking up, dropping off, and sharing the roads with.
Bus Simulator 18 developer stillalive looked to Unreal Engine 4 for the newest iteration of its game. The studio wanted to go bigger, drawing on Epic’s expertise in level streaming, the technical trick that powers so many open worlds. And for the roads, stillalive made use of a piece of software you may already be familiar with – Cities: Skylines.
Want to see sprawling landscapes, urban and otherwise? Try one of the best sandbox games on PC.
But first: remember how Left 4 Dead’s zombies had an unseen director? Bus Simulator 18 has its own, pushing the zombie-like commuters this way and that in order to make the streets around you convincing in their simulation of city hustle and bustle.
Left 2 Drive
“We spawn the pedestrians and vehicles around the player,” lead designer Alexander Grenus explains. “Neither know where they want to go.”
The traffic director spawns pedestrians just out of view, and asks them to walk towards a randomly selected point. Similarly, cars are told to drive until they reach an intersection, at which point the director lets them know which way to turn.
Once impossible routes are eliminated – cars won’t enter a one-way street in the wrong direction, for instance – the director selects a road for the vehicle at random. Then, at the next intersection, the same thing happens again.
In other words, Bus Simulator 18’s civilians are actors who perform only as long as they need to, maintaining the illusion for as long as they’re in sight.
“As soon as the player is no longer in close distance, the car despawns,” Grenus says.
That obsession with the player extends to the way vehicles react. Bus Simulator’s drivers don’t care about each other: they only respond to you.
“If the player uses their blinkers to leave a bus stop, then the AI will stop and let the player leave,” Grenus says. “If you drive too slow, they want to overtake you. If you drive too far onto their side of the road, they will try to avoid you and drive closer to the sidewalk. But the only thing they are actively reacting to is the player.”
In one sense, the traffic simulation in Bus Simulator 18 is actually simpler than that in its predecessor. Developer stillalive used to grant AI drivers different personalities – some more aggressive than average, others more careful. But not any longer.
“The problem was that most players interpreted this as a bug,” Grenus explains. “If something is out of the ordinary, and not too far out of the ordinary, they think it’s a problem. If you had someone go completely haywire and drive on the sidewalk, that they would understand. But when the car in front of them drove slowly, or one very close on their tail, they thought it was a bug.”
Bus Simulator 18 uses a simpler system in which all drivers share the same inclinations. Sometimes, in game design, it doesn’t pay to be too subtle.
Skylines and beyond
Grenus is responsible for mapping out the world you drive across in Bus Simulator. For the previous game in the series, he created a dummy map in a 3D application, designing a rough approximation of the game’s streets and buildings that way. It was a cumbersome process, however, so this time he used a very different piece of software.
“Actually,” he says, “it’s kind of funny.”
The very first iteration of Bus Simulator 18’s world was designed in Cities: Skylines. There, Grenus laid the roads players would drive on, and placed buildings and landmarks to break them up. Then he used a mod to export the street layout, and “some tricks” to gain the height information of his map.
With the help of the 3D terrain generator World Machine, that Cities map became the blueprint for Bus Simulator 18’s world in Unreal Engine 4. The street layout provided an overlay, and the dev team used a road tool to roll the asphalt.
The road tool was an engine plug-in – one which stillalive needed to modify heavily so that, for instance, NPC buses could leave the road to park up in a bus bay. Thankfully, Unreal Engine 4 offers developers source code access, and after “a bit of convincing” from Grenus, stillalive’s programmers were willing to update the tool.
“Basically, we changed the plug-in so much that it’s no longer the original one,” he says. “We made so many improvements and changes to fit our needs that we actually did our own thing.”
Grenus’s biggest source of pride is the fact that Bus Simulator 18’s map will feature in Virtual Cities, a book of videogame cartography, where his map will sit between pages on City 17, Silent Hill, and New Vegas: “For me, that’s something I’m very proud of.”
In this sponsored series, we’re looking at how game developers are taking advantage of Unreal Engine 4 to create a new generation of PC games. With thanks to Epic Games and stillalive.