GAME JOBS
Contents
Postmortem: Appy Entertainment's Animal Legends
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
June 6, 2013
 
Wargaming.net
Build Engineer
 
Gameloft - New York
Programmer
 
Wargaming.net
Build Engineer
 
Virdyne Technologies
Unity Programmer
 
Wargaming.net
Quality Assurance Analyst
 
Wargaming.net
Python Developer
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
June 6, 2013
 
Free to Play: A Call for Games Lacking Challenge
 
Cracking the Touchscreen Code [1]
 
10 Business Law and Tax Law Steps to Improve the Chance of Crowdfunding Success
 
Deep Plaid Games, one year later
 
The Competition of Sportsmanship in Online Games
spacer
About
spacer Editor-In-Chief:
Kris Graft
Blog Director:
Christian Nutt
Senior Contributing Editor:
Brandon Sheffield
News Editors:
Mike Rose, Kris Ligman
Editors-At-Large:
Leigh Alexander, Chris Morris
Advertising:
Jennifer Sulik
Recruitment:
Gina Gross
Education:
Gillian Crowley
 
Contact Gamasutra
 
Report a Problem
 
Submit News
 
Comment Guidelines
 
Blogging Guidelines
Sponsor
Features
  Postmortem: Appy Entertainment's Animal Legends
by Rory McGuire [Business/Marketing, Design, Postmortem, Production, Art, China]
7 comments Share on Twitter Share on Facebook RSS
 
 
May 6, 2013 Article Start Previous Page 4 of 5 Next
 

What Went Wrong

1. Not enough time in soft launch/beta

The soft launch -- launching in a small limited market prior to going worldwide -- is starting to become a standard practice in mobile game development. For a period of a few weeks (or a few months) the game is released in a single market. American developers often soft launch in Canada. During this time, community managers can poll players for bugs and developers can fix any issues before the app is released into the wild globally. A soft launch is an extremely powerful tool -- especially for apps like Animal Legends, ones that are "always on" and built to be easily modified remotely.



Animal Legends was soft launched in Canada two weeks prior to the worldwide launch. While it allowed us to identify and fix several major problems, it was just not enough to get all the bugs within our advertisement services sorted out. These bugs mostly affected international inventories but we just didn't have enough time to get a fix in, resubmit, and hit the date we had penciled in with Apple.

Ultimately, the quality of the gameplay experience was there but some of our secondary revenue services were not, so we opted to move ahead with our launch date. In retrospect, we did lose some revenue in international markets. However, had we delayed the launch, we could have lost our Featured slot with Apple.

In the future, we'll pencil in a much larger testing window before we give Apple a date. If we don't find any major issues, we can keep the app in the wings until the pre-set launch window.

2. Lack of extensive testing of remote data 

Animal Legends (and SpellCraft before it) were built to be updated remotely. All aspects of the economy, combat, heroes, and gear are placed into "plists" which can be changed by updating our remote servers. This allows us to fix bugs or issues that players run into within just a few hours instead of having to resubmit the app.

Though we tested dozens of variables to make sure they propagated right, Animal Legends features thousands of variables. As you might expect, some of those (specifically, three of them) didn't update in the app properly when changed remotely. One of the variables simply refused to deploy; another would apply the change and, every time that specific game actor would update it, roll back to the original data.

Once they were identified we were able to resubmit and patch them within a short period of time. However, we lost precious time. In the future, we'll test all our remote variables before releasing the game. 

3.  Lack of preparation for emerging markets

We invested in a large amount of translations (English, French, Italian, German, Spanish, Simplified Chinese, and Japanese) for Animal Legends so we were ready for international markets. But we weren't fully ready for emerging markets -- especially China.

SpellCraft enjoyed a good amount of traction overseas with roughly 60-65 percent of the total number of downloads coming from places outside of North America -- mostly Europe. Animal Legends, however, has pushed that number up as high as 75 percent, with downloads mostly coming out of China, Brazil, and other emerging markets. To put the number in perspective, FaceFighter, SpellCraft and Trucks and Skulls had roughly 10-15 percent out of China. For Animal Legends, China represents roughly 30 percent!

The Great Firewall presents problems with some of our online features (like Google's AppEngine, which isn't welcome in the country in any form). Other services -- such as Amazon S3 -- are very slow. While the Great Firewall didn't stop the game from functioning, it did occasionally stop us from deploying a patch or sending messages to our players.

We didn't integrate Sina Weibo or QQ either, which meant that Animal Legends in China lacks any sort of sharing to social networks.

