-
-
- (1398)
-
premium membership
-
Posts
583
|
Re: My little "evil" checklist for peer review stress testing...
|
Sure enough it is there. Good find.
Seems like an odd design decision for this particular class.
|
|
-
-
- (0)
-
premium membership
-
Posts
53
|
Re: My little "evil" checklist for peer review stress testing...
|
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
Re: My little "evil" checklist for peer review stress testing...
|
I don't think this is the right place to ask this, as your question might easily be overlooked. I would recommend you post this as a new thread in the "XNA Game Studio Technologies (Xbox 360, Zune, and Windows" -> "General" or "XNA Framework" subforum.
And preferrably also include some sample code!
Doc
|
|
-
-
- (0)
-
premium membership
-
Posts
22
|
Re: My little "evil" checklist for peer review stress testing...
|
Helpful List Doc. Cheers.
Hopefully between this list and the best practice list our game will pass this time and we can take some time out to playtest and review some of the other titles on the horizon.
Some look pretty interesting.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
Re: My little "evil" checklist for peer review stress testing...
|
I've updated my little checklist a bit:
- I realized that the list only explained the test cases that you can use to look for the most common bugs, but that it did not explain what those bugs actually are (so you had to deduce the bugs from the test cases).
I've now rewritten the introduction and have prefaced the actual list of test cases with a list of the most common failure reasons for games in review. This is meant to serve both as the ground-works for the following test cases, but also as a short overview (especially for newcomers) about what may most likely cause a game to fail during review, so that you can make sure that your game has addressed all these issues.
- Added the test case 9, which actually only formalizes the floating-point parsing problem (which was already described in caveat 1) into an actual test case.
- Added caveat 3 to describe common problems with storage devices (which are probably the main reasons for review failures, in addition to not supporting all controllers).
If you can think of anything else, please post it!
Doc
|
|
-
-
- (243)
-
premium membership
-
Posts
61
|
Re: My little "evil" checklist for peer review stress testing...
|
Again, thanks for the updates. Awesome work. Here's a few thoughts to help make this as comprehensive as possible...
-> Based on the FAQ, I think you should add these to your "main reasons your game will fail" section:
- You misrepresent what is in the game play or in the promotional materials for the game
- The promotional content for your game ( for example, the box art, description, banner or title) is not appropriate for all ages on Xbox LIVE Marketplace
(Reference: http://creators.xna.com/en-US/faq#anchor_1_24)
Spyn Doctor:The game contains any kind of the forbidden content as defined by Microsoft in the review rules
-> It'd be really nice if we could get a link to the complete list of prohibited content here. I hate having to dig into the submission form to find it, and it's not fair to people who are developing but haven't paid for their premium account yet that they can't access this list. Is this list anywhere else?
-> It might be nice to add a link to the Best Practices doc (http://creators.xna.com/en-US/education/bestpractices) in your Caveat section for developers just in case they haven't seen it yet.
-> It'd be super slick if you added big headings like "Main Reasons for Review Failures" "Failure Test Cases" and "Developer Gotchas" or something like that to improve readability. Just to help people digest the info better. First time I looked at this, it was a ACK! block of text moment.
Spyn Doctor:So the caveats are listed here more for the benefit of developers who uses my little "evil" checklist to test his own game before release, than for reviewers:
-> " His own game"?! There are ladies here too, you know! Okay, okay, now I'm just being sassy. ;)
Less for you and more as a shout out to moderators...
-> Would you please sticky note this list in the General review forum? I think this would be a good replacement for the "Reviewers, please read" sticky note, as this list is more informative.
-> Any way we could get a link to this list up on the main page or tacked at the end of the Best Practices doc? When we were preparing for testing, we first went to the main page "education" resources looking for something like this. It's a little unintuitive that all of this important info is buried in the forums. The more exposure, the better.
Check our website: www.kindling-games.com. Contact us: contact@kindling-games.com. Play our game: Hieronymus Bash - Super cute apocalyptic dodgeball.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
Re: My little "evil" checklist for peer review stress testing...
|
Thanks for your feedback. I've incorporated your suggestions.
Doc
|
|
-
-
- (821)
-
premium membership
-
Posts
179
|
Re: Evil Checklist Discussion thread.
|
There is another sub case for test case 9.
If Xbox is set to some non-Enlish language not only decimal separator may change
from "." to ",", but also thousands separator may change from "," to "
". Now this is not space with code 32, but "non-breaking space" with
code 160 (0xa0). It looks like regular space but this character should
be ignored when doing line breaking.
Now the problem is that if you add sprite fonts like I do: Right click,
New item, Sprite Font, then font is created with default character
range 32-126. If game tries to render say score like "1,234,567" then
it will look like "1 234 567" on Xboxes with non-US language. This will
cause an exception:
An unhandled exception of type 'System.ArgumentException' occurred in Microsoft.Xna.Framework.dll
Additional information: The character ' ' (0x00a0) is not available in
this SpriteFont. If applicable, adjust the font's start and end
CharacterRegions to include this character.
Parameter name: character
As a result the game may crash on some Xboxes when score reaches 1000.
|
|
-
-
- (17290)
-
premium membership
MVP
-
Posts
11.454
|
Re: Evil Checklist Discussion thread.
|
Probably also wrth noting that local settings also affect dates
4/5/09 can mean many things depending your country and some don't use / as the separator.
Play Kissy Poo - a game for 4 year olds on Xbox and windows The ZBuffer News and information for XNA Follow The Zman on twitter, Email me Please read the forum FAQs - Bug/Feature reporting Don't forget to mark good answers and good playtest feedback when you see it!!!
|
|
-
-
- (243)
-
premium membership
-
Posts
61
|
Re: My little "evil" checklist for peer review stress testing...
|
Thanks for incorporating my feedback, Doc. Looks great! And thanks ZMan for stickifying the topic and cleaning it up. Much easier to find and read now!
I've got one little nitpick. You guys and the community can decide what it's worth...
The new bullet you add to Most Common Review Failure Reasons says:
"Misrepresentation of the game or inappropriate promotional materials (screenshots, box art, etc.). "
However, the FAQ that I quoted above says:
"The promotional content for your game ( for example, the box art, description, banner or title) is not appropriate for all ages"
As I read it, "inappropriate" and "not appropriate for all ages" are not the same thing. For example, it would appropriate for me to make a game about chainsawing people in half as long as I labeled it with a high level of violence, but it would not be appropriate for all ages if I featured half a bloody corpse on my box art.
The only reason I bring this up is because this detail was a complete surprise to me when I saw it in the FAQ. I suppose it makes sense because you are forced to see the box art in the community games channel before you even get a chance to read the content rating description, but the scenario had not occured to me before. Have we ever failed a game for not-all-ages-appropriate box art/description/title? Would this apply to screenshots?
Just throwing this out there. I'm certainly not looking for another reason to fail a game -- just looking for clarity on the few guidelines Microsoft has provided us.
Check our website: www.kindling-games.com. Contact us: contact@kindling-games.com. Play our game: Hieronymus Bash - Super cute apocalyptic dodgeball.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
Re: My little "evil" checklist for peer review stress testing...
|
@Kindling: I've changed the wording to "Misrepresentation of the game or promotional materials that are not appropriate for all ages (screenshots, box art, etc.).". I think that should do it. And yes, I think this also applies to the screenshots. I applies to all the promotional material. The reason is, that XBLCG games are unrated. As such, they can not be started by someone who has a restricted child account (for example). However, the promotional material (icon, box art, screenshots) is visibile to everyone on Xbox LIVE, even restricted accounts. Therefore it must be appropriate for all.
@DecapodStudios: That's a good one! I've updated the test case 9 accordingly and also added this as a new Caveat 4 (to better explain the background, similar to what I did for the float-parsing). One question: Do you happen to know which language setting causes the non-breaking space to be used as the thousands separator? I know it's not German (we use "." instead, i.e. what is "1,234,567.33" in the US is "1.234.567,33" in Germany).
Doc
|
|
-
-
- (821)
-
premium membership
-
Posts
179
|
Re: My little "evil" checklist for peer review stress testing...
|
Spyn Doctor:Do you happen to know which language setting causes the non-breaking space to be used as the thousands separator?
Russian does that for sure, that is how I found this bug in my code. Funny thing that Russians use "." for thousands separator too, just like in Germany, but for some reason Xbox sets thousands separator to "non-breaking space" and not to "."
So, may be if you change language to German you will see "non-breaking space" too. I'm not near my xbox now, but I will check German language later today.
But again, setting language to Russian will cause thousands separator to be "non-breaking space" (and as a side effect it will switch Gears of War 2 UI to Russian too.... at least the characters continue speaking English :)
Regards.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
Re: My little "evil" checklist for peer review stress testing...
|
Thanks. I added the "Russian" info to test case 9.
BTW, if set to German, the Xbox does not use the non-breaking spaces, but the German standard ".". I know, because I'm using formatted output with thousands separators in one of my games and checked that it correctly uses "," when set to English but "." when set to German.
Doc
|
|
-
-
- (821)
-
premium membership
-
Posts
179
|
Re: My little "evil" checklist for peer review stress testing...
|
Spyn Doctor:Thanks. I added the "Russian" info to test case 9.
BTW, if set to German, the Xbox does not use the non-breaking spaces, but the German standard ".". I know, because I'm using formatted output with thousands separators in one of my games and checked that it correctly uses "," when set to English but "." when set to German.
It is worth noting that XBox locale setting does not affect string formatting, only XBox language setting does. So you can set locale to US\ Canada and language set to Russian, and thousands separator will still be "non-breaking space".
Here is link to MSDN article explaining Locale\Languages settings and their effects for XNA on XBox:
http://msdn.microsoft.com/en-us/library/bb975829.aspx
Regards.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
|
Big Daddio:require a signed in player but then allow the game to be started with a non signed in controller (I guess that would be confusing and frustrating)
I'm trying to decide if this is something to add to my evil list, but I'm not 100% sure I understand what you mean. Could you please elaborate?
Doc
|
|
-
-
- (821)
-
premium membership
-
Posts
179
|
Re: My little "evil" checklist for peer review stress testing...
|
DecapodStudios:BTW, if set to German, the Xbox does not use the non-breaking spaces, but the German standard ".".
I did more research on this and checked my game with every language available on my Xbox. The only languages using "non-breaking space" for thousands separator are: Russian, Polski and French.
Are all Xboxes support same set of languages? I mean XBOX Live is supported in other countries like Sweden, but I don't have an option to set my XBOX to Swedish (is that spelling correct?) language. I guess PAL XBOXes can do that. So there are probably other languages that use "non-breaking space", I just can't set my XBOX to any other languages.
Here is list of all languages I tried: English, Spanish, German, Italian, French, Portugeese (Brazil), Russian, Polski and 3 other eastern languages, I guess those are Chineese, Korean and Japaneese.
PS. I probably misspelled few country names\languages in here. No offence of any kind.
|
|
-
-
- (821)
-
premium membership
-
Posts
179
|
|
Spyn Doctor: Big Daddio:require a signed in player but then allow the game to be started with a non signed in controller (I guess that would be confusing and frustrating)
I'm trying to decide if this is something to add to my evil list, but I'm not 100% sure I understand what you mean. Could you please elaborate?
Doc
I guess he means this:
- Live enabled profile is signed-in on controller 1.
- No profile is signed in on controller 3.
Game should be playable on controller 3. If not - fail. I do that a lot during reviews.
|
|
-
-
- (11433)
-
premium membership
-
Posts
1.251
|
|
It should be noted that SpriteFont doesn't crash anymore for characters not in the font. This doesn't mean that it magically works now, if there is no character, then there is no character. Just that a crash isn't going to happen.
Patrick
Now in Peer Review: Avatar Casino Slots #1Star Gaming Network SGNGames.com patrick@sgngames.com
|
|
-
-
- (11433)
-
premium membership
-
Posts
1.251
|
|
Star Gaming Network:It should be noted that SpriteFont doesn't crash anymore for characters not in the font. This doesn't mean that it magically works now, if there is no character, then there is no character. Just that a crash isn't going to happen.
Patrick
Or not,
MatthewM:I had to fail it.
If you enter a high score name using some of the symbols, whenever you go to the high score menu after that the game crashes with a Code 4. This most likely means your font does not support the entire range of characters the 360's onscreen keyboard can input, and is not setup to check that names use only the characters supported before attempting to draw the name.
guess it is still happening.
Now in Peer Review: Avatar Casino Slots #1Star Gaming Network SGNGames.com patrick@sgngames.com
|
|
-
-
- (12538)
-
premium membership
MVP
-
Posts
8.749
|
|
It could be the old issue or it could be that some of those symbols don't even fall into what SpriteFont accepts (such as the MS Points icon which is one character you can type on that keyboard). I'm fairly sure they added a default character to SpriteFont, but perhaps you have to consciously change the .spritefont file to specify the value or it crashes? I haven't played with it extensively since I didn't need to, but that might be something to consider.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
|
DecapodStudios:I guess he means this:
- Live enabled profile is signed-in on controller 1.
- No profile is signed in on controller 3.
Game should be playable on controller 3. If not - fail. I do that a lot during reviews.
I'm not sure that's what he means, because I don't think that's a valid fail reason. From the review rules, I see no way to deduce a requirement that all XBLCG games must be playable even without a signed in profile. It isn't mentioned explicitely in the rules, so the only grounds for a rejection could be the "confusing/frustrating" rule. But that one doesn't hold either:
I just made a quick (although probably unscientific) study and took a random selection of 7 XBLA games from my collection and checked if they would allow me to play them with a controller that does not have a profile signed in: Braid, Carcassone, Hexic HD, Kingdom of Keflings, Peggle, Pinball FX and Zuma (a selection that includes both old, medium-old and new titles). Not a single one allowed me to play without signing in. Even though I didn't test further, I think it's a safe guess to say that almost all (if not all) XLBA games require you to be signed in.
Now, how could something be "confusing/frustrating" enough to merit a failure, if players are used to it from (almost?) all XBLA games already?
So as I see it, a failure because you can't play without a signed in profile is an unjustified failure.
Doc
|
|
-
-
- (17290)
-
premium membership
MVP
-
Posts
11.454
|
|
There have been games that look for a signed in controller and default to that one so in the above example #3 will simply not work. Other games crash when you run them with an unsigned controller or crash if you sign out during a game becuase they assumed that forcing a sign in at the start means you are always signed in.
I dont think we have failed any games becuase they won't let you play with an unsigned controller. Some games demand you log in on the controller in use, which personally I dont like, but that IMO is not a fail reason. However not allowing a controller to be used becuase it happens to be logged out would be a failure becuase it appears that the game has hung. e.g. start game with #3, controller is useless.
Play Kissy Poo - a game for 4 year olds on Xbox and windows The ZBuffer News and information for XNA Follow The Zman on twitter, Email me Please read the forum FAQs - Bug/Feature reporting Don't forget to mark good answers and good playtest feedback when you see it!!!
|
|
-
-
- (821)
-
premium membership
-
Posts
179
|
|
Nick Gravelyn:It could be the old issue or it could be that some of those symbols don't even fall into what SpriteFont accepts (such as the MS Points icon which is one character you can type on that keyboard). I'm fairly sure they added a default character to SpriteFont, but perhaps you have to consciously change the .spritefont file to specify the value or it crashes? I haven't played with it extensively since I didn't need to, but that might be something to consider.
The default sprite fonts created by XNA Game Studio have "DefaultCharacter" line commented out in them. They also have 32-126 character range by default.
<!--
If you uncomment this line, the default character will be substituted if you draw
or measure text that contains characters which were not included in the font.
-->
<!-- <DefaultCharacter>*</DefaultCharacter> -->
<!--
CharacterRegions control what letters are available in the font. Every
character from Start to End will be built and made available for drawing. The
default range is from 32, (ASCII space), to 126, ('~'), covering the basic Latin
character set. The characters are ordered according to the Unicode standard.
See the documentation for more information.
-->
<CharacterRegions>
<CharacterRegion>
<Start> </Start>
<End>~</End>
</CharacterRegion>
</CharacterRegions>
[Edit] BTW what is default character for bitmap fonts created by TTF2BMP? How can one specify default character for bitmap font?
[Edit2] Looks like default character for bitmap fonts is null and exception is still thrown.
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
|
The ZMan:There have been games that look for a signed in controller and default to that one so in the above example #3 will simply not work.
Thanks for the clarification. I've added this as another sub-case for test case 1:
c) Have controller 1 switched on, with your CC-profile logged in, and no profile logged in on controller #2. The game must not simply ignore controller #2 in this situation, but must still allow you to play with controller #2 (but may ask you to login a profile on #2 first).
The ZMan:Other games crash when you run them with an unsigned controller or crash if you sign out during a game becuase they assumed that forcing a sign in at the start means you are always signed in.
The former is then also covered by this new 1c), while the latter was already covered in case 2.
Generally though, I think it's probably better if we keep the list relatively clean and not clutter it with all kinds of special sub-cases. I fear that if there's too much clutter on the list, people will simply stop using it. Also, too many cases and sub-cases may give the impression that the list is actually a complete list, which may cause people to think, that as long as they cover all cases on the list, they are guaranteed to pass review (which is of course not so). Or it could cause reviewers to stop being creative and finding test cases of their own, which may be more applicable to a given game.
Because of this, I've now also added the following note:
Note, that these test cases are meant as a guideline and inspiration only, as a basis for your own testing procedure. They are not meant to be followed slavishly and are not meant as a complete set of tests. A game may very well fail review even if it passes all tests mentioned here, if the reviewer finds some other problem! So be creative when testing and don't rely solely on this list!
Doc
|
|
-
-
- (4343)
-
premium membership
-
Posts
1.075
|
|
I noticed that every now and then there seem to be cases where games are failed for reasons that do not actually merit a fail according to the rules and how they are interpreted by community consensus. Usually by beginner reviewers who misinterpret or misunderstand the review rules. The game-play related fails of Shed (or was it Classicard?) and Pirate Cubes come to mind, and recently Planet Crashmania 9,000,000 was failed for not pausing when the Guide is open and Slottso Party for taking too long to load. Also every now and then in play test people warn developers that requiring a signed in controller or requiring a storage device could cause a failure in review (which I think would be invalid fails).
So I've tentatively added a section with "Things you should NOT fail a game for" to my evil list with items that I think there is a community consensus about that they are not reasons for a failure.
Please have a look if you think that something like this should be included in the evil list in the first place, or rather not (if there's a majority saying that this shouldn't be in the evil list, I can remove it again).
Also if you've got any feedback about the issues I included in that list (am I out of line with any of these?), it's certainly welcome!
Doc
|
|
|