Old School Musical Post Mortem / Developement

Old School Musical is released. Yay ! It's time to go back 7 years back in time (no joke) to talk about how it started.

8Bit The Musical

Let’s go 7 years back in time. Hi. I’m François, and I’m now a fresh new software developer. School is over and it’s time to get a job. But as I’ve loved video-games ever since I was a kid, my dream has always been to be a game developer from the first time I put my hands on a controller. I have almost no knowledge on how to make a game but hey, I can learn on my free time. Let’s do it !

So, what type of game do I want to do ? Hm. I love rhythm games for sure. I have an arcade Dance Dance Revolution dancepad at home and I even made some songs for Stepmania which are quite popular. I still play with my megadrive sometimes. From Sonic 3 to Streets Of Rage 2, I love how it is so simple yet so catchy. And damn, those musics… I can’t forget them. So basically, I love both rhythm games and retrogaming.

Poof ! 8Bit The Musical was born !

Cinema Cover

I love how Space Channel 5 brought a story mode to a genre that is not used to tell stories. So I started writing some ideas and drawing mockups of 2 heroes inspired by my brother and I. We had a terrible childhood but video-games were kind of a shelter for me. I wanted to tell a story about escaping the reality of a small world into all those incredible video-game universes I’ve travelled to in my mind. My intention wasn’t to make something really dark like Binding of Isaac. I wanted 8BTM to be a love letter to retrogaming. So let’s be crazy !

The first concept (that we kept for a loooooong time) wasn’t very original. It was basically a Project Diva like with a responsive background. If you don’t know what project diva is, it looks like this :

Project Diva

The idea was to make a rhythm game that is both fun to play and nice to watch, because rhythm games are usually boring if you’re just a spectator. I wanted to create a background that seems to be a classic game but that responds to the player rhythmic’s successes or failures. And of course, because I had no idea of what I was doing (take that past me), I thought it would be great if every level was a new game.

Concept

Working with XNA

When I was a student, I had some classes about XNA, which a mid-level framework made by Microsoft to make games for Windows and Xbox 360. Being able to publish my game on a console was enough to choose it among everything else (even if I was a Sony fanboy). I also loved how XNA was so basic and powerful at the same time. It had almost nothing in it. No Sprite or Animation class. Just functions to draw images on the screen, read player inputs and play sounds. No interface. No tools.

I started to create my own engine to compensate the lack of classes. Welcome to the world, 2Drulez Engine. I even made a tool so artists can delimitate sprites in a spritesheet and create animations that I can then use in my code.

2Drulez Engine

I pitched the project to some friends. Nicolas (known now as Yponeko) is a childhood friend with an unbelievable natural gift for music composition. Thomas is a school friend that was good at pixel-art and with an awesome sense of humour. They loved the idea and we started working together.

For 2 years, we worked on few levels with all these tools I made. We struggled and redid a lot of things. And it was very hard to keep our motivation alive.

Breaking Bad

At some point, we just stopped working on it. The main reason was the framework itself. XNA is a powerful tool, but it’s a developer tool. As it has no interface, every asset integration needs to be done by a developer. Here is what you need to draw an entire image on the screen :

Texture2D mySprite = Content.Load<Texture2D>("sprite");

spriteBatch.Begin(); 
spriteBatch.Draw(mySprite, new Vector2(10, 20), Color.White);
spriteBatch.End(); 

Clearly, it’s impossible for an artist to dig into the code to edit this without messing everything up. Everytime they wanted to test a change on an asset, they needed to send it to me. I then had to compile the whole project and send it back to them. It became so hard to manage that we all slowly lost our motivation.

Here is a preview of what the beginning of the game looked like at the time (in croissant baguette language).

Starting over

One year and few months after, I felt sad about letting one of my life goal down. I had a stable situation working for a software company but I was missing the good old days when I was trying to make a game. I had a lot of projects in my life that I just let down. This time, I decided to take my revenge on 8Bit The Musical and finish it.

The first step was to find a new team. Thomas (the graphic artist) was not available anymore but Nicolas (the composer) came back on the project. I then asked Anthony, a friend of mine, if he was interested in making graphics on the game and I shared a post on Facebook to find Felix, the developer who would help me in my hard task of writing thousands of lines of code.

Having new people on the project was great but I had to think about what led to the abandon of the project. I decided to take a huge risk and completely change the Engine. I wanted something that can allow artists to work on it without the constant help of a developer. I wanted it to be customizable, multiplatforms and with a huge community to ask for help. These are the reasons why we chose Unity.

Unity has a lot of drawbacks : bugs in the engine, a support that sometimes doesn’t even answer, some features that are not good for anyone so you have to rework them or buy plugins… but damn, it was the first time I could make everybody work on the project without frustration. Nobody in the team had even a little knowledge on Unity. Internet helped, but mainly patience, motivation and tests were necessary to improve. There were some funny fails, like the first time we tried to animate Tib :

