Making it in Unreal: how Frogwares built The Sinking City so they could drown it

The Sinking City Unreal Engine 4

Frogwares have long been purveyors of historical fiction adaptations in the form of the Sherlock Holmes games, beloved for their period setting and investigative slant. The Ukrainian studio’s project finds them hopping from the pages of Conan Doyle to Lovecraft, where a private detective visits a city ravaged by a supernatural flood.

Read more: the best sandbox games on PC.

In doing so, Frogwares have set themselves a formidable challenge: to build a convincing 1920s Massachusetts city from scratch in Unreal Engine 4, and then sink it.

City builders

The Sinking City Steam

The city of Oakmont might be fictional, but it is situated in the heart of the very real Roaring Twenties, and rooted in the construction techniques of the time.

“We actually have an architect here, Katerina Frolova, who explored all these different styles in New England,” community manager Sergey Oganesyan tells us. “And then based on this research, we made a bunch of different buildings that would be similar to those you could see in Boston or other cities in this period.”

Frogwares imagined Oakmont to be dense: a 2×2 kilometre urban grid of mansions, landmarks, decaying shacks, and commercial buildings. It was far beyond the studio’s ability to build by hand within a realistic timeframe, and so those building types instead became categories in a custom city generation tool.

The team modelled their approach on the work of Ubisoft – who revealed some of the secrets behind Assassin’s Creed’s city generation in a GDC talk – and have spent a year and a half perfecting their own tool. It proved to be time well spent.

“We needed to automate as much as we could,” lead technical artist Alexander Oskin explains. “Almost 80% of the city we can make just by drawing a grid and pressing a few buttons.”

Each district is assigned its own logic, which the generator abides by when building Oakmont’s streets. This was the era of prohibition, gangsters, and xenophobia, and that division is visible in the results.

“It generates districts entirely based on the requests that we make,” Oganesyan says. “For example, that we want a building there and only a certain kind of people to live there. Then the generated algorithm does the rest.”

One of the tripping points of modular, repeating toolsets like these is what Bethesda call ‘asset fatigue’ – the danger that you will begin to recognise the patterns as a player, and that the game’s sense of place will be compromised. Thankfully, Frogwares are cognisant of that risk.

“There’s a whole bunch of rules that govern the placement of buildings,” Oskin says. “We can preset that certain larger buildings should not appear too often. And the same goes for the environment – objects like electricity poles, cars that are parked at the side of the road, and so on. But then, of course, it’s still never perfect, so there is always the possibility to edit.”

While generic buildings show up often, Frogwares’ level designers add landmarks as the finishing touch – placing one-of-a-kind factories, prisons, or city halls.

“It’s a lot of procedural generation rules,” Oskin notes, “and it’s also a flexible system to change stuff.”

The flood

The Sinking City Frogwares

Oakmont is no conventional 1920s city. It has been physically and culturally cut off from the US mainland by an unexplained but definitely Cthulhu-related deluge. Some of its streets are no longer connected by roads and sidewalks but boats and makeshift bridges.

“Inside our city editor we have a button you can use to select a street and tell the system that it should be lowered underwater,” Oskin says. “Our architect made a map of the city and designated where the flooded places are, so we basically just follow them up and set the streets to be flooded.”

That water then feeds back into the city generator, affecting the algorithms just as it has the locals.

“When the streets are flooded there is a different neighbourhood preset,” Oskin expands. “Buildings [are covered in] dirt and seaweed. They have the ocean’s influence on them.”

Sherloch Holmes

The Sinking City Oakmont

All of this effort is in aid of The Sinking City’s open-world investigation. Frogwares have committed themselves to an undirected sleuth experience that offers “no hand-holding and no tips.”

“If you get a side-quest you need to analyse evidence, find clues, and then decide where to go and what to do,” Oganesyan warns.

“We have a special system just for making quests,” Oskin adds. “In the engine, we have a narration editor for scripting the quest logic.”

This editor makes use of Unreal Engine 4’s node-based Blueprint scripting system, keeping track of exactly what the player has found and which clues are in their possession.

“Basically our quest designers make these graphs and specify what happens when and under which conditions,” Oskin says. “It’s a very useful and quick-to-master tool, but it’s also quite powerful.”

When Frogwares speak of generating a city and plunging its streets into the depths, they sound a little like dread subterranean gods themselves. I suspect we might uncover more evidence of at least one more once The Sinking City comes to PC.

You can follow the development of The Sinking City on Frogwares’ Facebook page. Unreal Engine 4 is now free.

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 Frogwares.