Interning on a Game Team — A Look at a Summer at Pocket Gems
In the hustle and bustle of downtown San Francisco, where the only thing pricier than the rent is the avocado toast, lies a hidden gem, or should I say Pocket Gems.
This is a brief story about my summer experience as a Software Engineering Intern on the Wild Beyond game team at Pocket Gems.
Onboarding
Going into my first day, I found myself struck by a looming sense of doom. I asked myself what had I gotten myself into given that I had never done any mobile development in the past (let alone game development). However, the minute I arrived at my desk to find a box of donuts, my anxiety was replaced with puzzlement.
“Did they expect me eat all of these? Was this some sort of cruel hazing ritual for the interns? Were they fattening me up to eat me later?”
It turned out that the donuts were cleverly placed there to motivate other team members to make the trek over to my desk and introduce themselves to me in exchange for a tasty treat. As I slowly learned everyone’s names, I grew excited by the fact that, even though I was an engineering intern, I would have the opportunity to work with “Gemmers” from a wide variety of disciplines such as art, UI, game design, player experience, and more. With the first day wrapped, nerves settled, and my donut box emptied, I went home excited for the rest of the summer.
On the second day, it hit me. I had still not addressed my concern about my lack of mobile development experience. However, this was immediately cleared up as my mentor worked with me one-on-one to discuss how to best get me up to speed. He set me up on a codelab — a branch of the app specifically designed to introduce new hires with little-to-no mobile experience to Objective-C and familiarize themselves with the codebase. I was assigned a set of tickets that covered the topics the team thought were most useful to know ranging from memory management in Objective-C to building menus and UI components in-game. After spending my first week working through these tasks, I found myself well-equipped to dive into my project for the summer.
The Project
Going into my main intern project, I was super excited. For the first time in my life, instead of playing a game, I was going to be working on one, and its name was Wild Beyond. Wild Beyond is a competitive mobile game that combines elements from real time strategy (RTS) and card games. So what was I going to work on? One portion of the game that hadn’t received much love recently was the communication between players. While players are battling against each other, they are able to communicate by sending emotes: cute, expressive images. In other words, Wild Beyond’s version of emojis.
From launch, the game had a basic emote system, but it was difficult to use. The buttons were small and hard to click, and the art was dated from back when the game was in an earlier phase of development. Players were only able to choose from 6 default emotes that conveyed a relatively limited set of feelings. My project was to overhaul this system. By the end, players would be able to unlock expressive, animated emotes of classic in-game characters and take their favorite ones into battle with them. They would also be able to show off their collection by sending emotes in the game’s global chat.
The first step in implementing the features was to write a technical design document, a summary of the technical requirements that this feature would encompass. It required me to think about what would have to change in both the game client and server to support the new emote system. After receiving feedback and iterating with the rest of the team I arrived at a solid design that I began implementing. Designing a feature in a game was far different than work I had done at previous software engineering internships. Throughout my internship, I was working with UI/UX designers, artists, and game designers to make sure that the feature was polished. Every major milestone would be accompanied by an internal play test to collect feedback and think of new ways to improve the system.
After the emote overhaul was fully implemented, I learned how to test for backwards compatibility and make sure that the update could be rolled out to players smoothly. Once this and all unit tests were verified and passing, I was ready to merge the feature. By the end of summer, I had gone from seeing Objective-C for the first time to creating a new feature from end-to-end. As an intern, being able to work on a major feature that impacts how all players interact with the game was an incredible experience, and provided a clear window into the responsibilities and workflow of a full-time software engineer on the team.
The feature was shipped in a major update this month (October 2019). It seems, from my point of view, that players have really enjoyed using the updated emote system so far!
PG to Me
I could spend a long time talking about all of the benefits of being an intern at Pocket Gems from the free food to the exciting intern-bonding events and even the in-house “Intern Olympics.” However, I feel that I can summarize the impact that PG left on me through a single event that happened during my internship.
Around half way through the summer, I noticed a bunch of people sitting in a conference room out of the corner of my eye while sitting at my desk. On the screen was a single question displayed. It asked, “How, if you were a game designer at Company X, would you increase player retention for this specific game?” It turned out that PG was hosting one of its regularly scheduled workshops for game designers. As I sat at my desk, I tried to think to myself about what I would do. The thought had never crossed my mind before that, and I loved that these were the sorts of problems that people come to work excited to solve. In a moment of somewhat uncharacteristic initiative, I slinked into the conference room and asked if anyone would mind if I joined the exercise. To my surprise and delight, everyone welcomed me with open arms, and even let me join a group when the team dispersed into smaller groups to discuss their solutions before reconvening to discuss their thoughts. I was able to learn a great deal from hearing how game designers approach problems and think, and was even able to share my own thoughts, which the group treated as seriously as any other member.
When I first started my internship at Pocket Gems, I was excited about the games I’d get to work on. By the time I left, I was more excited about the people I had the opportunity to work with. The supportive, growth-oriented culture that let me crash a design workshop and come out knowing more than when I went in , was by far the greatest part of my internship. From the day I started, my mentor made sure that I focused on setting clear, precise goals for myself, and checked in with me every week to connect me to the resources I needed to reach and exceed them. More than anything, it was this environment that helped me succeed and make the most of my internship. If you’re on the fence about applying, take my advice, don’t miss out on this gem of an opportunity.