1. Arctic Awakening
  2. News

Arctic Awakening News

Devlog #11: Companion AI Improvements

Earlier in the year we completely re-built the companion AI system for our therapy robot from the ground up. Having a life-like companion that isn't just your typical "tutorial bot" is vital to the experience of Arctic Awakening, so we couldn't just leave it at that.

We continued gathering your feedback from the latest demo builds as part of Gamescom and Tokyo Game Show, and we've been using that to focus on various areas of polish to improve the behavior of this pivotal character in the story.

Intelligent Target Selection

One of the main issues with Alfie's navigation is that it didn't have a full model of the world – in other words, he couldn't really see! Often, Alfie is simply trying to get into the player's cone of vision, even without understanding what lies within that vision. This led to significant issues when inside walled areas, of which there are many beyond the demo!

We iterated through a number of solutions before landing on a system that selects several possible target locations and intelligently selects the "best" one based on obstacles in the way, their type and their distance. This effectively allows Alfie to see walls or other large obstacles that he should stay in front of rather than trying to go around.

The most glaring example of this can be seen in the below GIF where previously Alfie would often try to navigate completely outside of the building rather than following the player through the curved hallway. Beyond halls, this change improves navigation in any sort of interior space like a room or airplane, narrow cliff ledge trails and just general traversal through the forest.



Local Avoidance

While Alfie could already navigate around obstacles, dynamically moving obstacles such as the player could throw a wrench in that. Or even more common would be Alfie's own momentum carrying him into large rocks or trees, causing unwanted (though often comical) collisions with the environment around him – he's still a bit clumsy and will run into things here and there, but now it's by design!

An advanced autonomous flying robot should at least be on par with the capabilities of a current-day consumer drone. Many of these camera drones have local avoidance systems that scan the world around them and avoid colliding with obstacles that become too close, which is now what Alfie does with detectors above, below, to the front and to the sides.



Custom Navmesh Baking

We use a pathfinding system called a navmesh to enable Alfie's navigation throughout the world. This works relatively well; however, the complexity of the nature in our world leads to rather noisy navmeshes that make it difficult for Alfie to "understand" what's around him. This noise often leads to noisy navigation and movement behaviors.

To address this, we built a custom navmesh baking system that evaluates every rock, tree and obstacle in the game world (all 1,332,787 of them – approximately) and tags these in certain ways to aid Alfie's calculations for navigation. This allows the navmesh to be much more seamless and significantly smooths and simplifies Alfie's movement through the world.



Dodging Behaviors

One of the biggest issues we saw from demo players was one of the simplest to fix! Often when traversing over an obstacle – whether jumping down from a ledge, vauling over a dead tree or climbing up a rock – Alfie would be in your way causing you to land on or collide with him.

We all laughed the first few times, but it quickly becomes a nuisance. There are a number of adjustments involved to fix this, but the primary one is adding dodging behaviors so that Alfie can quickly get out of your way. We further expanded these dodging behaviors to cover a variety of scenarios that would previously result in head-on collisions (don't worry, no robots were harmed in the making of this GIF).



But wait, there's more!

Beyond these major changes, we've made dozens of other fixes and updates to our companion AI system that powers Alfie. Creating such a character is no easy task, and it's an area many games have come up short. This is why we've put so much emphasis on getting this right all through our development, and we hope you'll see the fruits of that effort in the final game!

Until next time, the best way to keep up on the game is by following/wishlisting our Steam page. You can also join our Discord, Twitter (X?) and the newsletter for future updates and chat with us and others about the progress of the development!

Meet Us at Gamescom/Tokyo Game Show!

It's that time of year again -- festival season. We're really excited to be official selections of two of the biggest game conferences in the world: Gamescom and Tokyo Game Show!

As part of the Indie Arena Booth at Gamescom, we'll be showing an updated version of our demo in-person from August 23-27 in Cologne, Germany. We'll follow that up a month later with the new professional Japanese translation of the demo at Tokyo Game Show as part of the Indie 80 cohort.

If you'll be at either event in-person, be sure to stop by our booth and say hello (we won't bite... but we don't take responsibility for Alfie's actions), play the demo and grab one of our new limited edition cards! If you can't make it, rest assured that an updated version of the demo is also coming to Steam!

