Monthly Update 8

(Note: Originally posted here)

Welcome back to another Sleepyheads-only monthly update! šŸ˜Š First off, I want to follow up on my notice from last month that I would be closing pre-orders for special tier rewards. Those are now closed (but you can still pre-order at the $60 USD and below tiers on Pledge Manager) and Iā€™ve sent invitations for all of you Sleepwalkers and Guardians with special tier rewards. If you havenā€™t already filled out that form, please do so ASAP so I can get to work on getting all of your rewards into the game. And if you didnā€™t see the email, you can always ping me via Discord so that I can make sure it finds its way to you.

With that out of the way, letā€™s get into some of the stuff Iā€™ve been working on this month:

Map Updates šŸ—ŗļø

There are a couple of fun things Iā€™ve been working on this month, but definitely the most time-consuming (and probably the most interesting) is the map improvements. The map had been lacking in icons other than those for the player and beds, so I went ahead and got collectible/boss/NPC icons in there (which luckily was relatively simple)

img

But thereā€™s something else that Iā€™ve been meaning to do with the maps, which was a bit more complicated: providing details about the edges between rooms. Right now they simply render as solid edges, open edges, or secret edges. But thereā€™s actually quite a bit more information to convey: is the way blocked by something that requires a toy to overcome, is the path one-way, or perhaps itā€™s blocked by Oblivion that will be dissipated once you save that areaā€™s Guardian?

To take a step back: this is not information that is strictly required of a map. Games will often forgo this kind of detailed info in a map and require the player to remember those details. Thereā€™s a case to be made for doing so: you could argue that itā€™s less hand-holding and more engaging for the player. But in my experience, I simply enjoy a map that provides lots of tools to help me decide where to go next, without requiring me to remember a particular path was one-way or temporarily inaccessible. So my goal with the map is to provide all the relevant information to the player, and let them focus on using that to get to where they want to go in the world.

So to do that, Iā€™ve fleshed out the data that gets stored about room edges, so that we can have arbitrary data stored alongside the edge type. So for instance, now I can describe that an edge requires the Yo-Yo to get through, and it will render on the map as inaccessible until the Yo-Yo is acquired.

imgHere the player is encountering an edge that is impassable without the Yo-Yo

Similarly, I can set that an edge is gated, and give it the instance GUID of the gate so that it will be clear on the map that you cannot go through until youā€™ve opened the gate.

imgAnd here you can see the locked edge is visible on the map until the gate blocking it is opened

Previously there were a lot of the ā€œexplore indicatorsā€ for edges which you couldnā€™t actually get through yet, and it made things a little confusing about where to explore next, so Iā€™m happy to finally start getting this better solved so that the map is more explicit about where you can go or where you maybe should go next. One other minor detail I want to improve is the ā€œexplore indicatorā€ icon. Currently it is ā€œ???ā€ with the intent being that you donā€™t know what is there, but it seems common to expect that to mean ā€œsecretā€, which it doesnā€™t (actually quite the opposite, typically secrets wonā€™t show up on the map until after youā€™ve found them). I do want that icon to be very eye-catching so itā€™s clear what your options are for exploring next, but perhaps something a little more subtle.

And thatā€™s it for non-spoiler updates. If you donā€™t mind being spoiled on more critical details, continue reading, otherwise thank you for checking in! šŸ˜„

Spoilers Abound ā—šŸ™ˆā— New Toy! šŸŖ€

Almost all of the toys you can collect in Little Nemo are already mostly or at least partially implemented, but the Cape is something that I hadnā€™t touched since prototyping it very early on. This is getting into heavy spoiler territory because Iā€™m going to talk a bit about the function of this toy and when you acquire it.

The cape is intended to typically be the last toy Nemo collects. Itā€™s quite powerful because it provides a sort of double jump. Though double jumps are probably the most anticipated ability upgrade in Metroidvanias (if you donā€™t start with it from the get-go), I find them to be a bit boring. So I wanted something a bit more interesting, so this cape behaves more like an air dodge (a la Super Smash Bros.). So you can use it in any 8 directions or neutrally in the air to avoid attacks, or simply to gain height when used in one of the upward directions.

If youā€™re familiar with Super Smash Bros.ā€™ air dodge, then you might be aware of wave-dashing. This is when you jump, and then immediately air dodge downwards to the left or right towards the ground. When you hit the ground, youā€™ll keep that momentum that you had from the air dodge. This is one of the hidden abilities of the cape that you can use for some game-breaking mobility.

imgHere is the cape (without any animations implemented) being used to perform a wavedash and wavedash jump for extra speed and distance

Techniques such as this wonā€™t ever be required by the game, but theyā€™ll allow you to play the game quite a bit differently and do sequence breaks both intended and likely unintended as well. I plan to ensure there is some kind of sequence break to help the player get the cape early, since the added mobility will surely be very fun for anyone trying to speedrun, or even just playing through on a second or third playthrough.

The cape has a secondary ability allowing for a Super Mario World inspired slow fall. This is relatively straight-forward, but by holding the jump button while falling, your cape will deploy and allow you to fall at a much reduced rate.

imgHereā€™s an early peek at the animation for the deploy and free-fall cape animations. Donā€™t expect the cape to stay red, the color will depend on which PJs you have selected for Nemo.

In general, Iā€™m really happy with how quickly and easily this toy ability came together. Iā€™ve immediately become hooked on using the wavedash jump to move through the world more quickly. šŸ¦”šŸ’™ I still have some work to do finalizing the air dodge animation, but itā€™s nearly ready. Perhaps Iā€™ll show it all off next month.

A Fun Audio/Visual Effect āœØ

I just finished working on a fun feature that came about when chatting with Jonathan Baken about the SFX for the game. He had the idea to have the Oblivion make a sound as you get closer to it.

img

You canā€™t hear it of course in this gif, but the music dims and the ā€œbuzzingā€ of the Oblivion gets louder along with the color correction you can see happening anytime you approach Oblivion

I really like this kind of detail because Oblivion is so central to the narrative of Little Nemo and the Guardians of Slumberland. Anything we can do to make it seem scarier and more imposing is time well spent.

These are also the sorts of features that take advantage of a lot of the front-loading of work Iā€™ve done. So for instance, this leverages the LUT transition system, the audio managerā€™s scheme transitioning, and a new feature added to the physics system allowing us to gauge the distance between two colliders. It all comes together to make the effect more fun and interesting than if we just had a sound effect.

Camera Updates šŸŽ„

One last thing Iā€™ve been working on this month is overhauling the camera. Itā€™s not quite ready to show off yet, but I thought Iā€™d share what Iā€™m trying to accomplish. There are two major failings of the camera at the moment: 1) I canā€™t have soft camera edges which the player can jump through but the camera cannot (eg. the top of the screen in most Mario levels) and 2) the logic for getting around corners sometimes results in rapid movement that feels unnatural and awkward. Iā€™ve just about got all of these things working in a manner I like now, but I just have a bit more tweaking to do. I may not even show it off when itā€™s done because ultimately Iā€™ll consider it most successful if you donā€™t notice it. There is one feature-add that Iā€™m including which maybe Iā€™ll show off later: looking up and down. I generally try to make sure the camera is looking ahead appropriately, but there will sometimes be cases where the player wants to specifically control looking up or down just a bit, so I want to make that feature available.

Until Next Month! šŸ‘‹

Okay, thatā€™s all for this monthsā€™ update. If you made it all the way down here, thanks so much for reading šŸ˜Š

-Dave