by

Loose Nails logo here


Summary

During Space Trip one level designer expressed intense interest in having a special music system for the game. I coded it from how he described it in a software development-style fashion but with only one customer being the level designer.

Most of the particle effects were created by me during this project, there were only a few exceptions.

I spent some time implementing various sounds in the game, making sure they played at the right time and had the correct volume.

Because we were all inexperienced with working together in a group this large and with some of the tools we used I spend an inordinately long time providing assistance to various group members, be it code, Unity functions, Perforce or our sprint planning/scrum tool Taiga,

The game

Space Trip was my first project at The Game Assembly. We started off discussing what reference game to pick from the ones we were given. We decided relatively quickly on Race The Sun, but we wanted movement in the up and down direction as well so we made the game take place in space.


After some brainstorming we landed on a relatively simple plot. The game was about Chip and Trip, an astronaut and his assistant robot. There was an accident which caused oxygen deprivation, which was the explanation behind the "trippy" part of the game which allowed for lots of fun graphical design and effects. The whole game sort of put the player in Chip's shoes, how he hallucinates on the way back to his ship to get a replacement oxygen tank. 



Challenges

During this project we were six programmers. Two of them had no previous experience with Unity at all. All of us had no experience working with Perforce as version control and nobody had used Taiga which was our time estimation and planning tool.


So during the course of this project all of us, not just programmers, had to learn to use Unity, Perforce and Taiga. I quickly picked up the basics of using Perforce and became the unofficial Perforce support person whenever anyone needed assistance. Moreover I also took the role of a teacher when it came to teaching how Unity works.

A early preprod build.

My role

Space Trip also used a stem system for playing a dynamic soundtrack. Together with level designers and our main sound guy (who was also a 3d artist) we designed a system where level designers could place triggers in the level which could stop or start a track. There were eight different tracks that could be played simultaneously and used in combination with each other to create a unique feeling and pace for each part of the levels.


This feature allowed the level designers to set the pace on each level segment. They could decide what stem played when, to either increase the pace and get the blood pumping, or slow it down to relax the player and give them some time to breathe. We even had one stem specifically reserved which activates whenever the player picks up a speed boost pickup.


For me, it was very exciting and fun to watch the other team members work with something I created and see what effect it had on the game. With further work and more stem tracks the game could have very unique music for each level.


A situation arose when we had finally solved the bug that caused stuttering (and also slow-down unbeknownst to us). Solving this bug caused the levels to be much more challenging and fun! Because of this, the levels that were already created weren't changed to be easier, but instead all future levels were designed from this new perspective with this new difficulty and fun gameplay in mind!


Other than the above mentioned system I coded some of the UI, but since we had so many programmers and a relatively simple game concept I found the time to make visual effects for the game as well, which is something I always find enjoyable.


I usually sent some work-in-progress .gifs to the rest of the team, asking for feedback. The idea was the make each of the "tunnel" effects grow more and more extreme and "trippy" for each passing level. Which could then be matched with more and more out-of-place looking props to further drive the feeling of chaos and give that hallucinogenic feeling.


Although this was a PC game, I knew that the built-in particle system of Unity isn't the most optimized, so I had to be somewhat careful in creating too many particles every frame. 


In the end, we actually ran into a problem with the game crashing due to too many particles being created. It was when one "tunnel" effect was being exchanged for another. The one was turned off, it's particles slowly dying off, but the new one was preheated, meaning it instantly spawned the full amount of particles that it would have after one full cycle. This caused an assert in that version of Unity and a crash in the built version of the game.


Finally I also helped Dino Zvonar in creating his very successful seamless loading of levels. We ran into some trouble, because there was a quite obvious stutter when the game was loading the next level, due to all particle effects. Together, we came up with some solutions to the problem and made the particles follow the player when they were parented to the black hole looking object that swallows the player when they load a new scene.


How the game looked about a week in, there was a bug causing stuttering with player movement.

Additional highlight

A classic kill-your-darlings moment happened when I had spend quite a bit of time getting a "woosh" sound effect to play as the player passes close by asteroids. It ended up being a lot more trouble than it was worth, especially when I noticed our level designers had scaled perfabs strangely, making an otherwise round asteroid oblong. This meant sound sources placed on prefabs didn't fit the scaled props so I decided to scrap the entire feature after speaking with the team members.


I created a lot of particle effects for this project, all tunnel effects, the small stars that fly towards the player as you fly and then edited the checkpoint effect to feel better. I had more plans but the crash-causing bug I mentioned where Unity asserted caused my team members to be skeptical of additional effects, and besides it was very late in the project, but I had another tunnel effect for the ultimate trippy feeling.

Seizure warning below