We're working really hard on finishing the game and we'll be excited to share more updates in the coming weeks and months. Stay tuned by following/wishlisting on our Steam page and joining our Discord!

Devlog #10: Adding an Inventory

It's only been a little over a month since our recent demo update and new trailer as part of summer games festivities, but we've continued making great progress on the game as a whole. While it's mostly been post-demo content, we've also been smashing bugs (thanks to your feedback!), implementing new features/updates and even adding a long-awaited new feature (new demo build available now on PC and Mac via Steam)!

We'll have more to share at our upcoming Gamescom and Tokyo Game Show appearances, but in the meantime, we wanted to give a quick update on what has probably been your most requested addition – an inventory!

Took the stuffed dino in the plane never to be seen again? Just search your (currently giant) pockets and jiggle him around – or decorate your shelter a bit differently! The inventory lets you see everything you've collected and take it back out whenever you want. We'll likely expand this further before the full release, but for now this acts as a solid base to start from.



This demo update isn't just about the inventory though – we've also worked hard to resolve a variety of bugs that we've seen in your feedback and in the many YouTube/Twitch streams that we've enjoyed watching (we even made a sizzle reel of our favorite moments!). We really appreciate the feedback, it'll really make a big difference for the finished game!

Until next time, the best way to keep up on the game is by following/wishlisting our Steam page. You can also join our Discord, Twitter (X?) and the newsletter for future updates and chat with us and others about the progress of the development!

New Gameplay Trailer & Demo

It was a dream come true to be part of an E3-adjacent summer showcase last year, so you can imagine our excitement when the call came again! At Future of Play Direct we revealed a brand new gameplay trailer that takes us further "inside" the game world. Let us know if you spot anything interesting in the new environments!

[previewyoutube][/previewyoutube]

We've also released a big update to the demo thanks to all of your feedback from the last few months! While much of our development has been focused on later stages of the game, we've still managed to squeeze in loads of improvements and fixes to the current demo experience, some of which are highlighted below:

Improved Drone Behavior
We recently created an entirely new companion AI system for Alfie, but a complex system like this is never really "done". We've fixed all sorts of edge case issues that have come to light as well as continuing to improve how intelligently he navigates the world with Kai. As just one example, Alfie's now much better about getting out of your way so you won't run into him all the time!



Everything Collectable
We heard all of you! You want to pick up everything that ever existed in this world of ours😂 So, you'll now find that most anything that looks like it can be picked up now can be. We'll continue to expand this and add even more objects to explore, collect and use leading up to release. An inventory is in the works as well!



Brand New UI
In a game like Arctic Awakening, a great UI is one that gets out of your way and lets you focus on the game world. Up until now the UI was mostly just placeholder and often a distraction from the overall experience. So, we've finally gotten around to a full re-design that is cleaner, more consistent and easier to navigate/read. It also creates a much stronger foundation for the rest of the game.

Options Menu
Probably the most frequent feedback was about the lack of a true options menu. It's finally here.. well, mostly! We plan on adding even more settings before the full release (such as look sensitivity, control re-mapping, quality settings, etc), but the new menu now covers subtitles, language, resolution, refresh rate, VSync, fullscreen/windowed, vertical/horizontal invert and full audio controls.



Improved Gamepad Support
We've had gamepad support from the start, but with the UI overhaul we put more of a focus on getting gamepad support on-par with keyboard/mouse. In general, gamepad lovers are going to feel more at home in the UI. We've also added a completely re-designed dialogue choice UI that maps to the controller layout.



Audio Improvements
Dialogue was sometimes hard to hear and music was sometimes too loud. We've been re-working the mix, adding ducking and making various other improvements to improve the overall audio quality and your ability to always hear what the characters are saying.

Performance Improvements
There's still quite a bit of room for improvement, but we've continued making strides with the performance of the game. In general, it should use less CPU, GPU and memory. It should also be more stable and more resilient to crashes.

