1. Little Nemo and the Guardians of Slumberland
  2. News

Little Nemo and the Guardians of Slumberland News

DIE SOFT at GDC

[p]I know most of you reading likely won't be attending GDC since it is an industry event, but if you are there, please make sure to stop and say hi if you spot me! It would be really cool to meet anyone that's backed the game or even just enjoyed playing the demo in Steam Next Fest.[/p][p][/p][p]The goal of attending this is just to kind of get myself out into the game dev scene. I’ve been pretty heads down just working on Little Nemo for many years now, but once I wrap it up later this year, I’ll be trying to figure out what’s next for me and for DIE SOFT. This isn’t super relevant to Little Nemo, but I just wanted to share this because it’s all part of game dev I suppose, and I like sharing a peek behind the curtain.[/p]

Steam Next Fest Demo

[p]Little Nemo is officially in Steam Next Fest with a freshly updated demo, so come check it out. If you've played the demo before, you might notice a few new features and systems that weren't there before. For those of you that like a good challenge, when choosing the "Challenging" difficulty, you'll be able to Rank Up if you fill up your Moon Meter without getting hit. See if you can beat the first boss while at Max Rank![/p][p][/p][p]And for those that want a slightly more easy-going experience, the "Comfortable" difficulty setting (still working on the exact naming for that mode) disables the Rank Up mode entirely so you don't have to worry about the game dynamically increasing in difficulty, and you'll also be able to withstand twice as many hits.[/p][p][/p][p]There's some new characters and interactions in here as well: Flip now provides you with a Magic 8 Ball so you two can stay in touch at all times, and you'll also spot some Hotline booths, the "Powerline to the Professor", where you can get in-game tips from the Professor.[/p][p][/p][p]Please give it a spin and let me know what you think![/p]

The Sounds of Slumberland 🔊

[p]So in this update, what I want to talk about is the process of getting the sound effects created and implemented in the game. But before I get into that process, it would probably help for me to give some context about the systems I’ve designed for the sound in the game.[/p][p][/p][h2]Audio Systems[/h2][p]Sound Channels
In Little Nemo there is one sound channel for the music, and then four separate sound channels for the sound effects. They are broken up into interface, voices, and then two diegetic channels: ambient and the default diegetic SFX channel. That last one is probably what one thinks of when thinking about game sound effects, but as you can see, there’s a lot more to it than just that.[/p][p]Here’s a look in the Unity editor at our Audio Mixer panel:[/p][p][/p][p][/p][p]And here are the levels that are presented to the user in the settings so that they can adjust the audio:[/p][p][/p][p]The sorting and nesting of the channels allows us to break them out for distinct user-adjustable volume levels, and it also provides us with differing audio effects for each channel.[/p][p][/p][p]Diegetic Sound Effects
The most interesting of these are the diegetic sound effects. That channel has two filters, reverb and lowpass, whose settings get adjusted dynamically as the player moves throughout Slumberland, based on the environment they’re currently in. This allows us to produce a variety of effects like making an area sound more like a cavernous or interior space, or making it sound like we’re a bit underwater. The sound effects themselves don’t need to know anything about this, it will happen automatically to the entire channel as needed, so each sound effect shouldn’t worry about trying to fit a certain acoustic space.[/p][p]These diegetic sound effects get spawned into the world based on where the sound occurred. This is important because we also fade and pan a sound effect based on its location as compared to the camera.[/p][p][/p][p][/p][p]The sound effects (represented in this editor view above by the white icons) on camera will be at full volume, while the one just off camera on the right will be quieter and panned slightly to the right ear.[/p][p][/p][p]Voice Sound Effects
The sound channel for the voices has a lot more filters available to tweak. But rather than being location specific, these get tweaked based on whoever is currently speaking. Each actor has a defined voice, which is a combination of audio clips (one for each letter) and parameters for the channel’s filters.[/p][p][/p][p]Interface and Ambient
The interface and ambient audio channels are a bit simpler as these don’t need any type of filtering or spatial considerations. These sound effects just get slotted in pretty simply. And for clarity, ambient audio is the stuff you probably don’t even know is there: the very gentle sound of wind in the Dreamswept Plains, the gentle trickling of water from nearby fountains in the Palace exteriors, the distant din of car and foot traffic in Nightlight City.[/p][p]Okay, so with that context set, what does the process actually look like?
 [/p][h2]SFX Implementation Process 🔨[/h2][p]Documenting
