Engineer's Workshop: Developing for Mobile and PC
Originally Posted by Blizzard (Blue Tracker / Official Forums)
As Shadowlands ramps up into Beta, we wanted to provide an insider’s look at the development process of creating some of the great features that you’ll see in the expansion. In this Engineer’s Workshop, we’re focusing on developing a feature simultaneously for mobile and PC platforms with the new Adventures feature, our new offline progression system for Shadowlands. Adventures is a spiritual successor to Missions & Followers systems from previous expansions that allows you to send parties comprised of five adventurers to fight enemy encounters in an auto-battler format.


It Begins With System Design

Every feature begins in system design where our designers take a set of goals and hammer out the framework to create what’s known as a feature pitch, which then becomes a playable feature. For Adventures, we wanted to retain the things that worked well from previous Missions & Followers systems and iterate on the other aspects. Specifically, we liked that the system presented frequent rewards and goals to the player, allowed for progression while the player was logged out, and providing another avenue for storytelling while emphasizing the fantasy of the game. The major aspect we wanted to iterate on was to make the gameplay more engaging and the determination of mission success more fluid. Previous iterations of the Missions & Followers system were solved somewhat trivially, especially with the use of AddOns. On the other hand, Adventures is a system within a game, not a game on its own. New players should be able to jump in and be successful without having to read guides, but there should be enough depth to reward those that invest more time into it. In addition, we don’t want to create a system intended for offline progression that takes a significant piece of a player’s time while at their PC.

In this stage of development, the designers’ best friends are spreadsheets. Spreadsheets allow designers to bridge the gap between ideas and data. They can get a rough picture of whether or not an idea resonates well, apply different data curves for things like experience and attack power, and allow rapid iteration when it’s still inexpensive to try wild things.


In the end, we landed on an “auto-battler lite” model utilizing turn-based combat that is automatically resolved. Players place five adventurers on the board, strategizing ideal placement based on each adventurer’s abilities. As long as all enemies are defeated, you win and reap your rewards. However, through careful adventurer selection and placement, efficient players can minimize the amount of damage adventurers take during combat so that they can be sent on the next adventure without waiting as long to recover.

Mobile Challenges and Considerations

Adventures is a feature that is a natural fit for the WoW Companion App and developing the feature simultaneously for both mobile and PC platforms allowed a close cooperative working environment between systems and user interface (UI) design, as well as providing a singular UI vision for both platforms. One of our UI design pillars for the Adventures feature was to strive for parity between PC and mobile as closely as possible. However, the Companion App is a companion to the PC experience, so parity shouldn’t be enforced at the expense of the main game.



Mobile Graybox



PC Graybox

While PC faces complex challenges like rendering the 3D world on a wide variety of hardware and balancing live player concurrency, developing for mobile has a different problem set to work through. Phones can be a wide variety of aspect ratios and sizes and the UI and user experience (UX) need to account for this. The app’s data footprint must be minimized so that we can support as many device models as possible. The biggest hurdle to overcome when developing features for the mobile platform is that the game was not originally built for mobile. If you think back to 2004 when World of Warcraft was originally released, the phone of choice was the Motorola Razr and the mobile game of choice was Snake. Needless to say, the frameworks being developed at the time didn’t have mobile compatibility in mind. Even the simplest features can require large amounts of PC framework to be implemented on the mobile platform first.

Engineering Design

Luckily for Adventures, much of the framework from previous iterations of Missions & Followers could be reused; at its core, players are picking followers from a collection and assigning them to a mission. We chose to implement both mobile and PC platforms simultaneously rather than serially due to the tightly coupled nature of the design. Developing both platforms from the ground up provided another boon in that we could write server messages to explicitly support both platforms. Until we could get the major UI elements in game, we used some prototyping software to get the adventures from a spreadsheet to a more interactive and iterative representation in game.



Client GUI

Look and Feel

One of the larger challenges to solve on both platforms involved the special effects (FX) used during combat replays. We discovered early on that the FX were critical to making the combat read clearly and pace well while providing a more immersive, visceral feel to the experience. However, this involved breaking new grounds in UI; both platforms had a piece of the pie. Although the PC platform had a robust library of existing FX, the existing tech to put these FX into UI frames was not quite sophisticated enough for combat animation. The mobile platform had a good animation framework, but the FX were not optimized for mobile use. In the end, both platforms decided to invest in developing their missing piece knowing that the framework would be reused in many features to come.

