History and inspiration
2008 Audiosurf released
I instantly fell in love with Audiosurf's awesome fun. As a game designer I was inspired that it was made by a single indie developer and by the technical feat of generating a level from a song. Meaning that the game could have endless new levels as people add new music.
Audiosurf was well received
95.9% positive reviews
727k units sold
45.5 hours average play time
If you have not played Audiosurf 1 or 2, it's on Steam and its still awesome.
Go buy it, click on the pic to go to the steam page.
X-Fader is not a copy or improvement on Audiosurf. It is an entirely different game.
2009 Smack, Bitches and Insomnia
The Initial concept of X-Fader occurred to me when playing one of my favourite songs "Smack my bitch up" by Prodigy on Audiosurf. I reached the part where when DJing I would drop in one of my other favourites "Insomnia" by Faithless. I felt helpless as the song played out. If only I could keep it going I could do a whole set, making a level hours long, it would be awesome. Instead I just had to wait as the song died and returned me to the menu.
Most music games are 1 song long so you get 3 to 5 minutes of immersion
X-Fader is capable of mixing long sets, like hours long, I left it running over night and it was still generating roads 12 hours later...
2012 Unity 4.0
In 2012 I started using Unity. While learning the engine I began experimenting and developing the ideas of mixing and moving at the same time. It was developed solo as a personal fun project. This was when the idea of making the vehicle into a crossfader emerged and this simple core mechanic really bought the driving and the DJing together into a perfect harmony.
2013 Audiosurf 2
The next version of Audiosurf expanded on the original and was a trailblazer for supporting community content using Steam's workshop.
Audiosurf 2 was also well received
82.4% positive reviews
392k units sold
55.2 hours average play time
I was a bit scared, half expecting it to contain mixing music, to me it seemed the natural thing to do. But it didn't, so the idea lingered. I found myself considering issues like a scoring system, player motivation and replay value. One by one, pieces began to fall into place in my head.
The biggest one was BPM = KPH with those two variables connecting the world of DJing to the world of driving, everything could be synchronised. With speed and time as known variables, I could calculate distance and use that to create the sections of level geometry so that the physical world is actually in the mix as well. Being dynamically generated, means the bpm can change during the mix and the world will change with it, always staying in time.
2015 DJ and player working together
I could mix while driving, it was cool but it was just a mechanic, there was no other DJ, it's just me driving along on an empty road, mixing my smack, bitches and insomnia, which was nice, but not enough for a game.
So I began developing the concept of a DJ who records an original mix being in a car driving in front of the player, leading the player but not actually controlling the mix.
It connects the player to the DJ that recorded the mix, as the DJ essentially becomes an NPC companion. It brings the DJ graphically into the world and emotionally connects them to the player as they are working together to survive in a hostile environment and execute the mix.
It makes everything the DJ does look cool, as it turns a simple movement of a slider or knob into the dynamic actions of a car moving at high speed, drifting and performing stunts.
Beneath the DJ's cars are 4 four vents located at each corner, they vent compressed air to lift the car or use vacuum pressure to suck the road and stick to the ground. This enables the car to steer at extreme angles, performing lane changes fast enough to function as rapid cuts on a crossfader.
The next round of testing revealed a nasty underlying problem in the controls system. We tune them to one bpm and then try another bpm and they are out of synch. so I had to develop a system to scale all the cars movements and animations to the bpm.
Once the dynamic controls were implemented, the car was now in the mix. We began testing Zatoichi style, with eyes closed, playing just with the music, driving with our eyes closed. Tuning the controls so that when we watched and listened to the playbacks, they were good mixes in their own right and translated to driving actions that the player can do, which look good and make sense in relation to the environment.
It also created a system to use for stunts, using blasts of compressed air to throw the car into wheelies, flip up on two wheels and ski, and even perform ollie kickflips, all while staying in the mix.
2019 Oculus Quest
After playing Beat Saber and Pistol Whip on the Quest, I felt that there may be a renaissance in music based gaming and maybe it was time to have a go at making X-Fader work in VR. It worked great and translated easily onto the platform. The only issue was the need to calibrate the road generation and camera to avoid motion sickness. This resulted in a cruel period of self inflicted human experimentation into the wonderful world of motion sickness. I tuned the camera and track angles, between running to the toilet to vomit and going outside to get some fresh air. After a few nights driving the porcelain bus and dizzy headaches that lasted for hours, it became comfortable to play. The VR version got great feedback from testers and is a version that we could add if demand exists.
2020 Umm i think its ready sort of
Built in Unity on PC and Quest, featuring 3 maps, with 20 mins of gameplay and a recording mode to allow players to create mixes. I privately showed this to get feedback and form a plan on how to finish it. Although very happy with the core game, there were still hurdles to overcome.
Trailer of Unity version will be released with the full game reveal as it contains spoilers.
2021 Cheese Toasties are Horizontal Slices
At this point I could have taken a simple path, bundle up a few songs and mixes with hand made levels, make it look as good as possible, create a vertical slice demo and go for funding or a publisher.
But I felt that the project could go much further. I wondered, what if anyone could make their own mixes to share.
I believe 100% in horizontal slice development. So many failures in the game development industry come from the vertical slice strategy. So I'm taking my time and methodically building the features that will provide a solid foundation for the game to be able to grow and improve over time. As long as there are tunes to mix and DJs to mix them there can be fresh content for X-Fader. The community is not reliant on us making the music and doing the mixes we are just getting the party started.
Horizontal Slices List
Playlist Creator, to browse songs and create a playlist.
DJ Studio, to record a new mix or edit an existing one.
VJ Studio, to add audio visual effects and customise them.
GJ Studio, to add gameplay elements like enemies and obstacles.
Track Editor. The entire world is generated in real time and themes can be changed allowing smooth transitions through changing environments.
Preset Studio, to create and save presets to text files to be easily shared.
Universal Dance Controllers. Very different from simple spectrum visualisation. A custom tool used to make anything dance with an editor to create your own dances that can be saved and shared.
Import Wizard. Import your own music and videos into the project.
2022 July 14 - So Im a F___ing idiot am I ?
The CEO of Unity called me and everyone I respect most in game development. F___ing Idiots. I had many years working for a publisher and watched them slowly destroy their company whilst ignoring the feedback of developers and players.
This is why I left and chose to go independent. I could see the same rot growing in the core of the Unity engine due to bad leadership, exploiting and squandering the efforts of their talented staff and community.
I was already suffering from mounting doubts about Unity as I had used the engine for years and watched them consistently fail to implement basic promised features like multiplayer.
So it seemed the writing was on the wall for Unity. I needed a safe base to build on and Unity is just getting wobblier and now it's literally swearing at me. So I decided to stop right there and then.
Development ceased, project cancelled.
At the time it felt rather unhinged and I was gutted about the amount of work and time that was wasted on Unity across all my projects. Caleb was also gutted, he was just helping me as a mate and had nothing to lose but he was sad because he liked it and believed others would too, he pushed me not to give up, but what could I do, with no reliable way forward all was lost.
2022 July 15 - Fresh Start
Installed Unreal 5, built several projects to learn and explore the engines capabilities and pipelines. Very quickly I was impressed and excited about the potential of what Unreal could do for my various game projects.
I began rebuilding the horizontal slices from scratch in Unreal, which gave me the chance to improve many aspects of the core systems and get a good tour of the engine.
2023 Feb - DAMN that looks nice
All wish list features were possible with Unreal 5 and many new possibilities have emerged. The graphical quality of the Unreal engine has elevated the look of the game, using beautiful audio visualisations blended with stylish detailed environments. It already makes the old version look , well... embarrassing to be honest. Im not a vertical slice developer claiming I make it look good with my blah blah blah, and im not claiming unity cant make things look nice, I guess the best way I can put it is, its possible to achieve stuff in unity with a lot of problem solving third party addons and faffing around. In Unreal you just have to press play.
For me its very stable and fast to work with and makes the simplest things look good. Being a solo developer can be frustrating but im really enjoying using this engine and find I am usually moving forward building features and content rather than trying to resolve problems. The blueprint system means I can build a foundation which I can share easily with other unreal developers if I get the chance to expand the team.
So I called Caleb round and said " I can do the game dev alone, if I have too, but I cant sort out the music and the DJs and all that stuff as well so if were gonna un cancel the project and really go for it you need to run music tings for me" he smiled and said " yeh I knew you wouldn't leave it alone, gwan then what you sayin"
With the recent Unity debacle, trying to charge for installs, and the vastly improved game we have got now, the hard choices and changes made have aged very well. funny how things work out.
Then comes a bit of computer game magic, because after the mix is recorded I know what the car will be doing, so the level generator can create obstacles, traffic and custom sections of the road to give the actions of the DJ car a meaning and motivation in retrospect.
Now on playback in game mode, the DJs actions make sense as they weave between obstacles and jump over barriers.
In game mode the DJ does not control the audio, they guide the player. The player becomes the crossfader and they hear their own unique mix based on their movements. We reward the player for matching the DJs moves with points.
This creates a skill based system whereby we can score the players' ability to match the DJ who made the mix.
I never cared for the match 3 scoring system in Audiosurf and felt it distracted from the immersion of the music. By basing scoring around performing DJ actions the immersion is not broken, it is rewarded in several ways, in points, in hearing the DJs original mix, and knowing you are the one actually mixing what you are listening to and so you are now a DJ.
Early Unity version screenshot. The DJ is in blue car the player is in the red car.
2016 Zatoichi style
Once that was working, I showed the game to friend Caleb, he is a very good DJ. He got the hang of it quickly and was easily picking up the points and matching my mix. After a few minutes he started owning it, picking up all my points and doing his own moves in between making a more complex remix of my mix. We looked at each other and it was like "ooh come on then" let the mix battle commence.
Playtesting with Caleb recording his own mixes led to many improvements. Caleb is a drum and bass DJ and does lots of fast cuts that would be impossible to translate to the movement of a normal car crossing a wide motorway at 180 KPH (BPM = KPH).
This led to the development of the Air Cannon Movement System.
Early Unity version screenshot, In the mix with DJ Cali-B and True Tactics
2017 Guns and Lore
Gameplay expanded with the addition of rhythm based combat AI and weapons systems. This worked well to bridge the times when the player is listening to one song waiting for the next song to start. When you're trying to match a DJ and they start cutting it up, it gets intense and this unintentionally led to cheating. I got my daughter to grab the mouse and do the aiming and I just focused on the driving to try to match Caleb's mix. It was classic single screen couch coop vehicle gamepla - I'll drive, you get on the turret.
With the gameplay taking shape, work began on world creation and lore which puts the features of the game into context. We are developing a unique storyline set in the near future. If you like music culture, DJing, rap, underground parties, heavily armed muscle cars and evil corporate plans to control humanity, we hope you will find something in our story that will entertain you.