The other thing that I decided was to put everything we had to the trash. We didn’t keep a single line of code and all the assets were reworked from scratch. The problem with the time passing by is that you are better at the end of your project than you were at the beginning. You are always tempted to edit some old assets you did 2 years ago because you can do better now. It’s usually a terrible idea because it makes your project last forever. But because the team was all new, I thought it was a good idea. Here are some exclusive previews of what some levels could have looked like if 8Bit The Musical had been released when it was planned to be :

Long Live The King Retrospective

IsoCity Retrospective

Childhood Retrospective

The last idea of this “fresh new start” was to give the game a new identity. We decided to rename it, from “8Bit The Musical” to “Old School Musical”. Take that Mr The-game-is-not-really-8-bit. We were ready to start the real work from the beginning.

Bringing some guests

We were all rhythm-game and chiptune lovers. We wanted to build a game that people would love but the most important for us was to enjoy making it. I think that the comment we had the most about OSM is that it’s obvious the game was made with love by true gamers. So we decided to contact some music composers we were fans of to see if they would be interested to make some music for the game. One of them answered and that’s how we met Dubmood for the first time. He was very kind and humble. He was down to make a few songs for the game. In the end, we had more than 20 from him.

We then had the chance to get songs from Zabutom, Hello World and Le Plancton. Dubmood offered us the possibility to have the OST on Spotify / iTunes / Deezer / Bandcamp and a lot of other digital platforms via his label. It’s that kind of unsuspected meetings that can change a lot of things for a project.

The game was getting bigger and bigger and we asked for the help of Arthour, a friend of the team, to help with the songs mapping. He was highly ranked on a lot of rhythm games. At that time, we still thought playing a game was almost the same as making one. And it was a very huge mistake. Arthour had a hard time with the mapping system and his work was not as good as we expected. It took months of training and brainstorming to finally get something we could be proud of. And that’s the essence of our studio. We were all amateurs and we helped each other become an essential part of the team.

Building a community

Because we are players before being game makers, building a community around our project was a main focus all along the project. We were conscious that we were learning the difference between playing and making games. We opened the game to beta testing very early to get constant feedbacks about what we were doing. We also started to do a lot of conventions.

2Drulez Engine

It was great to watch people play the game to see what was working or not. But it also created a lot of anticipation for some as they started waiting for the release 3 years ahead. With the time passing by, we started to have some success during conventions, even with the (French) press. We all put all our efforts to promote the game and make people come to try it.

2Drulez Engine

2Drulez Engine

Even Anthony, the artist behind all the graphics, tried to help with some interview (but I don’t think he will keep a good memory of that).

2Drulez Engine

It’s meeee

We always had something with portable consoles. At some point, before our transition to Unity, the game was even running on PSVita.

PSVita

When Nintendo announced the Nintendo Switch, I was very hyped by the console. I bought it the day of the release and it was a revelation. The game was made for this console. I managed to get us a devkit and we started thinking about the port while waiting for it. But something was wrong with the gameplay…

Getting what’s wrong with the game

Our gameplay was focused on your ability to identify easily the button you had to press on your controller. On a Playstation controller, you have symbols that everyone knows. The Xbox controller has colors on buttons that can be memorized.

Old Gameplay

But the Nintendo Switch buttons are gray with only letters that can’t be read easily when moving fast on the screen. Worst, if you play with only one joycon, you can have arrow buttons that are not even at the usual place on the controller.

Nintendo Switch Joycons

This is the main reason behind our decision to change the gameplay. We took the controller in hand and tried coding different display layouts for the buttons. The winner was a gameplay with everything coming to the center of the screen.

New Gameplay

It’s funny to see how the main feature of OSM that makes the game so accessible, fun to play and unique came on the last year of a seven years project. It was very hard to accept it but all of our players fell in love of this new system so we decided to keep it.

The first time

When we received the Nintendo Switch devkit, the magic began. By then, I knew a lot of people from the French indie dev scene. And everyone told me it would be very difficult to port the game on this console. But in the very early developement, we took some decisions to avoid a lot of problems everyone encounters :

  • Make the game build for smartphones to be sure there are no performances issues, because it’s too easy to run your game on your killer pc.
  • Avoid plugins or external assets as much as you can, because what helps you today can kill you tomorrow. At that time, there was almost no Unity plugin compatible with the Nintendo Switch or they had terrible performance issues.
  • Don’t update Unity too much, because console versions have a lot of delay.

With that in mind during all the developement, it took us only one day to have the game running at 60fps on the Nintendo Switch.

Nintendo Switch

The only problems we had were from :

  • One of the two plugins we used (the one responsible of the inputs)
  • The game is called “Old School Musical” and the Nintendo Switch wanted it to be “OldSchoolMusical” (took me 3 hours to figure that out)