It all starts, of course, in a document. I will create a list of sound effects that are needed, broken down into groups (by enemy or character for instance). Here is where I try to convey what we’re looking for exactly and some in-game footage that Jonathan can use both as reference, but also to test his sounds by syncing it up with the video and making sure it feels right.[/p][p]Here’s a pic of the most recent doc I sent to Jonathan that we’ve been working from[/p][p][/p][p]Making the Clips From here, Jonathan will create sound effects for each specific item I have called out, usually with several different versions to try out. Usually at least one of these will be perfect, but if not, I can mark it in our shared document that it needs further revisions. I can’t say too much about his process in this step, but if anyone is interested to know more please let me know in the comments and I can talk to him and get more details about how the .wav files actually get made.[/p][p][/p][p]Implementing in Unity
When I’m testing out new sound effects, ideally it’s a simple use case of “this sound fires whenever this thing happens”. Those are typically very easy to implement, and it looks something like this:[/p]
  • [p]Bring one or more .wav files into Unity as Audio Clip assets.[/p]
  • [p]Create a Sound Effect asset, which uses those Audio Clips. If there are multiple clips, it’s typically something like footsteps which want several variations so that we can randomly select one each time the sound effect is used. This Sound Effect asset is important because, not only can a sound require multiple Audio Clips, but it also has associated data such as the playback volume.[/p]
  • [p]And finally there’s the triggering of that Sound Effect in one of our few most common ways: include it in a effect prefab (these are our effects which are generally used for effects that have some visual element), or include it in an object’s sound effect collection to be referenced from that object’s Animator.[/p]
[p]That’s the general idea for most sound effects, but even here I’ve glossed over some details, so let’s take a closer look.
 [/p][h3]The Complexities of the Implementation Step 🔍[/h3][p]In the above description of the implementation, the third step made things sound pretty simple, and it often is when we’re just attaching a single, momentary sound to a visual effect or playing it in a specific part of a character’s attack animation for instance.[/p][p]But often sound effects have more particular needs. Perhaps it’s some kind of looping audio that will need to neatly fade in and out as desired. Or maybe it is a simple momentary audio clip, but it’s important that the audio stops immediately if the character that emitted that sound is destroyed. For these more specialized use cases and considerations, I’ll typically develop a minor system for how to implement them. We rarely ever have to do anything a single time, so if I find I have to do something unique with a sound effect, there’s a good chance I will later need to do something similar in another scenario.[/p][p]So here are a few different scenarios for more specialized audio needs that are kind of interesting:[/p][p][/p][p]Proximity Audio Loops