We are currently making substantial changes to the game for China, including placing servers on Chinese soil and enlisting the aid of native Chinese companies. Fortunately, a number of companies have emerged to help western developers bring their titles to China, like Yodo1.

The Chinese market is by far the most alien for western game developers. What the Chinese consider appealing in terms of design, art style and business models are quite different from the world beyond the Great Firewall.

 The Chinese market has always been important -- but it's now the top mobile market worldwide, surpassing even the U.S. Fortunately, companies are beginning to emerge to help Western developers not just get into China, but to have a fighting chance in their competitive app market. With the help of Yodo1 we've "deep localized" Animal Legends. Updating our art, marketing assets, localization and even our UI to meet Chinese players' expectations. The company has done a tremendous job and their CEO Henry Fong has been a great ally for our studio.

4. Mana economy

Every hero's abilities are driven by mana. Some of the weaker abilities can be cast for very little mana, while the more powerful abilities consume a good amount. Mana regenerates over time, but it's a key driver for combat, and the main throttle for progression. While the mechanic works well in combat, if the player leaves the app and heads back to their town they can't tell how much mana is left for each hero, whether they're currently in or out of combat.   

The feedback the player receives on mana regeneration isn't really an issue if he or she is playing nonstop, but most play Animal Legends six times per day, leaving the app and getting back in multiple times.

The relevant issue seems to be to know for sure when heroes have full mana (energy) and if they are ready to adventure again. We are working on it for a future update, which will add a feature that communicates each hero's mana from the main town view. 

 
Article Start Previous Page 4 of 5 Next
 
Top Stories

image
Keeping the simulation dream alive
image
A 15-year-old critique of the game industry that's still relevant today
image
Advanced audio streaming in Unity
image
Amazon launches dedicated indie games storefront
Comments

Alex Schearer
profile image
Thanks for this great post mortem. It's a bit scary reading about the struggles a studio such as yours goes through knowing that for my own games I will be even less prepared, knowledgeable, etc. Best of luck on your next title!

Rory McGuire
profile image
Absolutely, glad you enjoyed it!

I wouldn't see a project or a market for it, as scary, personally. I'd look at it as challenges to overcome, whether technical, aesthetic or business related. If you're prepared for those challenges and honest with yourself and your team about what you can tackle or cannot, it's pretty darn satisfying. Then you can come back and share with us the challenges you faced and the approaches you took.

Best of luck!

Remy Trolong
profile image
Thanks for the time you took writing this great post mortem! Honesty (Cr*p, I've the song in mind now T_T) is really important for moving forward, that's nice to read and learn from others' experiences. Best of luck!

Mark Nelson
profile image
I'm curious about the character animation for the game seeing as how you're using Motion. Did you export animation key data from Motion, or PNG image data? I'm not a Motion user, but it appears to make for a great sprite animation tool!

Great postmortem BTW!

Rory McGuire
profile image
Thanks, Mark!

We export the key data from Motion and have an animation player that replicates the animation curves. It's almost entirely what you see is what you get, with very few landmines.

The result is a pretty dramatic improvement over most of the options in 2d, we like it a heck of a lot more than Flash - that's for sure!

Sean Kauppinen
profile image
Excellent Post-Mortem! I have to say Yodo1 is who we work with on almost every mobile game when it comes to China. They are the best partner there. Also, thanks for the info on the plist updates, that's something we often recommend so you can tune economy in real-time, but also hadn't run into a testing issue there. I would love to ask, what were the specific issues with the three bugs? Was there a string that reset the update later in the code as it ran? Thanks again Appy!

Rory McGuire
profile image
Thanks Sean! Yeah, Yodo1 has been remarkable to work with. Excellent guides through the trying and often confusing Chinese market.

Regarding plists, these were mostly variables which were on the player or deep seated global variables that get initialized immediately upon launching. Though the patch would certainly get downloaded and applied, it would be too late and the player data would be initialized. Unless these variables were referenced multiple times (And they weren't) then the data was immediately out of date. These were entirely our own structuring problems which we were able to fix.

An example of was the leveling curve on the player [How much experience it takes to level, per tier]. This data got initialized first thing, as it was a part of the core player data, was read once by the app and by the time checking for a patch or data change was done the level data was applied and set in stone. A simple fix was adding a second check further on in initialization to double check the patch for data of this type - but it did require us to wait on the resubmit.


none
 
Comment:
 




UBM Tech