DevLog News // Gamasutra Deep Dive: Powerup System Design

By Matt Hammill // November 17th, 2015

Designing a fun 2P co-op powerup system was a big challenge in Lovers in a Dangerous Spacetime. Pull up a chair and dig into the process with us in a new Gamasutra Deep Dive, complete with gifs (obviously!).


But why was a combo system more engaging than just adding more gem variety? I think it’s because we were engaging a player’s imagination — they would try to predict what certain combos would result in. If a Beam Turret resulted in a railgun weapon, and a Metal Turret resulted in a swinging space flail, what could a Beam-Metal turret be? Players would want to see if they were right, and fill in that space in their mental chart of upgrades.

Full article on Gamasutra.

Follow the Discussion on the TIGSource Forums

DevLog // #12: The Soundtrack of Deep Space

By Matt Hammill // August 21st, 2015

The following is a guest post by Ryan Henwood, who handled all the music and sound for Lovers in a Dangerous Spacetime. The soundtrack is available here.

The Asteroid Base guys have talked about the inspirations and creation of Lovers at length, but I’d like to talk about the beginnings of the game from the audio perspective.

In 2012, I decided to take part in the Toronto Global Game Jam after being encouraged by a close audio friend. Audio people were in short supply, so I was responsible for developing the music and sound effects for an entire room of teams. In the end I composed music and designed sound for 5 games within the 48 hours of the jam. Lovers was the last game that I worked on, and I only had an hour or two to create and deliver. The first renditions of the opening and gameplay music were developed at this time, along with 8 sound effects.

Initially the gameplay music (now called “Launch Into Deep Space”) was just a one-minute loop. (In the final game, there are 19 pieces of music ranging from 4 to 6 minutes in length.) The genre of the music was completely out of my comfort zone–I had never composed happy spacey dance music before. Most of the time my compositions are kind of dark, so this was new to me. I started experimenting with different synthesizers and fell in love with Arturia‘s CS80 and Arp2600 plugins. These plugins are modeled off of the 1970s classics which have been featured in some popular science fiction films and shows such as Blade Runner and Doctor Who. I wanted the music to sound and feel vintage and not “chiptunes”, because a lot of games have been composing music in that timbre. The use of the vintage synthesizer rather than chip sounds gives it a 1970s science fiction feeling, which overall matches the design and inspiration of the game.

DevLog CS80 ARP2600

After the jam, Asteroid Base decided that they were going to continue to develop Lovers and I was excited to continue providing the sound design and music. The first thing I wanted to do was revise the music I had written at the jam. It was rushed at the time, so now I could go back and really sink my teeth into it. A lot of time was spent adjusting the performances, changing oscillator wave shapes and just generally messing around with settings until I found the sound I wanted. Before this project, I didn’t have much experience in using synthesizers for music. I had used them mostly to create sound effects and ambiences in animation television shows. At first I was slow at being able to compose exactly what I heard in my head, but that’s the fun of experimenting and learning. Throughout the composing of Lovers there were many creative mistakes that paid off.

There was one instance where I was using a chiptunes synthesizer and I was hoping to make it increasingly harsh so it would stick out of the mix more. I added a bit crusher to the process chain and instead of making the sound harsh, it actually calmed and smoothed it out. This worked better in the song than what I was expecting. So it stayed.

The original song from the game jam, “Launch Into Deep Space”, was extended to about two and half minutes before I moved on to composing the additional gameplay songs. During the development process we had decided that the music length didn’t need to be kept to a minimum, and I had free reign to make the songs as long as I wanted. With “Launch Into Deep Space” being rather short, I decided to try and extend it so that it wouldn’t be so repetitive and annoying to the player. I extended the song twice, and it ended up being close to 6 minutes long. While I was lengthening it, I wrote a great melody on the ARP2600 but I felt it didn’t particularly fit into that song. Ironically, the melody line cut from the first song became the main theme and inspiration for “Forever Space Love”, which is now the game’s ending song.

Follow Ryan Henwood on Twitter at @DeepRootsSound.

Follow the Discussion on the TIGSource Forums

DevLog // #11: Timing Is Everything

By Adam Winkels // September 18th, 2014


The Ceraf enemy uses timers to control its pre-shoot, shoot and post-shoot animations and actions.

Warning: Super dry, tool-focused devlog incoming!

One of the tasks we find ourselves doing quite frequently while working on Lovers is controlling the timing of things (loop an animation for x seconds, randomize AI behaviour every y seconds, etc.). There are many ways to accomplish these types of actions, for instance you could do something like this:

// More

Follow the Discussion on the TIGSource Forums

DevLog // #10 Bringing warmth to deep space

By Matt Hammill // May 13th, 2014

Bringing warmth to deep space