Oftentimes when something has some looping audio component, it risks becoming a bit annoying or overwhelming. My solution for these scenarios is to have the volume of the sound effect be tied to Nemo’s physical proximity to the collider of the source of the audio. I first used this to introduce a threatening hum that comes from the Oblivion (it is also paired with a visual effect, slightly over-contrasting the screen as the sound gets louder), but have since used it in several other places. The solution was fairly complex to build out once, but now it’s just a matter of adding a ProximityAudioProxy component to an entity which references a Sound Effect asset.[/p][p]While you can't hear the humming in this screenshot, you might be able to tell that the contrast is increased due to Nemo being so close to the Oblivion.[/p][p][/p][p]Looping Audio More Generally Looping audio in other scenarios has important considerations about when and how it starts and stops. For simple audio loops, the Sound Effect has a “Should Loop” property you can check. That loop will continue until told to stop or the entity responsible for emitting it is gone. But loops suddenly starting at full volume, and then later abruptly ending, tend to sound bad. So in a lot of cases we use a custom subclass of the SoundEffect which is a FadeInOutLoopingSoundEffect (it does what it sounds like it does). I used this very recently while working with Jonathan’s sound effects for the Crystal Cruncher boss’ idling engine noise. The sound effect is fairly loud and helps communicate which sub-phase you are in (is the core vulnerable or not) based on whether or not it’s running. But if we just stop the sound without fading it out (even very briefly) it’s very jarring.[/p][p][/p][p]Surface Effects
Another common need is a sound when something collides with a floor or a wall. This gets a bit more generally into our Surface Effects systems, which also includes visual effects like having different bits of grass, snow, or dust kick up when walking on a surface, but without going into those details, we can simply hook into that system to specify that some objects should make sounds when making horizontal and/or vertical collisions. A good example of this is the breakable gems which appear in the Palace. In an effort to communicate that they can and should be shattered, they make a crystalline sound whenever bouncing off a floor or wall.[/p][p][/p][p]Here's another in-editor screenshot in which you can see the gem emitting a sound effect right where it's hit the wall.[/p][p][/p][p]There are probably some other minor variations of how the diegetic sound effects get implemented, but I think that helps give a sense of how much their implementation can vary. The sound effects used for interface elements, ambient sounds, and the voices are all much more straight-forward. Interface sounds are typically immediate and momentary, ambient sounds are just looped with the volume attenuated based on how much screen space that type of environment takes up, and voice sound effects are all implemented in the same way so that I can just slot new clips in for new voices.[/p][p]But hopefully that helps paint a picture for the general workflow and process that goes into getting sound effects into Little Nemo! Let me know what you thought of this deep dive. Did I go into enough detail, too much detail, not touch on a particular aspect you’re more curious about? These are fun to dig into so I’m happy to share more details![/p]

Boss Design for Little Nemo

[p]Something I haven’t talked about much yet is the boss design philosophy of Little Nemo. I want to talk a little bit about this more generally, and also focus on one of the bosses and how it executes on my design intentions for the bosses. I think we can safely take a look at the Rocktopus boss fight since this is the first boss encounter which many of you may have already played through in the demo. Also, as a little aside, this is a great example of how scope creep has affected Nemo development: before the Kickstarter, I wasn’t planning on having any bosses in the game. I bring this up because I think it’s kind of relevant to the discussion for a few reasons:[/p]
  • [p]Most metroidvanias have bosses, but they also are usually more combat focused and both you and the boss tend to have large health bars. Although Nemo is a metroidvania, it plays much more like a platformer, which even when they do have bosses, they tend to be a bit different from those you'd see in a metroidvania.[/p]
  • [p]I also tend to not enjoy bosses in metroidvanias (and similarly in souls-likes) as much as others seem to. I know these are often the appeal for players of both metroidvanias and souls-likes, but for me I’m often playing those types of games because I enjoy how the combat difficulty is overlaid and balanced with the exploration. In those contexts, bosses do provide an interesting point of danger to discourage reckless exploration, but ultimately the encounters tend to be less fun for me than simply battling enemies while exploring.[/p]
[p]So why did I decide to introduce bosses to Nemo? Well, ultimately I decided that:[/p]
  • [p]I thought I could make bosses that I would enjoy by referencing platformers for inspiration.[/p]
  • [p]I was worried a boss-less metroidvania might simply be a non-starter for a lot of players.[/p]
