how-dialog-driven-video-layering-shapes-the-surreal-world-of-ena-dream-bbq.log
|src: blog.unity.com
How dialog-driven video layering shapes the surreal world of ENA: Dream BBQ
ENA: Dream BBQ adapts Joel G’s cult-following animated web series into a surreal interactive adventure game. The game follows ENA as she searches for the mysterious Boss, playing missions and meeting oddball characters in strange worlds created with a mishmash of trippy textures and techniques.We sat down with the game’s producer, technical director, and tech artist, Evan Nave, and Luke Mirman, who oversees programming, to talk about how a lean team brought this stunningly original (and overwhelmingly popular) game to life.Let’s start by talking a bit about the game and what you were trying to do.Evan Nave: It’s an interactive episode of Joel G’s ENA animation series. Since we already used the Unity Engine for animations, it felt natural to extend that out into a fully playable game. Playing as the titular character, ENA, you interact with the world, meet characters, and do things that you’re told to do. Nothing crazy gameplay-wise, but it falls into the vein of LSD Dream Emulator and similar kinds of surreal games.Why did you decide to bring the web animation series to a video game? How did that come about?Evan: It started small. Joel is primarily a 2D animator. Adobe Animate was his main medium for creating animations with some 3D mixed in for a surreal style.Luke and I made a game in college for one of our finals, Somnium, which was inspired by Joel’s animation series. We showed that to him, and he brought us onto the team for ENA since it was clear that we shared a similar artistic vision. That Unity project in college led us into making a full game with Joel.Let’s talk about interactions – there’s a lot of complex video layering and superimposition of transparencies in the game, and much of that gets synchronized through dialog systems, right?Evan: Because the animations could take on many different forms, we had a lot of different systems.Luke Mirman: There’s several different ways to run a dialog interaction, but it’s not convoluted just for the sake of it. They all serve different purposes. If you want to have a cut scene versus a player-directed dialog, they have to behave differently, so they are separate systems. But they all have the same underlying functionality.How do they work?Luke: There’s one that is, I would call it “pure dialog,” which is lines of dialog where the player advances from one line to the next. That’s the most typical interaction.The second type is what I’d call “director-driven dialog,” which is similar, but the player has no agency over it. Usually a video is adding timings to dialog lines in the dialog script itself and is syncing with that video. So it would play the video, play the audio for it, and when it sees that the video has progressed a certain amount of time, it shows the next line.The third I would call “timeline sequences,” or cut scenes, which we created with custom video tracks and custom dialog tracks. While the timeline controls the animations and camera motions of the sequence, under the hood the video track is driving the timeline. It’s not in the update cycle – it’s driven by the video player. That’s for a specific reason: If the player system is stuttering the video, we don’t want it to be constantly playing catchup. So it’s really running the timeline in the timing of the video itself, which enabled us to do more sophisticated things in the timeline.What were the challenges of working with so many different systems?Evan: From a tech director perspective, it was very interesting because Joel would come to us with an idea saying, “I have this vision where this happens in the foreground, this happens in the background. The camera then pans, and then another 2D sequence happens on the screen.” So we’d need to plan around the in-game world by matching a pre-rendered or pre-animated video that has transparency. And that’s why directing the timeline is important, because if the camera pans and that pan is matched in the 2D animation, we need the animation to direct the Unity timeline.A lot of it came down to Joel saying, “Hey, this is my idea. Here’s a storyboard or animatic of it. Is it possible?” And then I would go through it, talk to Luke and our artists, and detail out how we could do it in Unity.Luke: I think one of my favorite things about working on this project is that Joel doesn’t have much technical experience with Unity or programming. And that actually was really exciting because he would propose things that are absurd.The best example that’s visible to players is the inventory. Having it be a newspaper that you look through and see your current jobs as if they were advertisements is counterintuitive to how you would typically approach a UI – usually you have a menu with a scroll box, just something functional.When Joel showed me the concept for swapping through the papers, I was so excited. But if you come from a typical background of what you would expect a user experience in a menu to be, you’d probably play it straight and narrow.Evan: Joel would also propose different art assets or visual styles for systems where we could have reused assets. So there is a lot of extra art that you wouldn’t typically see in a video game. We didn’t want to reuse assets or copy-paste anything. We have a really awesome team who just wants to do neat things, and Joel is a great director who lets each person put in their own thing. That was a special aspect of the game.It’s a really unique game that required a lot of unorthodox approaches. What are some of the workarounds or solves that you’re most proud of?Evan: I got to make some non-Euclidean things for levels, and that was really fun.We also had a 3D skybox system. I made this back in college for our game Somnium. The 3D skybox system is like the source engine where you have a little box somewhere else in the map, and that’s projected behind all the geometry so your render distance doesn’t have to be as far. We played around with that, so not only is it a functional skybox, but we could also project that onto geometry in the level. We could make a whole wall disappear and look like there’s stuff behind it when really we’re just hiding something – like a big curtain.Non-Euclidean stuff was definitely interesting. ENA is very surreal and nonsensical, so it lends itself to playing with space. There are some skyboxes that are just completely hand-painted where we just do nothing but have a textured sphere around the player, that makes it look like there is geometry infinitely far away.Luke: I’m really proud of how flexible the dialog system is. We use Yarn Spinner as our dialog system. I think the amount of our documentation for random niche purposes is frankly the part I’ve had the most fun working on. It’s enabling our artists to write dialog that implements what the vision for sequences is.It goes back to Joel not necessarily having that much technical experience with game development. He would propose these sequences, and it was such a fun challenge making that work. Sometimes there would be compromises based on what’s reasonable, of course, but incorporating that vision with a unique perspective on implementing things was really fun.Check out ENA: Dream BBQ on Steam.