I must admit I cried the first time I saw the game running on the console. We were so close to a final product. And I saw myself as a child playing those awesome games on my NES and my Genesis.

Cutting the game

We wanted to release the game as soon as possible but we had a major problem. We were too ambitious. We had to remove things and abandon some concepts. Here are some of the fallen ones.

Game Over City & Farm

Those two levels were completely done and were even featured in a beta test. But they were the least popular of all. We knew why and decided to just cut them.

Lost level

Lost level

Flying car

This level was meant to be just after the Outrun one. We wanted the car to transform to an airplane. But as we were out of time, we had to abandon this idea we found so cool.

Lost level

Streets Of Rage

Look at this early concept art. Damn. I wanted it so much in the game. We tried so hard to find something that could match with the rhythm patterns… and failed. This is the level I miss the most in my game.

Lost level

Too many songs

We were almost at the end of the project and we were facing a particular problem… we had way too many songs for the game. The story mode features 20 tracks. And we had almost 50 in stock. We wanted them to be in the game without just pushing random content. So we decided to create a whole new mode that happens after the story mode.

We were very aware of our expectations. We wanted the game to be released soon so the mode had to be something we can develop quickly without letting the player knowing it. The story mode being so rich, we didn’t want to create a quality breach between the two of them. We also wanted something that can be extensible, so we can eventualy add new content after the release of the game.

One of our favorite levels to create were the “Chicken Republic” arc. And at this moment, everything went mad. We imagined a new way to play, to surprise the player. What about fighting an army of chickens while a lot of bad effects are applied to your screen ? It can be color swaps, waves, split-screen, dirty black and white noise…

Chicken  Republic Effects

We wanted to trick our players into thinking the game was over when they finally discover another different game. We made a whole new menu for it creating a real difference with the first part of the game.

Chicken  Republic Effects

This part of the game was very well received and a lot of people said that “the real game begins at Chicken Republic”, so it’s not that bad for something that wasn’t planned at the beginning and took us only 2 or 3 months of developement.

What was hard

Changing the world almost every song

Old School Musical is a journey through video-games history. It’s awesome but it was the biggest challenge of the game making. You don’t really see it, but every level is a real full game responding to the player’s successes or failures. So for every new level, we had to do everything from scratch. Coding new logic, adding physics, drawing new assets… We didn’t develop only one game. We did a 3D isometric RPG, a side-scroller shooter, a pokemon-style action game…

Levels

The good thing is that it gave us the experience of multiple games creation. The major drawback is that it took us much more time than expected. It was somehow frustrating to work so hard for 10 minutes of gameplay.

Working with friends

The good thing with working with your friends is that you know them so well you know how to speak to them. There is no surprise and it’s a good experience to share something bigger than just hanging around.

But because they are your friends, it’s hard to establish some kind of hierarchy and conflicts tend to take excessive proportions. The worst part of it is that you don’t want to lose them as your friends while work takes suddenly the major place in your relationship. It was very very hard for me to find a balance between both work and fun. Sometimes I succeded. Sometimes I failed.

Working at home

Teleworking is wonderful in many aspects. You are free work anywhere and anytime you want. But you can also feel very lonely and it’s easy to lose your motivation when you’re at home. We tried our best to meet and work all together sometimes.

Dev Meetup

But our everyday life looked more like this :

OSM Reunion

Dealing with 2 jobs

During almost all the developement, I had a second job. I was lead developer in a web-marketing company working for Google, Facebook, etc… It had some advantages. I had fixed revenue every month and I learned a lot about methodologies and online advertisement (which can be helpful when you want to release a digital product).

But at some point, I had so much work with these 2 jobs that I neglected everything else. I finally quit my job and I now feel a lot happier. I learnt the importance of keeping some time for myself.

Finding ways to catch the attention

Because of the state of the indie games market, it was hard for us to catch the public’s attention. We took a lot of time to build strategies for it. Our main focus was to produce very cool goodies. Few months before the release, we decided to make a press kit that nobody could forget. We did a NES box-art with a tape shaped mp3 player with 1 hour of the game OST.

Press Kit Final

How can a small indie team afford this king of goodies ? By making it ourself ! Here are the work in progress stages of building a press-kit :

Press Kit Wip

It really worked and we still hear about it when we meet with the press. It took us some time and energy but we are really satisfied by the impact it had.

Conclusion

I’m really proud of everyone who worked on Old School Musical. I know the game is not perfect, but every pixel is full of all the love we have for video-games. It was made with developer’s tears during 7 long years. We couldn’t get this far without the amazing support of our community. It was the dream of my life and it’s now time to move on and to create another game with the same passion. We are so happy about the reception of the game all around the world. It’s a relief to see that people really do enjoy it.

Thanks to everyone and see you for the next game !

author picture
Written by Francois Bertrand
Co-Founder / Developer at La Moutarde
C# and Visual Studio lover. Grew up with Sonic and Streets Of Rage. Trying to adulting right now.