Full Sail Stories
Published Oct 17, 2019
This Grad Helps put the Magic in ‘Magic: The Gathering Arena’
Game Development grad Rich Skorski discusses his work at Wizards of the Coast, the challenges of coding a large-scale game, and lessons learned in the field.
"Every game is very different, but at its core, I've found that software is software no matter how you look at it," says Game Design & Development grad Rich Skorski.
As a senior software developer on Magic: The Gathering Arena (Wizards of the Coast's latest digital iteration of their popular Magic: The Gathering card game) his job is to, as he describes it, "make sure that the game is running and fun."
"As a team, we decide these are the things we want. These are the features we're adding to our game," he says. "This is what the players have asked for. Then my next job is to go ahead, do it, and make sure that it gets done."
His position has him primarily working on server backend. This means that part of Rich's job is to work with several other teams to maintain the game's card database, track player data (including wins, losses, cards owned, etc.), and make that data readily available for players to access to enjoy the game. With over 2,000 cards currently in Magic: The Gathering Arena and a player population of well over 100,000, there’s a lot of data to manage.
Rich’s job is fundamental to the stability of the game. In order for the game to run efficiently, he has to design code that is not only functional, but adaptable. What might look like gibberish to an outsider is actually a complex system of statements (actions performed in a program) that all need to work in harmony. This includes everything from the player data that Rich manages to gameplay animations to syncing thousands of players to each other at any given time.
In previous projects he’s worked on, like Infinite Crisis or Lord of the Rings Online, Rich might write code that serves a single function – a “get it done” line of code. With Magic: The Gathering Arena he found that he had to design code that was not only organized but able to be modified without harming the game.
“You could say, ‘Hey, let me take a chance and reorganize this code, so that way the pieces that I'm changing are a lot closer together,’” he says. “It sounds silly, but If you're looking at a piece of code and figuring out how it works, it's a lot easier to do that if it's all right in front of you.”
For Rich and his team having accessible data is crucial for implementing updates or tracking changes being made by its high player population. On paper, it would seem easy to just reorganize different lines of code so they were neater and more organized, but a single line of misplaced code could result in game crashes or players losing their collections.
"You're going to be moving a lot of different pieces [of code] that probably aren't even directly related to the feature or task that you're working on," he says. "So, the amount of change you're adding to the system is a lot greater, so that brings on a lot more risk."
When faced with trying to implement high-risk changes, Rich has found that he often gets stuck in his own head. "I feel like this is going to be the right way to do it, and I'll find myself stuck in indecision," he says. "I like to enumerate the possible solutions."
One of the biggest lessons Rich learned was in the value of teamwork and being able to rely upon others. "The important thing to learn is that there's people alongside you that are going to help you," he says. "If I'm making a decision and I start working on it, it's up to me to go out and ask people 'Hey, what do you think of my progress? How is this moving forward?'"
When asked where he received this insight, Rich cited Full Sail and his experiences working in an environment where going alone meant failure. These lessons have persisted throughout his career and have informed the way that he works today.
"Once you can work with everybody together, that's when you excel," he says. "That's where you really succeed, and Full Sail, I thought, did a really great job of giving me the foundational pieces to get there."