For the mobile platform, we already knew that app size was going to be a concern. Adding FX for a full suite of adventurers and encounters on top of our existing content was going to be a memory challenge.* On top of the visual portion of the FX, we also went from having just a handful of sounds app-wide to a set of sounds for each spell effect.* We were able to consult with both our WoW FX team as well as the Hearthstone FX team to see what lessons we could learn and incorporate into our workflow. We settled on an approach that chose the spell effect to play based on spell school and adventurer type and introduced some additional framework that we’ll discuss in another article to help break apart data.


Playtesting

Once an implementation is far enough along, it’s important to do playtesting sessions early and often.* Your game may be technical perfection, but if players don’t find it fun, it’s missing its mark. The current work from home situation provided an additional hurdle to overcome for the mobile team:* the traditional playtest is to put a build on several mobile devices and playtest together in a room. In the work from home world, we needed a way to reliably and securely distribute mobile builds to personal devices, and we only had a couple of weeks to do it before work-from-home began in earnest.* Due to the quick collaboration of multiple teams within Blizzard, we were able to get enough of a distribution framework in place to support mobile playtesting. This is another piece of framework that has already paid dividends in not only being able to coordinate playtests, but also in distributing app builds to other WoW team members and providing avenues for future features.

Looking Ahead

We’re not done developing the feature by any means and will continue to iterate and polish Adventures as we transition into the Shadowlands Beta and beyond. Hopefully, this peek behind the curtains provides some insight into the process, challenges, and solutions in developing features like Adventures for World of Warcraft. As critical as playtesting is, our testing forces are nothing compared to the number of players in our playerbase; if you have feedback for us that can help improve the Adventures experience, leave it on the Shadowlands beta forums. Thanks for joining us and see you in Shadowlands!
This article was originally published in forum thread: Engineer's Workshop: Developing for Mobile and PC started by Lumy View original post
Comments 48 Comments
  1. Kayze's Avatar
    Yay, more non-gameplay time-based chores! Their 'success' was their mandatory use for progression with quest chains and money making, that's it. People don't actually find them fun in that they'd otherwise play it without those requirements and stupidly excessive rewards.
  1. kaltra's Avatar
    What a waste of resources, that's money spent on something that adds no value to the game.

    Such a shame.
  1. Ielenia's Avatar
    Quote Originally Posted by tamarin View Post
    Ok i'm going to break down my point in simple words:

    1. Mission table is a bad, useless feature
    2. Improving it is a waste of time
    3. Work on it involved: back-end programmers for the server side part, gameplay programmers and ui programmerss for the client part, ui artists
    4. All of the above people, being part of the main game dev team, could have worked on something useful instead
    5. There is a mobile app in addition to that which is irrelevant because worthless mobile developers worked on it
    In order:

    1. Subjective;
    2. Subjective;
    3. So what?
    4. Or maybe left with nothing to do;
    4a. "Something useful" = Subjective;
    5. "Worthless because I say it's worthless, and also the people who worked on it are worthless because I say they are" Subjective, also very arrogant.

    And I insist on this because of all the idiots going "hurr the mobile team couldn't work on the main game anyway" which is irrelevant because the shitty feature is ALSO part of the main game and therefore DID waste development resources that could have been used on improving the main game instead.
    And all that you wrote there is completely irrelevant because, mobile app or not, the mission table would still exist, so whining and throwing temper tantrums against this mobile app is not only childish, but irrelevant.

    I haven't implied this is any way shape or form, it's just what you want to believe I meant because you're looking for any reason to contradict me. It's called a strawman
    Well, when you don't explain at all your argument when you say something completely irrelevant to what was originally written, people has no option than to guess.

    Ps. I worked as a game programmer for 15 years and probably wrote my first program before you were even born, so please shove your attempted condescension where the sun doesn't shine. Thank you
    LOL So you think I created my MMO-Champion account when I was 4 years old? Man, I was quite the prodigy, back then!

    Just a bit of a reality check for you: with the amount of childish insults you wrote in your post, I'm not the immature one, here, regardless of age. And also: you don't know my age, so please stop before you make a fool of yourself.
  1. MrLoque's Avatar
    I've rarely seen an uglier user interface. What a piece of junk.
  1. Terracresta's Avatar
    If it's a system I can ignore for base gameplay the same way I can ignore pet battles, I don't really care. Would of cause have liked them spending their resources on, at least for me, interesting parts of the game or hiring more people for the main parts of the game they are clearly struggling with.
    If you more or less have to do it for player power and to not lag behind, it will turn into BS. Then they are only doing this to get onto people's phones. I spend enough time ingame, so I'm not gonna waste my time on mobile crap.
  1. Lucetia's Avatar
    Quote Originally Posted by xdunpealx View Post
    I have no interest in the mobile apps, and I hate companions. With that said, really, how are they not moving pet battles into mobile? I am sure they could make lots of money for it.
    Yeah, I wish they'd make it into a mobile app in some way. I don't mind pet battles and do them on occassions, but if I'm on and in-game I feel like my time could be spent elsewhere. Where as if I'm out of the game, and for instance laying down, I could just hop on and do a few pet battles or WQ pet battles and be done.
  1. Nubpwn's Avatar
    Quote Originally Posted by Ielenia View Post
    In order:

    1. Subjective;
    2. Subjective;
    3. So what?
    4. Or maybe left with nothing to do;
    4a. "Something useful" = Subjective;
    5. "Worthless because I say it's worthless, and also the people who worked on it are worthless because I say they are" Subjective, also very arrogant.


    And all that you wrote there is completely irrelevant because, mobile app or not, the mission table would still exist, so whining and throwing temper tantrums against this mobile app is not only childish, but irrelevant.


    Well, when you don't explain at all your argument when you say something completely irrelevant to what was originally written, people has no option than to guess.


    LOL So you think I created my MMO-Champion account when I was 4 years old? Man, I was quite the prodigy, back then!

    Just a bit of a reality check for you: with the amount of childish insults you wrote in your post, I'm not the immature one, here, regardless of age. And also: you don't know my age, so please stop before you make a fool of yourself.
    You do know that popularity and success of a game is based on subjectivity, right? It is literally the subjective opinion of millions that drives the success of this game. The generalized subjective opinion of the community is that spending resources on mission tables is a waste of time. It's not that "the mission table would still exist" because we are saying it shouldn't. There especially shouldn't be a need for any mobile developers for a mobile version of a feature already in the game that no one wants.

    Furthermore the main game team SHOULD change, that's the point. If they can spend money and resources hiring mobile developers then they could have instead spent that money and resources boosting their main team. It's like Diablo Immortals, why are people mad? Because that mobile team is not working on the main game and therefore shouldn't even exist because it is a waste of resources that could have went to the main game.
  1. Ielenia's Avatar
    Quote Originally Posted by Nubpwn View Post
    You do know that popularity and success of a game is based on subjectivity, right? It is literally the subjective opinion of millions that drives the success of this game.
    Unless you're going to claim that the person I responded to was speaking for "millions of players" then what you wrote is irrelevant. They were stating their own opinion and treating them as fact. And being incredibly condescending too.

    The generalized subjective opinion of the community is that spending resources on mission tables is a waste of time.
    Really? Where was this "subjective opinion of the community" has been stated? I recall people complaining about BfA's, but not Legion's or WoD's, especially with the amount of gold you could get.

    There especially shouldn't be a need for any mobile developers for a mobile version of a feature already in the game that no one wants.
    ???

    Do you think that all that is needed to port the mission table feature from WoW to mobile is to "CTRL+C/CTRL+V" onto a mobile software development program?

    Furthermore the main game team SHOULD change, that's the point. If they can spend money and resources hiring mobile developers then they could have instead spent that money and resources boosting their main team.
    This is an absurd statement. Just "throwing more developers" into the game does not necessarily mean the game would improve in quality. There is this thing about "diminishing returns", you know? On top of that, "changing the main game team" also does not ensure an increase of quality. Look at how many people left and how many people were hired through Blizzard's history, and tell me: did the game improve overall, in your opinion?

    It's like Diablo Immortals, why are people mad? Because that mobile team is not working on the main game and therefore shouldn't even exist because it is a waste of resources that could have went to the main game.
    And even if the "Diablo: Immortal" game did not exist, the developers of that game would not be working on the PC Diablo game because they are not PC game developers. Which goes double for "one half" of the development team since NetEase is part of the development team of the game.

Site Navigation