Type: Game
Completed: Released
My Role: Programming and UI

Time Frame:
3 Weeks Part-Time

Note: This page was rewritten in 2021 as the project was updated by myself.
Note: A web version is playable on this page - due to flash being sunset in 2018, it loads incredibly slowly.
What Is Parallels?
During my bachelor degree, I received a brief to work with an Audio student, but instead of using them as outsource work, they would be our client. The project that my two person team came up with serves as an interactive portfolio.
Our client's music varies aesthetically but serves as fantastic soundtracks. We created two levels where you can either walk around or auto walk around the level, literally discovering the music. By discovering music, I'm referring to nodes that are picked up around the world that affect the world visually and unlock different audio layers in the track - by the end of the auto-walk pathway, the world and music are vibrant.
What I'm Proud Of
Parallels is one of the pivotal projects for me, I learnt a lot and was proud of the final product. I'm proud of the following;
- Interpreting clients: My client is talented at audio, but he is not a game developer. The saying "the customer is always right" is not always true. He's a fan of Mario and had the idea for us to make what would essentially be a Mario reskin with his music. We wanted to make our client happy but didn't think critically about the concept, take into account Nintendo's DMCA policy or that the game would be the focus and not their music work.
I interpreted what he wanted by disconnecting myself from the game developer role and thought to myself, "What do people consider to be a Mario game". The client was trying to say that they wanted the gamification of their music, which I  achieved by making a world tour that reacts and focuses on their music.
- NavMesh: I used Unity NavMesh to map out traversable terrain for AI. Using the NavMesh move towards function, I made the player move towards an array of target points, which changed to the next one upon collision.
The store page.
What I learnt
As a whole, this project is the first time in my game development career I used programming to a higher proficiency. Before this project, all of my work was what I'd call spaghetti code - did not follow best practice, poorly optimised and breaking easily.
Note: If you don't use Unity, Update is the Unity function called every single frame.
- More can be used than Update: As a designer, my code only has to make the game work and not be elegant. This project had the requirement of being embedded, so it had to be optimised. I used to have everything sitting in Update within if statements. For example, if game object A hit game object B, a bool would change instead of calling a function. Utilising constructors more helped me look further into coding languages (specifically C#) that I can utilise to increase performance and do more with projects where I have to work as a programmer.
Reading Audio Data: Reading audio data to make a spectrum is one thing but can be done by following tutorials. Using that same information to adapt to what I wanted was a first for me. I used audio data to manipulate object sizing, particle systems (enabled, colour and size) as well as materials (emission, colours and size). I also learnt its limitations, such as embedded games unable to use audio data at runtime - I resolved this by baking the data into an XML file that could be read at runtime when embedded.
Embedded version of Parallels. It may have trouble loading due to flash games being sunset in 2020 - some features are missing and function better on the full version (free and downloadable).

My other projects!

Back to Top