XNA Community Multi-Language Support

12 03 2011

At GMA, we happen to have resources that allow us to translate our games into multiple different languages.  The lowest lying fruit was Spanish, since several people on the team speak Spanish and one of us is married to a well educated native Spanish-speaker.  As we have tried to release Hoardzz in multiple languages, we have come across a series of problems we think should be fixed.  These problems are detrimental to the indie community because they discourage building a better product and waste the community’s time.  We have decided to share our findings to keep others from making our mistakes, and perhaps get some of the rules changed.

We released Hoardzz for review and had 15 people who passed the game over the course of just under a month.  The crazy thing is, the first 9 reviews took use to 93% complete, while the last 6 reviews added 0%. After a bit of searching on what the policy is on multi-language peer-reviews, I found something here talking about it.  Unfortunately, they’ve changed the document and the statement is no longer there.  My understanding of it was, if you can only get reviews in English, each new English review will give you fewer and fewer points… apparently after 93%, you get 0 points for English reviews.  The 16th person found that Hoardzz would crash if you pulled the memory unit at the right time…

Since we now have to wait a full week to fix a bug that took under an hour to fix, I’ve gone through the FAQs to try to figure out how we are expected to pass a multi-language game.  Below are a few things I found interesting:

What are the rules for a game to be approved?

You need a certain number of peer reviews of average strength to pass a game. The number will vary based on the reviewers’ individual peer reviewer score.

Each reviewer must speak a language or languages associated with the game. Its promotional materials must be reviewed in their respective languages as well, so if there is an English game with a Spanish description, you will need at least two Spanish-speaking reviewers to approve the game as well.


It looks like Microsoft, was kind enough to give a number on the minimum number of reviewers per language: 2.


If your game does not get enough reviewers who speak its language, eventually your peer review for the game will expire and the game will be rejected. You should receive an email if your game is rejected due to expiration. The current setting for expiration is 1 month.


This is so stupid, this means everyone that has reviewed it will have to do it again.  This is a terrible waste of resources and now requires the submitter to have greater coordination among people they probably don’t even know.  If we couldn’t get Spanish passed, I highly doubt other languages will do better.


The gameplay language and the language of the related metadata determine the people who will peer review your game. Be sure to go on the XNA forums and recruit peer reviewers who speak these language(s).


This one gets my goat, because we’ve already been reprimanded for doing this by a moderator, “gamemakersanonymous please do not ask for others to review your game, this is against the forums and peer review rules. Thanks!” (emphasis added).   Maybe we’ll just slap this quote on the end of each request.

By way of suggestions, I propose the following to fix the problems we have found:

  1. If English reviews won’t add points, don’t show them on the English list.
  2. Don’t require 2 reviews in every language.  Make it 1, or better yet don’t require it at all.  If it translated to something obscene, that is no different than putting some other obscene Easter egg in your code.  Pull the game and cancel the account of the offender.  Indie games are unrated and if parental controls are set, indie games can’t be played anyway.
  3. Allow an easy way for reviewers to filter on non-English languages.  It is simply too hard to find them as is and so we tend not to review non-English games.
  4. Give multi-language games more time, since we have fewer people that can pass us.
  5. When a game can no longer get closer to passing by having English reviews, SHOW A WARNING.  Otherwise, people waste their time reviewing a game that won’t progress when they could help someone else’s game get passed.

In conclusion, unless things change, we highly recommend that you do not try to release your game in anything other than English only.  If you want to do multiple languages, add them in as patches.  If you try to submit a multi-language game, you can expect:

  1. To require more passes than anyone else.
  2. To get tougher reviews once people realize they can’t get you off the list by passing you (but they can if they fail you).
  3. If you make it through the tougher reviews, to get rejected after a month because you’re taking to long (If nothing is wrong, they will resubmit with the same stuff, only they will have to regain lost points…).
  4. Get scolded for trying to recruit non-English people to review your game.

Our game has been pulled, and we are planning on re-submitting in only English.  We are also planning on releasing a patch with Spanish, French, Italian, and Portuguese.  We are unsure how we will get all of those languages passed in 1 month, and don’t want to bother our users with many patches.

Expect to be punished for going the extra mile.  If you need a non-English review (Spanish in particular), maybe we can help you out.  Email Rick Smith at ricochet2200 *at* gmail.  Also, if you know how to pass multi-language games, we’d love to hear from you.

XNA Profiler

10 06 2011

We were having some major performance issues on Hoardzz Heroes, our Dream Build Play entry for 2011, and so I wrote a lightweight profiler.

The major features of this profiler are:

  1. Prints to the game display, allowing it to be tested easily on the XBox.
  2. Can easily be turned off so that it takes no additional resources.
  3. Lightweight to avoid creating of any heisenbugs.
  4. Easy to use (I hope).


How to Add to Your Project

  1. Download the Profiler.cs file and add it to your project.
  2. Open up Profiler.cs in an editor and search for @TAG1 and @TAG2.
  3. Change the lines of code just under these tags to add any Texture2D and SpriteFont that your project has.
  4. Compile


How to Use

Rather than explain, I’ll provide what I believe to be a simple example.

The above code will show how much time (as a percent) was spent in Update() and how much was spent in Draw().  It also shows how much time is spent in Levels vs Menus.  You’ll note that the sum of the percentages will not equal 100 when there is nesting (calling to Profiler.Start()s without calling Profiler.End()).  From here, users can further nest until they find something that is taking too much time.

Profiler.StartMaxPercent() and Profiler.EndMaxPercent() are used to define what is being profiled.  All other Profiler.Starts() should be called between these two functions.

When you are done profiling, comment out #define PROFILING in Profiler.cs.  C# compiler should optimize out all of the profiler code because all of the methods will be empty.  This allows you to essentially remove and add all of your profiling code by (un)commenting one line.


Most questions can probably be answered most quickly by reading the profiler code.  There isn’t much and it’s really not that complicated.  If you want to contact me, leave a comment below or email me at ricochet2200 ***at*** gmail.com or @ricochet2200 on Twitter.  I’d love to hear from you with any comments, questions, or changes.


Download Profiler.cs

Creative Commons License
XNA Profiler by Rick Smith is licensed under a Creative Commons Attribution 3.0 Unported License.


26 02 2011

If you see a couple of devilishly handsome guys recruiting for an indie game company at GDC this year, you should take them up on it.

Oh, and some of us from Game Makers Anonymous will be there too! Rahjur (Roger Altizer) and another GMA rep will be at the conference chatting with whomever will listen about Hoardzz and our unique, gentler approach to game development.

We’re always recruiting folks who are willing to put in the time to commit the crimes, hmmm, I think I got that wrong. Regardless, if you have art, programming, or insane juggling skills, GMA wants you!

Oh, Rahjur claims he will be tweeting from GDC as well. We shall see by following him @the_real_rahjur.

Hello world!

25 02 2011

Welcome to Game Makers Anonymous.

We started out as a group of gamers wanting to make a game for a one-day global game jam.

The game, “Hoardzz” and the group became so much more.

Now were an indie game dev co-op in which members can meet other developers and work together on a variety of games for a myriad of platforms.

For us, it’s all about the games, and the fun.