Pacing
Pacing is critical in a game like this, so we've continued to put focus into refining this based on feedback and what we've been seeing with how players interact with different parts of the story. In particular, we've added more to do after getting the fire started as well as other adjustments in the demo and beyond.

Stuffed Dino
Everyone's favorite stuffed dino from the opening scene is no longer lost for good! If you don't manage to snag him before the plane goes down (spoiler!), then fear not! Just like the rest of the supplies, the little guy had to land somewhere out in the forest. Right...?



Bugs, Bugs, Bugs!
A lot of the work on this update revolved around bugs and general polish. We've read all of the reports and already fixed the vast majority of issues that have been reported. This is by no means a finished product, but it's much more stable and polished than even the recent London Games Festival demo. Keep those reports coming, we really do read them!

The best way to keep up on future updates/demo availability is by following/wishlisting our Steam page. You can also join our Discord, Twitter or newsletter for future updates and chat with us and others about the progress of the development!

Devlog #9: Adaptive Music In Video Games

This devlog was originally written by Joff Winks for his blog. Joff is the composer of the music being created for Arctic Awakening. The original blog post can be found here.

[h2]Adaptive Music In Video Games[/h2]
As gamers, we're all familiar with the concept of adaptive music in games. For instance, we encounter a combat scenario, and the music changes to a more intense composition. We're triumphant, and the music registers our success by playing the victory theme.

Switching between two pieces of music is commonplace. But what if we apply the notion of adaptation at the compositional level, dynamically changing the melody, harmony or instrumentation? It would then be possible to sculpt a piece of music to fit the contours of a scene, where the player is responsible for making narrative choices and the timing of events.

From the beginning, making music that is reactive to and synchronised with a player's choice has been at the core of our thinking. But more than this, we strive for a captivating soundtrack, music that immerses you in the wild, mysterious world of Arctic Awakening.

In this blog, I want to share some of what goes into writing, recording and controlling Arctic Awakening's music. Here's a deep dive into how I approach the technical demands of adaptive music in video games with an example from episode 1. Enjoy!

[h2]Sections: Form & Function[/h2]
Different music forms have been used for centuries by composers to establish structure and hone composition skills. For games, though, the form of a piece starts with the scene. The structure of the game scene lays out what the music needs to do and when.

For example, I've identified four sections from the scene Night Frights that set out how the music progresses:

  1. Wake
  2. Alfie's Lantern
  3. Search
  4. Return to Plane

The composition has four sections to match the scene's structure.



When these sections are activated depends on the player, so discrepancies in the timing of triggering events are inevitable.

[h2]Looping[/h2]
To accommodate the variation in timing, I split the composition into looping sections.

A good loop is a thing of joy! They're tremendously satisfying to make and very useful when the length of music required is undetermined. Effectively, once the play head enters a loop, the music can play indefinitely until the player triggers the next section.

The critical point in any loop is where the end meets the beginning. During this transition, any natural decay (the time it takes for the recorded signal to fall from 100% to 0%) at the end of the loop is interrupted when returning to the beginning. At this point, a noticeable artefact is audible, and unless the natural decay at the end is allowed to play out, the loop point is obvious.

To remedy the problem, I record all sections separately, allowing the instruments and effects, such as reverb and delay, to fade to silence. Then in FMOD, I use the transition timeline to crossfade the end of the loop with the beginning.



Using a crossfade creates a seamless loop where the reverb tails and natural sustain of instruments at the end of the loop play underneath the beginning as the play head makes its next pass.

[previewyoutube][/previewyoutube]

[h2]Transitions[/h2]
Whilst looping deals with the issue of undetermined duration, transition regions in FMOD manage the shift between sections.

Getting a smooth transition between the parts requires careful writing. Consider the chords of the first section - they need to work with those of the second. Any harmonic progression must make sense from measure to measure and on different beats within bars.

