How All Walls Must Fall Generates Its Tech-noir Berlin Nightclubs
There’s a lot of meaning to unpack from a name like All Walls Must Fall - especially when the game it’s attached to is made and set in Berlin.
Ex-Yager developers Inbetween Games have reimagined the city they live and work in as a 2089 hub of espionage and wetwork, where the Cold War never ended.
“Retro-futuristic Cold War Berlin seems like quite a contemporary place these days somehow,” says designer Jan David Hassel. “Issues we thought we had overcome already are coming back with a vengeance. Desires of personal freedom and prosperity clash with geostrategic interests. Public opinion is heavily influenced by propaganda. For us this is all encompassed in the place we are building.”
It might be a tech-noir tactics game played to the beat of German nightclubs - but programmer Isaac Ashdown says it concerns “the inevitability of change”. That theme seems weaved into the technology, too, which finds the walls of Berlin’s clubs remixed and rearranged by Inbetween’s level generator.
The story takes place over a single night in the city, and sends the player to a number of clubs to carry out missions. Each of these venues is procedurally created by the developers’ DiscoGenerator algorithm.
“It’s a pretty simple setup that just generates club layouts based on some simple rules about what rooms need to be in each club,” explains Ashdown. “How many dancefloors, backrooms and whatever else the mission requires. It basically chooses a set of rooms, and then slots them together to produce a different layout each time.”
The DiscoGenerator, built by Ashdown as a plugin for Unreal Engine 4, treats the large empty space of a club as a packing problem - an area to be filled as completely as possible with rooms, just as a removal company might fill their truck with furniture.
It’s all powered by a greedy algorithm. Inbetween's maths calculates the most appealing option for room generation at every stage and takes it, regardless of consequences later on. That’s because Inbetween don’t want the space to be packed as efficiently as possible - Lord knows, that’s not how clubs work. They’d far rather end up with a relatable building, containing a front entrance that connects to a lobby and a big dancefloor. So that’s what the algorithm prioritises.
The rooms generated first are public - bathrooms and bars which must all click together and be accessible via the entrance - while private backrooms show up later to fill the gaps. The final slots in the space are taken by ‘filler’ rooms and corridors, before the generator adds the finishing touches: extra doors to provide alternate pathways, plus bouncers and queues of punters outside.
“Our game is designed to be replayed many times, and each time you’re in a bit of a parallel universe with Berlin containing a different set of clubs, so for the player it means that each time you play you’re exploring a new club and discovering its secrets for the first time,” says Ashdown. “Although in each campaign you might visit the same club more than once over the course of the night.”
Beyond the buildings, Inbetween have put together a custom AI system to simulate crowds of clubbers dancing or hanging out in dark corners.
“Rather than using Unreal’s AI systems for that, which are designed for pretty complex behaviours, we’ve put together a simple flocking behaviour system where each AI agent just runs some very simple interactions with its neighbours to generate emergent crowd behaviour,” expands Ashdown.
That’s crucial to the game’s social stealth, which is less about shadows and more about whether the AI agents around you believe that you have a right to be where you are, doing what you’re doing.
“Nightclubs have very easy to understand social rules about who is allowed to be where,” Hassel points out. “There are bouncers checking people at the front door, public areas, staff-only areas, VIP areas and so forth.”
The team have discovered that people are often surprised to discover their All Walls Must Fall, which pins 2D, paper-like characters to an isometric background, is made in Unreal.
“I think many people have a pretty concrete idea of what an Unreal game looks like,” muses Ashdown. “But those who’ve actually worked with Unreal aren’t so surprised.”
Editor's Note: PCGamesN selects fantastic Unreal Engine games and interviews developers of their choosing for the long-running "Making It in Unreal" series. Epic has no influence on the editorial process.