How does the Skyscrapper Commentator Dialogue System work?
[p]The Skyscrapper is the deadly new training tower for looprunners in Clone Drone in the Hyperdome, the centerpiece of our new free update. The diabolical infinity tower was built out of busted robot parts and assorted scrap from Crashloop, but on the development side, a brand new element helped make The Skyscrapper possible: a dynamic dialogue commentary system. In Danger Zone, Commentatron and Analysis-Bot speak fixed lines of dialogue at predetermined moments, but in The Skyscrapper, the robot commentators have thousands of lines of dialogue that play throughout the player’s climb at unexpected times for more immersive gameplay.[/p][p][/p][p]We have two of our team who are excited to talk to you about the commentators![/p][p][/p][p]First is a video with Geoffrey, our Narrative Lead, talking about the story and how Commentatron and Analysis Bot are starring in The Skyscrapper![/p][p][/p][p][/p][previewyoutube][/previewyoutube][p][/p][p]In the second interview with Ayla, our Lead Engineer, we discussed why she built a dialogue system from scratch and how it greatly expanded the functionality of everyone’s favorite human-hating robot broadcasters.[/p][p][/p][p]How is this different from a normal dialogue system?[/p][p]For games with a traditional story mode, the code to decide which piece of dialogue to play at which moment is often relatively straightforward. Sometimes it’s as easy as setting up a trigger area to play a specific piece of dialogue when the player enters that location, or storing a list of dialogue IDs that should be played in sequence. There might be situations where the narrative branches, but that could be as simple as an “if else” check.[/p][p][/p][p]With the Skyscrapper being an endless mode, we wanted to place the narrative focus on the player’s progression upwards through this infinite tower of robot carnage. We didn’t just want to respond to the player’s actions. We wanted to form narratives and miniature storylines about what the player was doing as they did it. And to do something like that, we needed an entirely new narrative engine.
[/p][p]How do the commentators “see” your actions that they’re tracking in a technical sense?[/p][p]At its core, what this new narrative engine does is pretty easy to understand. We have a massive pool of dialogue that could be played and we simply choose the most appropriate piece of dialogue and play that, and just do that over and over again as the player advances through The Skyscrapper. Then the problem we’re trying to solve becomes: How do we determine which piece of dialogue is the most appropriate to play at which points in time?[/p][p][/p][p]The starting point for that is triggers. Whenever you start a new run of The Skyscrapper, or kill an enemy, or pick up a weapon, or use a turbofist, or die, or respawn… that’s a trigger, meaning it’s an opportunity to play some dialogue. Each piece of dialogue knows what it could be triggered by. So, for example, when you slice a robot in half, we know that’s an appropriate time for Analysis-Bot to say, “That robot is now spare parts.”[/p][p][/p][p]But if we left it at that, the whole thing would get boring pretty quickly. So the next step along the path of making a system that really responds to the player’s actions is adding the ability to check conditions. It’s not just that the player killed an enemy. It’s that they killed the Captain and they did it with a knife and therefore it’s an especially appropriate time for Commentatron to say, “Blink defeated their biggest opponent with our tiniest weapon!”[/p][p][/p][p]The commentators build a story of each run as you progress. How does the system support this style of commentary storytelling?[/p][p]The ingredient that really brings the dialogue to life is the ability to look not just at what’s currently happening on-screen, but at what’s happened in the past as well. Our new narrative engine allows us to keep track of the player’s deaths, the enemies they’ve killed, what lines of dialogue they’ve already heard, and any number of flags and counters that allow us to really hone the dialogue the player hears to exactly what they’ve experienced.[/p][p][/p][p]That gives us the ability to set up miniature storylines with appropriate pay-offs down the line. So Commentatron might place a bet that the player will beat their high score at the start of a run and if the player succeeds, then Commentatron will follow-up and gloat about having been correct.[/p][p][/p][p]What was it like working on a brand new commentator system? How did you work together with our narrative lead?[/p][p]Building the new narrative engine from scratch was a challenge. It’s not just about writing the code to make it work. It’s about documenting how it works, so others can follow along, about championing the system so that everyone else is bought in, about making the tools necessary to debug it and work with it.[/p][p][/p][p]And most importantly, it’s about responding to feedback. A big part of building this system was working alongside Geoffrey, our Narrative Lead, and incorporating his input on what features would give him the most creative control. At the end of the day, that’s the true goal of any system like this: to give artists the freedom to tell the story they want to tell.[/p][p][/p][p]Do you have a favourite voice line?[/p][p]In the release version of Clone Drone in the Hyperdome, there’s a line where Analysis-Bot says, “It makes me want to malfunction!,” which I still mutter to myself sometimes when a piece of code I wrote isn’t working.[/p][p]
[/p][p]Who is your favourite: Commentatron or Analysis Bot?[/p][p]Commentatron and Analysis-Bot are one inseparable unit. Our very own Statler and Waldorf. There can be no Commentatron OR Analysis Bot, there is only Commentatron AND Analysis-Bot.[/p][p][/p][p]To experience The Skyscrapper and see how high you can climb, download the new free update to Clone Drone in the Hyperdome, available now on the Meta Store and Steam.[/p][p]
[/p]