Whether on individual beats, smaller subdivisions or the beginning of bars, when the music is allowed to transition affects how quickly the music can progress. For instance, if the composition can only transition every 5th beat, then at a tempo of 120 bpm, the maximum time between transition points would be two seconds. Not a lot of time but enough to make synchronisation problematic in certain situations.

Using FMOD's quantisation feature allows me to set the number of bars, beats or smaller subdivisions between transition points with smaller values like eight notes making a more agile transition.



Sometimes the transition between sections can happen slowly with a long smooth crossfade, but the first music transition in Night Frights occurs in sync with Alfie activating his lantern, which happens in the blink of an eye.

[previewyoutube][/previewyoutube]

Setting the quantise value low makes sense in this situation, but the design of the composition also plays its part here.

[h2]Composition[/h2]
I spend a lot of time experimenting with compositions making many mock-ups before settling on a final idea.

Getting adaptive music in games to work as intended requires lots of testing. Night Frights, for instance, has been through several revisions, and each redraft has gotten me closer to my goals whilst simplifying and refining the writing. I'll break down the sections with illustrations from the score.

[h3]Section 1[/h3]
Night Frights begins with a subtle percussive bed. A low drum ostinato and shakers form the rhythmic texture above which a synth drone and eerie vocals sit.



Listen to Section 1

With space between the low rhythmic pulses and the shaker pattern on the 16th note, the section triggered by Alfie's lantern lighting up can jump in on any quaver beat without feeling too abrupt.

[h3]Section 2[/h3]
Sometimes, with a quick transition like this, I use a stinger (a short musical phrase or sound) to sweeten the exchange of sections. But in this case, I've written the piano melody to start with a quaver pickup. Here's a quick look at the score for section two:



Listen to Section 2

Because the piano note precedes the first bar of section two by a single quaver note, it lines up with the 8th note in the shaker part of section one. When the guitar and synth come in on the downbeat of section two, it feels like a natural progression, and most importantly, the transition is agile enough to sync with Alfie lighting up.

[h3]Section 3[/h3]
Section three is slightly more complicated than the others. I've rendered it in three separate stems: keys/vocals, synth arpeggios and percussion.



Listen to Section 3

This design gives me control over the relative levels of the instruments in the arrangement. The piano and glockenspiel, which play a long angular melody and percussion, can be controlled separately from the synth arpeggios.

By splitting the instrumentation into three groups, I can dynamically alter the volume of a particular instrument group relative to others.



[h2]Dynamic Fades[/h2]
Alfie is once again the trigger for this to happen. After giving Kai the all-clear, volume fading of the piano melody and percussion begins. Tucking the dissonant elements underneath the synth arpeggios reveals the consonant sound of the synth, which helps signify that danger has passed.

In this video clip, you can hear the music fade after Alfie gives the all-clear.

[previewyoutube][/previewyoutube]

FMOD's automation control allows me to shape the volume curve. In this case, I have independent values for the percussion, which fades from 0.00db to -18db and the keys, which fade from 0.00db to -22db.



Seek speed is another handy control in FMOD. It applies a dampening property to the fade. When Unity activates the fade parameter moving the value from 0 to 1, the resulting transition between values happens over a specific time interval. I've set the seek speed value to produce a long slow fade that reduces the volume of the affected stems over 26 seconds, just long enough for the player to return to the plane. If this takes longer, the music can loop until then.

[previewyoutube][/previewyoutube]

[h3]Section 4[/h3]
The final section is just one chord, a Dm9 played between the piano and synth.



Listen to Section 4

As Kai enters the plane, FMOD transitions to the chord. The synth arpeggio from section three fades underneath, bringing Night Frights to a close.

[previewyoutube][/previewyoutube]

As you can see, there are many details to consider when using adaptive music in video games. But composing music this way is so much fun, and the feeling of playing a completed scene after all the hard work is pure satisfaction!

[h2]Full Steam Ahead[/h2]
With the latest update to the AI Companion System complete, we are forging ahead with development. There is still much to do and lots of music to write before Arctic Awakening is ready for you to play. In the meantime, look out for the updates on Discord, Twitter and the newsletter!