Sometimes as a small studio, you can expect some outsourcing requests from big studios, for example, porting a AAA game... but working on a highly anticipated indie game? That’s unusual! Well, our studio iLLOGIKA, based in Montreal and known for working on games such as Hitman Go, Lara Croft Go and Disney Infinity Action for mobile, had this kind of opportunity: released in September 2017 by Studio MDHR, Cuphead is a run and gun platformer game inspired by cartoons from the 1930s using the animation methods from that era. In the last few months of development, we had the chance to help the developers finish their game and deliver the gold master. It has been an incredible and instructive challenge for us and we are happy to share our experience.
In the beginning of spring 2017, Studio MDHR was in need of programmers and their deadline was getting closer. Our friends at Snowed In studios, from Ottawa, recommended us to them and a few days later, we jumped on the project. Our mandate with Cuphead started around June and covered mostly level art, programming and later on, quality assurance.
Our art team integrated assets on levels such as Forest Follies. Our UX designer, Loïc, was in charge of adding the graphic assets in the background. However, this task was more than just putting assets in place : “Actually, the trees in the beginning of the level are not just for decoration, they’re there to support the level design [...]” he told me, “ as you can see, when you enter the forest, some trees in the background are bent so the player is prepared to see a slope”. The team worked on many levels to make sure this organization was respected : Funhouse Frazzle, Shootin’ ‘n Looting, the Mausoleum… and even the world map, where the artists arranged objects and their collision and visibility layers. Another example of that is when Cuphead walks in front of a guardrail, we have to make sure that the character does not overlap with the rail. Additionally, the art team did some adjustments to the game’s visual effects.
Forest Follies : The slopes.
On the programming side, since the gameplay was already developed by Studio MDHR for the most part, our team was in charge of polishing gameplay and animation systems (animating items in the Porkrind’s shop, the ghost jar in the mausoleum…), tweaking assets like the dialog boxes, and doing general optimization and bug fixing. The developers at iLLOGIKA were mainly polishing the game in Unity in the last weeks of development, and working with QA to get the bug list down. To keep track of everything we were doing and to find the right owner of a feature, we used Trello, which we typically don’t use internally, but on the service side of our business we are always ready to use the tools our clients and partners are already using.
First of all, we managed to have a great collaboration with Studio MDHR considering that we did the whole project remotely. We only met Maja, Chad and Jared in person after the release of the game when they attended the 2017 Montreal International Game Summit as speakers. Remote relationships between partners can sometimes be complicated in terms of time zones and language differences… Turns out that fortunately, we had neither of those complications : even if Canada is a big place, we had no time difference between our studios (they’re about 360 miles apart) and everyone was speaking English.
Cala Maria (source : Studio MDHR’s press kit)
In general, drawing the line between the game creators’ vision and what we wanted to bring to their baby is delicate, but they are professional, open, honest about what they wanted and always reactive: Chad Moldenhauer, for example, worked very closely with our programming team as one of our programmers, Julien, told me : “We reached a point where we could predict whether, what we wanted to do with the game was in sync with Chad’s vision or not.” This gives you an overview of how well our communication went and this helped us resolve many other challenges. While working on some levels like Funhouse Frazzle or the Cala Maria battle, Esther, our level artist, was integrating so many elements she was worried the level would be overloaded and the gameplay difficult to read. She shared her concerns to Studio MDHR who listened and they managed to improve the level art together. If you play the Mountain Ascent level at some point, you need to use an elevator to go down but the elevator isn’t actually moving - the background behind is looping. This part was quite delicate, especially when it comes to sticking the elements to each other so the trick remains invisible to the player.
On the coding part, the biggest challenge we encountered was a crash on the parry jump which appeared a little before the end of the development. When you do a successful parry, there is a small pause, however, when you took a shot and died, the game would crash and it took us some time to find out what the problem actually was. Turns out the problem was a dependency between the player and the parry function : the player disappears but the function still needs it. The programmer in charge, Marc-André, told me it was complex to track down since Simon, our QA tester, was having a lot of trouble reproducing the crash. In cases like these, using breakpoints in Visual Studio to stop the game in runtime and see what’s happening in the code is your best option.
The parry jump (source : Studio MDHR’s press kit)
Even if we weren’t involved in the initial conception, Cuphead is a great accomplishment for Studio MDHR and we are proud to have contributed to creating the game. We were really happy to see it become 2017’s most talked about indie game.
We learned a lot through this project. It gave the team an opportunity to go through the Xbox submission process since most of our games were shipped on PC, PS4 and mobile and learn more about the Microsoft game submission requirements. Our artists learned how to deal with hand-drawn 2D assets and this will be helpful for future 2D projects. By being open-minded and available, our team members improved their way of dealing with partners, respecting their vision but also challenging their expectations to push the envelope.
Cuphead showed us that we were able to ship a game on a platform (Xbox One) our team was not necessarily totally fluent with, and without the local presence of the client. We think we grew up as a studio and we can’t thank Studio MDHR enough to have put their trust in us to bring some of our game-making magic to Cuphead.
Studio MDHR and iLLOGIKA members who collaborated on Cuphead (from left to right) : François, Julien, Simon, Chad Moldenhauer (Studio MDHR), Marc-André, Suzanne, Nicolas, Maja Moldenhauer (Studio MDHR), Esther, Jared Moldenhauer (Studio MDHR), David, Andreas.