[p]So when approaching bosses, I essentially have two general models in my head: the types of bosses that are often found in metroidvanias that would not be a good fit for Nemo (we’ll use the Legion boss fight in Symphony of the Night as "bad" example of a fight that would not go well in Nemo) and boss fights that better fit a game where you can only take 3 hits before “dying” and which has a stronger focus on platforming (we’ll use Super Mario Odyssey’s Torque Drift battle as an example of a boss battle that I think is more appropriate).[/p][p]In general, I’ve found platformers like Mario and Kirby tend to have better boss examples for Nemo to reference, than most metroidvanias do. And there are a few things they tend to do which you’ll notice in the Nemo bosses:[/p]
  • [p]They focus on using some new ability you’ve recently gained and pushing your understanding of how to use it fully.[/p]
  • [p]They have 3 distinct phases. This allows them to become less of a slug fest, and more about learning how to defeat the boss. The boss becomes vulnerable at some point in each phase, and you perhaps only need to hit it once to move to the next phase.[/p]
  • [p]They tend to be based on some deterministic pattern. This has the (imo) downside of making the boss feel like something you’re memorizing, but when you can only take a few hits, randomly generated patterns start to feel a bit meaner.[/p]
[p][/p][p][/p][p]In the Legion boss fight you need to keep whaling on the boss until you deplete the health bar, while the Torque Drift fight is about taking the platformer gameplay from the rest of the level and applying it to a boss context.[/p][p][/p][p]So with all of this in mind, let’s see how it applies to…
 [/p]
