People can start builds from their phones while socializing outside the office, drinking their coffees, and having fun, and their build will be ready after their break. The process became historically logged and completely visible. QA became easier. Product quality increased. All thanks to Codemagic. — Acar Okan Akalin, software engineer at UDO Games
Meet UDO Games: A veteran Unity studio
UDO Games is a mobile game studio founded in Turkey in 2013. It is one of the oldest gaming companies in Ankara. Over the course of years, UDO Games has worked on hundreds of games and launched dozens of hit titles with well-known publishers. More than 70 million players have played hyper-casual games created by the studio.
Currently, the company has about 45 team members and continues to work with other publishers on developing hyper-casual games while launching their own super-casual titles on the iOS and Android platforms.
Multiple external studios also work with the team in an accelerator program called UDO Garage, which accounts for 20 more people. Another initiative by the company is called UDO Next Gen Devs, which is an internship program that accepts 30 graduate students per year. It finishes with a public game jam called UDO Next Jam as the final challenge of the internship and the first challenge in the interns’ careers.
During its lifecycle, each launched game gets more than 10 builds per week per developer with content updates and bug fixes. For prototypes — games still under development — the count is a bit lower at around six builds per week per developer. Depending on the size of the game and its assets, building it can take from 15 to 45 minutes.
Recently, UDO Games have moved all their building and publishing processes to Codemagic. We talked to Acar Okan Akalin, a software engineer at UDO Games, about developing games with Unity and automating the builds with Codemagic.
Looking for Unity CI/CD
Previously, UDO Games needed to build all their Unity projects manually with dedicated Macs in their office that were used specifically for generating builds. But given the number of games and builds, the manual process required a great deal of time and attention and slowed down everything a lot. So, UDO Games started looking for ways to speed up development and reduce delays.
Acar Okan Akalin gives this short comparison of a manual building process versus an automated one.
-
Manual:
“Hey, Mr. X, can you give me the latest build so that I can run tests?”“OK, sure, but I have to make a short phone call. It’s urgent, but when I’m done, I can start. It might take about one hour for the game to reach you.”
-
Automated:
“Slack notification: The latest build is available athttps://BUILD_URL
.”
He thinks that game dev studios should be switching to an automated process with CI/CD in place as soon as possible. For UDO Games, the moment when manual building was no longer an option happened when one of its games became a global hit. They needed to do a lot of issue fixing quickly. The whole team was working remotely, but the build machines were still in the office, and builds needed to be manually started on them. This made the team realize that it was time to look for a Unity CI/CD solution.
UDO Games did not consider Unity’s own Cloud Build and initially settled for a combination of Jenkins for building and fastlane for publishing. However, this implementation was hard to maintain and wasn’t ready to supply the team’s demands. So, they decided to try Codemagic.
How Codemagic helps UDO Games solve their problems
The main challenge that Codemagic helped UDO Games solve was empowering non-technical people to try making their own changes on mobile devices without the help of technical people. Basically, Codemagic eliminated the need for the _Mr. X _from the example above — everybody can now run builds and see how their changes look in the game. Literally everyone in the company — artists, game designers, product owners, QA, and the marketing team — is familiar with Codemagic and can trigger a build whenever they need to.
The UDO Games team relies heavily on Codemagic’s integration with Slack to enable people to get builds right on their phones and quickly try them out. Also, before switching to Codemagic, the studio was only backing up the latest three builds, but now they can easily go back in time much further without hassle.
Switching to Codemagic CI/CD and allowing everyone to build the projects themselves has reduced the workload on the engineers, who are now able to dedicate their time to more projects with a greater long-term impact rather than to on-demand building. Alternatively, they can use the time they save to socialize, have fun, and play games, which is just as important for a studio that earns its daily bread making games. As Acar Okan Akalin points out, it’s as if not having to build manually extended their day by one hour. (He also happily admits to having spent this hour playing Mortal Kombat with a friend, which is significantly more fun than staring at Xcode.)
How Codemagic can help with organizing and logging
In a fast-paced environment of building hyper-casual mobile games, there’s not much time to devote to properly logging everything and keeping everybody updated on the progress. Previously, UDO Games never logged which version of the game was released when, what the contents of the version were, which branch contained what, etc. As Acar Okan Akalin says, no one wants to take care of manual changelog management when there is so much other work to do.
Running all their builds in Codemagic allows UDO Games to see what they did in the past in a centralized location. This especially helped the marketing team to understand the development progress of different games without needing to talk to every developer personally. Status updates can now be seen on the Codemagic dashboard and in auto-triggered Slack messages.
When working on smaller games, there’s no time for test-driven development, especially when building everything manually. But the more complex the project becomes, the more a clean architecture and thorough testing start to matter. In large games, having a better code architecture and a robust testing workflow is a must. And CI/CD is the first step to achieving that.
Why did UDO Games choose Unity, and are they going to stick with it?
UDO Games has been developing Unity projects since its very beginnings in 2013 — some team members have experience with Unity from the good old days. The studio chose Unity and sticks with it because it allows them to develop cross-platform games quickly and easily and has good documentation and an active community. Unity gives freedom to the team — there’s always a way to achieve what they want to achieve without fighting with the engine itself.
Unity is now going through a massive tech overhaul, and Acar Okan Akalin says that the team at UDO Games follows the development progress of the engine closely. Most members can’t wait for all the cool improvements, such as the new modular package management structure, DOTS (data-oriented technology stack), scriptable render pipelines, and many LiveOps integrations, to leave the review phase and become production ready. They are committed to continuing to use Unity as their go-to engine for the upcoming years.
Find out more about UDO Games on their website.
Try out their most successful titles:
Discussion about this post