Last November I attended IGDX (Indonesia Game Developers Exchange) Conference 2019, a conference where major game practitioners in Indonesia gather; there were local game developers and/or publishers, game dev communities and indie game dev/publishers. This was my first time to be at IGDX Conf as an attendee and as a speaker, and I had such an exciting time sharing my experience as a software engineer working in the game industry.
I brought a topic to the session about how my team and I at AccelByte helped Gearbox that results our name to be credited in their recent game, Borderlands 3. It was the very first project I worked on after changing my lane from testing to doing backend service, which enabled me to learn a lot of things from said project, from designing a scalable architecture to maintaining the quality of a software.
After approximately 1.5 years from the project starting date, the game was finally released on September 13 this year. It is so far the best selling game of Borderlands series, which was sold over five million copies within the first 5 days of its release. On the second day of its release, the game was played concurrently by approximately 250.000 players around the globe on PC. WOW! I’m glad that we contributed somewhere behind the game’s successful release. We had been working together with Gearbox Software’s team to design and create microservices to support their games. Some of those microservices are currently used in Borderlands 3 such as news, cloud save, leaderboard, title configuration, rich presence and game chat.
- News service: to publish and maintain news presented on the game
- Cloud save service: to store players’ data, be it game progress, match data, and everything else.
- Title configuration service: to enable admin’s easy-management for the games’ configurations
- Leaderboard service: to support matchmaking between players
- Rich presence and game chat: to provide player-to-player chat. We use XMPP as the communication protocol between clients. As XMPP server, ejabberd is used to do the heavy lifting. And since there are many cases where ejabberd have to fully distinguish and manage P2P chatroom, we need to moderate the operation of ejabberd. Instead of directly modify the ejabberd, we create a service called chat moderator as a layer between client to ejabberd. Chat moderator is responsible to apply specific in-game chat rules, maintain client relationship with ejabberd and enable admin to manage the active chatroom.
The other speakers brought up topics which are closely related to game production process, from game character creation to game advertising, and the topic I brought was unique compared to the rest. I found this was what drew the audience to my session; they were excited and curious to see how backend service is actually some-pretty-big-thing behind big and successful game titles.
The projected trend for today’s and tomorrow’s gaming leans towards multiplayer gaming cross-platform, where we can do cross-platform play and cross-platform game progression. People demand game developers to leverage to online services if they want to compete. While having the game online improves player’s experience, it also has a beneficial impact of increasing replayability. Players enjoy re-logging in a game when there is always something new in the game’s update list. The downloadable content can actually extend the game’s life. AccelByte is playing a role in this area by providing comprehensive backend services as a platform to get a game online.
I’ve learned a lot in AccelByte about how to ship a platform-as-a-service to support online games. The conducive environment is one great factor that helps me advance — everyone has a sense of ownership towards our products, which lets us hold several core values like fast feedback loop, transparency, teamwork and collaboration to maintain software quality while enabling faster development process.
Looking to join our team? Visit our careers page.