The Rocktopus 🪨🐙
[p]When you encounter the Rocktopus, you haven’t even acquired your first toy yet. The goal here is to make sure that you’ve built up some understanding and expertise with Nemo’s most basic innate abilities: running, jumping, and throwing. (And I apologize for the quality of the gifs below, but I'm limited with what I can use for inline animations here on Steam)[/p][p][/p][p][/p][p]Nemo dodging the Rocktopus' tentacles in the first phase of the battle[/p][p][/p][p]To do this, the Rocktopus sends a series of tentacle attacks your way. Each one has a bit of telegraphing (rocks shaking loose before the tentacle emerges) because ideally the player is reacting to each tentacle rather than memorizing the pattern. But all you can do right now is avoid the tentacles. The Rocktopus’ face is vulnerable at this point, but Nemo does not have any innate attack abilities except to throw something. So once the Rocktopus throws a rock at you, you finally see your opportunity to retaliate, thus ending that phase.[/p][p][/p][p][/p][p]Nemo tossing a rock back at the Rocktopus[/p][p][/p][p]And that’s the general flow of the encounter. You do this 3 times, and each time the patterns get a little more difficult to avoid. The focus here is the platforming challenge of dodging the tentacles and ensuring the player has a good sense of how to use our core mobility options before moving on.[/p][p][/p]
Other Bosses 👹
[p]I’m not going to spoil any of the other bosses here, but they all tend to follow this general blueprint of: find a fun and interesting way to force the player to express a bit of skill with the toy they’ve recently acquired in a 3-phase battle with each phase slightly building upon the difficulty.[/p][p][/p][p]This all ties into something that I think sets Little Nemo apart from most other metroidvanias. I tend to try to describe it as a “platforming-centric metroidvania”, but subtle distinctions in design philosophy like this are hard to convey in so few words. Ultimately, what I think this boils down to is that despite the non-linear nature of the game and the focus on exploration, in a lot of ways, Nemo has more in common with a Mario or Kirby game.[/p][p][/p][p]Thank you for reading and following along. Please leave a comment and let me know if there are aspects of the game you'd like to hear about next month! Until then, Sleepyheads![/p][p][/p][p]-Dave[/p]

Happy Halloween! 🎃

[p]I know we’ve already looked at the enemies in 🎃Haunted Hollow🎃, but seeing as today is Halloween, I figured we should definitely take another look at this domain. There are some spoilers in here, so if you're trying to go into the game blind you'll want to pass on this one.[/p][p][/p][p]I’ve covered a bit about this domain’s Guardian and quest in the past, but I wanted to dig in a bit more about how this all works. But first, meet Alex, the domain’s Guardian:[/p][p][/p][p][/p][h2]Cartridge Hunt 🕹️[/h2][p]Alex is seemingly the only Guardian that hasn’t lost control of his domain. He still has his scepter and has not been transformed. But that doesn’t mean your job is done because Alex asks you to do something for him before he’ll help you recall your core memory of Haunted Hollow. Specifically, you’ll need to bring Alex game cartridges for his Super Dreamstation 32 video game console. These are some retro games that his dad really likes, so he's curious to try them out.[/p][p]By the time you reach Alex, you may have already encountered one or more of these cartridges out in your travels because they are located throughout Slumberland. Once you’ve met Alex, you’ll be able to carry these back to him, but it’s a bit trickier than you might think. When you’re holding something in your hands, you’re unable to do things like dangle from monkey bars, use your pogo stick, or attack enemies with your yo-yo. Making it back to Alex from wherever you find these is a bit of an adventure unto itself for each one and will require some deliberate pathfinding on your part.[/p][p][/p][p]So rather than battling a boss here, you’ll instead have a long-running quest. You could go ahead and try to get started on it right away (Alex will point you towards the one cartridge location he knows of from the start) or just keep track of cartridges as you find them. They’ll be marked on your map once you spot them, so you can always come back to grab them later. I hope this is a nice change of pace from a boss fight, and that you’ll explore Haunted Hollow for ideal routes back to Alex while carrying a cartridge.
 [/p][h2]Ghoulish PJs 💀[/h2][p]Once you’ve brought Alex enough cartridges such that he helps you push back the Oblivion, he’ll also offer to sell you some new pajamas, the Ghoulish PJs 💀. With these spooky PJs, you’ll fit right in at Haunted Hollow. Here’s a quick look at how they work currently:[/p][p][/p][p]And the in-game description:[/p][p]These PJs were once worn by a lucid dreamer and allow you to ride the line between being awake and asleep.

Buff - Unawake You do not suffer any damage from enemies, but hazards always wake you up in a single hit.[/p][p][/p][p]I made these pretty strong for the first pass, and the reaction was about as expected (playtesters that got these PJs usually responded with something along the lines of “wow, these seem busted!”). So from here I think I do need to tone these down to bring them more in line with other PJs. While I think the one-hit wake-up from hazards is very punishing (maybe more so than players realize at first), I don’t want these to even feel broken. While it’s fun to abuse mechanics and for players to try to “break” the game, if you have one set of PJs that players think is way better than the others, it just removes the decision about which PJs to wear, and the goal is for the players “load out” (PJs and Little Buddy) to always be something they should be considering. So we need a fair balance of pros and cons with this ability.[/p][p][/p][p]And here's some changes I’m thinking of making to this:[/p]
  • [p]You'll still actually get hit by enemies (and thus knockback and hit-stun), you just won't receive any damage from those hits.[/p]
  • [p]Projectiles get treated as hazards and can also one-shot you.[/p]
[p]I’ll test these approaches out and maybe it just needs one or the other, or maybe it needs both. We’ll see how it goes in the next round of playtesting!
 [/p][h2]Are You Afraid of the Dark? 🔥[/h2][p]The last thing I’ll dig into here that’s kind of cool about Haunted Hollow is how the lighting in the game works, because there are a lot of dark areas in Haunted Hollow. If it gets completely dark, you won’t see anything except outlines of your character and enemies.[/p][p][/p][p]This of course makes it very difficult to navigate, so you’re gonna want some light. There are sometimes lanterns strewn about to help you see, and there’s even some enemies that emit light, though you’ll have to avoid destroying them if you want them to keep lighting everything up for you.[/p][p][/p][p]But probably what you’ll need to do most of the time is carry a jack-o-lantern around with you. These are a great source of light and allow you to see to navigate through the dark areas, but as we mentioned above with the cartridges, not having your hands free can be a problem. And besides, what if you’re trying to carry a video game cartridge through Haunted Hollow to Alex? In that case you’d definitely benefit from having a Little Buddy that can help you see in the dark, so make sure to explore Slumberland and keep an eye out for clues![/p][p][/p][p]So what do you think of Haunted Hollow? Did you enjoy this domain-specific overview? Please let me know in the comments below! As a big fan of all things Halloween, I always knew from the get-go that Little Nemo was gonna have to include a Halloween-themed dream domain so it's fun to get to show it off a bit ahead of release. 🎃[/p]