When we showed Lovers in a Dangerous Spacetime at PAX East last month, we got asked a few times about how we were handling our space backgrounds, so I thought I’d go into a bit of detail. We’re aiming for a rich, 2.5D neon fantasy look, and we wanted our backgrounds to fit this world and feel alive. We ended up combining a few different elements for the effect we wanted.

// More

Follow the Discussion on the TIGSource Forums

DevLog // #9: Pausing Without Pausing

By Adam Winkels // March 26th, 2014


The simplest approach to pausing your game in Unity is to set Time.timeScale = 0. While the time scale is 0, Update methods in your scripts will still called, but Time.deltaTime will always return 0. This works well if you want to pause all on-screen action, but it is severely limiting if you need animated menus or overlays, since Time.timeScale = 0 also pauses animations and particle systems.

// More

Follow the Discussion on the TIGSource Forums

DevLog // #8: Ugly Sketchbooks

By Matt Hammill // March 4th, 2014


Whenever I buy a new “Art Of” book, no matter how great the concept paintings are, I often wish I could also see the earlier, rougher, uglier stuff that must exist from when the designers were still batting around ideas and trying to figure out what they were making.

On that note, here are some sketchbook pages from the past year-and-a-half of Lovers development. Working on paper, without an undo, helps to focus on the broad decision-making stuff and avoid getting bogged down in details. My sketchbook drawings have gotten rougher over the years as I’ve moved more mid-stage work to the computer, so with that warning, let’s dive in…

// More

Follow the Discussion on the TIGSource Forums

DevLog // #7: Learning How to Walk

By Adam Winkels // February 20th, 2014


We’ve had ground-based enemies, which we call Walkers, in Lovers since way back in the days of the GDC 2013 build. Until recently these enemies have been tethered to spherical (well, circular) planets, so programming their movement was simply a matter of ensuring that their distance from the center of the planet was constant and their velocity was tangential to the vector from the enemy’s position to the planet’s center. However, as we continued to add new scenarios for players to experience we needed Walkers to be able to traverse more exotic terrain. Being the lazy developers that we are, our first attempt to implement a more robust walking algorithm was the simplest and most naive that we could come up with. Luckily for us, it worked out pretty well.

// More

Follow the Discussion on the TIGSource Forums

DevLog // #6: 2.5D Rendering Challenges

By Jamie Tucker // February 4th, 2014


Following up on Matt’s last devlog, I’m going to wrap up our character creation process by discussing how we are rendering the characters in Lovers in a Dangerous Spacetime. Warning: It’s very Unity-y.
// More

Follow the Discussion on the TIGSource Forums

DevLog // #5: Making Friends

By Matt Hammill // January 23rd, 2014

I recently had a chance to assemble this screen-cap footage from earlier last year showing our modeling/rigging/animation process for Lovers:

Although it’s a 2D game, we’re creating the assets as 3D geometry, using flat planes with transparent textures (more on that here). This might seem like a lot of trouble for one tiny little bunny friend, but the 3D approach lets us re-use the rig for all the humanoids in the game, including the player characters, just by swapping textures. It’s handy.

Software: Photoshop, Maya, Unity.

Follow the Discussion on the TIGSource Forums

DevLog // #4: Two and a half D’s

By Matt Hammill // December 26th, 2012

A couple weeks ago I gave a talk at Toronto SkillSwap on our process for making and animating the 2.5-D characters in Lovers in a Dangerous Spacetime, and I thought I’d post some of the things I discussed. I’ve always been interested in the mushy space between 2-D and 3-D (when I worked in animation I got to make this secretly-3-D watercolour bank commercial, and had a hand in the early dev of the 2.5-D kids show Justin Time) and for me, finally being able to throw code into the animation mix has been one of the most interesting parts of game dev. (And just a note–“2.5-D” can be used to mean all sorts of things, but here I’m taking it to mean using a 3-D pipeline to create a mainly 2-D game.)

We’re using Unity to build Lovers in a Dangerous Spacetime, so everything is made of polygons–though most objects are just transparent textures mapped onto simple planes that face the camera. There are no lights, we just crank the ambient light all the way up. We’re handling assets in a few different ways, evolving our process as we get more comfortable with the engine.

Player - rig


The main characters are a bit of a time capsule from our early prototype, before we learned animation scripting in Unity. The characters are first animated in 2-D using After Effects, and then the animation frames get rendered to a sprite atlas texture (a big grid of all the animation frames). In Unity, each character is made of a single plane, to which we assign the sprite atlas texture. The plane only displays a zoomed-in piece of the texture though, and we can show different frames of animation by changing which zoomed-in bit of the sprite atlas texture is displayed.

Player - rig

Player - sprite atlas texture (unfinished)Player - gameplay

// More

Follow the Discussion on the TIGSource Forums

 Previous Page