XNA Creators Club Online
Page 16 of 16 (395 items) « First ... < Previous 12 13 14 15 16
Sort Posts: Previous Next

Evil Checklist Discussion thread.

Last post 11/17/2009 4:56 PM by Jim Perry. 394 replies.
  • 11/3/2009 10:44 PM In reply to

    Re: Evil Checklist Discussion thread.

    Regarding the most recent requests to add this-and-that special case / edge case to the evil list:

    Even though the evil list has long ceased to be "my evil list" and has since evolved to be the "community's evil list", I still feel a bit of fatherly responsibility for it ;-), so I seem to post this here every few months, hoping to get my "baby" on the right path again... :-)

    The evil list can not be - and should not attempt to be - a complete list of all cases that lead to a failure. If the list becomes too fine grained, specifying and describing every single special case and edge case, then this will have three effects, all of which will be detrimental to the review process:

    First, developers will start to assume that everything they need to test for is described on the evil list. So they will start to test only the cases on the evil list, thinking that if they pass all tests, their game is guaranteed to pass review. They will stop being creative and testing the myriad of possible test scenarios that the evil list can never cover (even if it would attempt it). So we would soon arrive at a point where a developer thinks he has fully tested his game and in reality is overlooking serious problems, simply because the problems are slightly different than the examples given on the evil list. And worse, if such a developer then fails peer review for such an overlooked problem, he may be of the opinion that the fail was incorrect - after all, the evil list didn't mention it, right?

    Second, peer reviewers will start to assume the same, i.e. that all necessary test cases are already described on the evil list, so they will only ever test those cases, but never any other possible error scenarios. So they will pass games thinking they tested them well, when in reality they didn't.

    One might think that the solution to both problems would be to add more and more test cases to the evil list, and make it more and more specific. I don't think so, because then we will at some point encounter the third detrimental effect:

    At some point, the list would become so overburdened, lengthy and detail obsessed (rivaling the XBLA TCRs), that it would become useless because it would be too hard to use - and people would start ignoring it. That's a typical danger of bureaucracy - once you start making rules, there's always arguments for adding more rules (and often those are very sensible arguments, so everyone thinks it's a good idea). Up until the point where the rules smother the process and everything either grinds to a halt or the rules are thrown out as a whole to start over from scratch.

    We should be careful not to bloat the evil list to that point!

    Instead, remember that the evil ist is not a complete list! It intentionally is not complete! In the very introduction of the list I wrote:
    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!

    and I think this should still be your guide when working with this list.

    Now with that in mind, look at test case 1 which, in my opinion, has already become bloated in this fashion: It deals with multiple controller support and originally had only 3 sub-cases: 1a)-1c). (Now we have 1a)-f) and funnily enough an additional 1d) and 1e) for multiplayer scenarios - so 1d) and 1e) are actually present twice).
    The original test case for multi-controller scenarios was two simple sentences:
    Start the game with the second (or third/fourth) controller. Verify that the game is playable in various scenarios

    and this test case then continued with the phrase "for example:" before the sub-cases a)-c) were listed, which in turn closed with the phrase "...or other multi-controller scenarios...".
    See what I mean? The test case was intentionally vague, simply giving a few short examples for possible multi-controller scenarios to illustrate it's meaning. With the intention, that you, as either the developer or peer reviewer, would realize that you have the responsibility of coming up with possible multi-controller test-scenarios yourself.
    Since then sub-cases d)-f) have been added, including such a detail (down to technical implementation level) that there's an impression of completeness and exhaustiveness - which of course is only an illusion. Resulting in less motivation for the developer/reviewer to think about possible scenarios that are not listed (and there are still a lot! - the recent problem with a controller grabbing a profile from another controller just being one of them).

    So I postulate: Instead of thinking up more and more sub- and edge-cases to add to the evil list, we should become more aware that the evil list is only a guide, but that the responsibility of thinking up suitable test cases (for our own games or those we review) is still our own!

    Actually, while I'm on the topic of test case 1: 1d)-1f) aren't even test cases, but descriptions of possible pit-falls that you need to avoid as a developer. This mixes test-case descriptions with pitfall/caveat descriptions. In my initial version of the list I had attempted to avoid these mixes, which is why I had the additional "caveats" section after the "test cases" section.
    I think it would probably be a good idea to remove test-cases 1d)-1f) again and instead consolidate them into a new caveat description, and in test case 1 simply point to that new caveat, thus cleaning up the test case again. I'll do that, if there are no objections?

    Doc
    Please consider playtesting my game: Your Doodles Are Bugged!

    Twitter - My Game Trailers - www.spyn-doctor.de - Games: Kuchibi, Golden Tangram

    Useful for peer reviews and testing your own game: My little "evil" checklist for peer review stress testing
  • 11/3/2009 10:51 PM In reply to

    Re: Evil Checklist Discussion thread.

    I can understand your reluctance to fail on that count, but we just have to trust in the reviewers to test within the rules and do whatever's most appropriate.  Currently, my game DOES crash a lot, but I'm going to be as sure as I can be that it doesn't crash AT ALL before I go to playtest.  I know it's difficult to test to that extent, especially when you're so familiar with the game and any quirks it may have, but that's my target.  If Space Pirates goes well I might be able to wrangle doing this full time (don't worry, I have a safety net!) so I absolutely HAVE to be sure it's as good as it can be within constraints of time, production budget and my ability.  If my ability falls short, then I have to cut the feature that's causing the bug or find a better way to do it.  User removal of storage device I agree with you on, but hey that's now the rule, and users get up to all manner of monkey-shine.  This is one bit of monkey-shine we CAN protect the player and our games from by judicious try/catch blocks or whatever.  It didn't take me long to implement and test really so that's one more thing off the list for me.  Anyway as you progress from one project to another, you'll find yourself building that kind of resilliance in from the start.  Maintain a library of reusable code and you can update your older games to reflect your improved skills and techniques with a minimum of hassle.

    Anyway I'm wandering off-topic.  I've always kind of leaned in the direction of "if I can make it crash there again, it's a fail" because we've all seen AAA and XBLA games bomb out once and not do it again.  But I wouldn't expect that from people reviewing my game.

    Regards,
    Mike
    Space Pirates Dev Blog and Space Pirates playtest Give a hoot - review a game!
  • 11/3/2009 11:00 PM In reply to

    Re: Evil Checklist Discussion thread.

    AMEN! Every game is different. I think the main testing plan should and used to be, play the game! Try to think of many different things that users might do, but most importantly, just play the thing. Play the heck out of it.
  • 11/3/2009 11:24 PM In reply to

    Re: Evil Checklist Discussion thread.

    Spyn Doctor:
    So I postulate: Instead of thinking up more and more sub- and edge-cases to add to the evil list, we should become more aware that the evil list is only a guide, but that the responsibility of thinking up suitable test cases (for our own games or those we review) is still our own!

    I agree, but it's nice to have a list of things that have been discovered by others. It decreases the chance you'll miss these things on your own. I think adding in big, bold letters "This list is not meant to be nor will ever be an exhaustive list of test cases. You must still test the heck out of your game for other possible issues." should help. :)
    Jim Perry - Microsoft XNA MVP
    If people spent a minute searching the forums and reading the FAQs before posting I'd be out of a job.
      Got some XNA Game Studio/XNA Framework development info to share with the community? Put it on the XNA Wiki.
        Please mark posts as Answers or Good Feedback when appropriate.
  • 11/3/2009 11:28 PM In reply to

    Re: Evil Checklist Discussion thread.

    Jim Perry:
    Spyn Doctor:
    So I postulate: Instead of thinking up more and more sub- and edge-cases to add to the evil list, we should become more aware that the evil list is only a guide, but that the responsibility of thinking up suitable test cases (for our own games or those we review) is still our own!

    I agree, but it's nice to have a list of things that have been discovered by others. It decreases the chance you'll miss these things on your own.

    I agree with that too. I see the "caveat-appendix" to the evil checklist in this role...

    Doc
    Please consider playtesting my game: Your Doodles Are Bugged!

    Twitter - My Game Trailers - www.spyn-doctor.de - Games: Kuchibi, Golden Tangram

    Useful for peer reviews and testing your own game: My little "evil" checklist for peer review stress testing
  • 11/4/2009 2:12 PM In reply to

    Evil checklist and signed in gamers

    I know this has been discussed on another thread, but I had receiving two conflicting answers regarding this on a review for my game and I would like to post this to get a final answer, and perhaps get the evil checklist updated.

    My game is an online only game, meaning a signed in player with gold is required to play. Should I allow or not allow a non-signed in gamer to use a signed in gamers profile to allow him to play from another controller? If i do not do this, I will end up requiring a player to either sign in or use the other controller. I don't want to fail for doing it for both ways from different reviewers, so I would like to see this officially updated if this has changed.

  • 11/4/2009 3:07 PM In reply to

    Re: Evil checklist and signed in gamers

    Raining Talent LLC:
    If i do not do this, I will end up requiring a player to either sign in or use the other controller

    Requiring a player to sign in is to be avoided in general, but is not grounds for a fail.

    See the No So Evil Checklist.

    If your game has valid reasons for requiring sign-ins, it is ok.
    Three colors, endless fun ... Primary Attack
  • 11/4/2009 3:18 PM In reply to

    Re: Evil checklist and signed in gamers

    Steve,

    the question is about the issue discusses here 2 pages back: should be allowed to "borrow" a Gold account from controller #2 to use it to allow the unsigned player on controller #3 to go LIVE mimicking the user on controller #2? The matter has been discussed 2 or 3 pages back in this thread and the vast majority see this as a straight fail (so do I). Have a look back to the discussion ;)

    Cheers,
    Pino
    My game * Astro Match3 * Second update in Playtest now!
    Forum XNA Italia - Linkedin - Twitter (Rarely) - Facebook
    Web XNA Italia - email contact - Messenger: g_defrancesco AT hotmail DOT com
  • 11/4/2009 3:26 PM In reply to

    Re: Evil checklist and signed in gamers

    PinoEire:
    Steve,

    the question is about the issue discusses here 2 pages back: should be allowed to "borrow" a Gold account from controller #2 to use it to allow the unsigned player on controller #3 to go LIVE mimicking the user on controller #2? The matter has been discussed 2 or 3 pages back in this thread and the vast majority see this as a straight fail (so do I). Have a look back to the discussion ;)

    Cheers,
    Pino

    Ah - my mistake - thought the post referred to a player signing in manually, not to an automatic sign-in to an account active on another controller.

    I agree, automatically grabbing another controller's signed in account (and signing out that controller) is a fail.

    Disregard my previous post ...

    [EDIT] where "automatically" means without a manual sign-out from the other controller and a manual sign-in on the new controller.
    Three colors, endless fun ... Primary Attack
  • 11/4/2009 4:39 PM In reply to

    Re: Evil checklist and signed in gamers

    Raining Talent LLC:
    My game is an online only game, meaning a signed in player with gold is required to play. Should I allow or not allow a non-signed in gamer to use a signed in gamers profile to allow him to play from another controller?

    As Pino said, the majority here says no, you should not allow this. For everything a player does, you should use the PlayerIndex of the controller that the player is using, never the PlayerIndex of another controller.
    Raining Talent LLC:
    If i do not do this, I will end up requiring a player to either sign in or use the other controller. I don't want to fail for doing it for both ways from different reviewers

    If a reviewer fails you because you require a sign-in, then this is an invalid fail. Point that reviewer to the "not so evil list of things we don't fail for" - it includes the item that requiring a sing-in is not a failable issue. Especially not for online games, were a sign-in is mandatory anyway.
    Raining Talent LLC:
    so I would like to see this officially updated if this has changed.

    See the newly created caveat #6 on the evil list.

    Doc

    Please consider playtesting my game: Your Doodles Are Bugged!

    Twitter - My Game Trailers - www.spyn-doctor.de - Games: Kuchibi, Golden Tangram

    Useful for peer reviews and testing your own game: My little "evil" checklist for peer review stress testing
  • 11/5/2009 12:49 PM In reply to

    Re: Evil checklist and signed in gamers

    Due to this can you force a player to sign out (displaying a msg to do so) to avoid them from being part of the network session if there are more than one profiles logged in when attempt to join a game?

    If you are NOT allowed to force a player to sign out, as developers what other steps have you taken to keep a multiplayer network game working, especially if you limited the local network players option to 1.
  • 11/5/2009 1:29 PM In reply to

    Re: Evil checklist and signed in gamers

    Raining Talent LLC:
    Due to this can you force a player to sign out (displaying a msg to do so) to avoid them from being part of the network session if there are more than one profiles logged in when attempt to join a game?

    If you are NOT allowed to force a player to sign out, as developers what other steps have you taken to keep a multiplayer network game working, especially if you limited the local network players option to 1.
    No, you can't. I'm going to post the proper algorithm answering you in the playtest thread ;)

    Cheers,
    Pino
    My game * Astro Match3 * Second update in Playtest now!
    Forum XNA Italia - Linkedin - Twitter (Rarely) - Facebook
    Web XNA Italia - email contact - Messenger: g_defrancesco AT hotmail DOT com
  • 11/6/2009 2:23 AM In reply to

    Re: Evil checklist and signed in gamers

    Not sure if this is the correct place to share my findings today...

    I have today discovered that to play a purchased XBox Live Indie Game, there always has to be at least one controller signed in to XBox Live.

    I didn't know this previously, and this isn't clearly indicated in the "Usage Restrictions" available prior to purchase on the market place.

    The "Usage Restrictions" stated that anyone can play the game on the XBox that it was originally downloaded to, but if transferred to an MU then the purchaser must sign into XBox Live.


    I have also found (by checking one of my prior purchases) that XBox Live Arcade Games can be played without a connection to XBox Live.


    Is this difference between XBLIG & XBLA a bug, or an intentional difference?


    [  My main concern here is with the potential loss of customers who only have intermittent XBox Live Access. ]

  • 11/6/2009 2:36 AM In reply to

    Re: Evil checklist and signed in gamers

  • 11/6/2009 8:42 PM In reply to

    Re: Evil checklist and signed in gamers

    If you have a gold profile signed in and also a silver profile logged in and try to find or join a network session get, you receive an error. Meaning I have to force players silver or offline to log out in order to continue. I have changed the code a million times to comply with these checklist items, but it seems contradictory. If literally cannot have a logged in profile that is silver or offline, how can I comply with keeping all players signed in? On top of that I was advised in my playtest thread I should ignore the input of other players and always allow 4 local players to prevent force signing out, but that is simply not possible then.

    You cannot designate a player index for who is playing, and it will always start the session with the first signed in player, etc.

    I know people have had network games passed, obviously, so can someone shed some light on this?
  • 11/6/2009 9:30 PM In reply to

    Re: Evil checklist and signed in gamers

    Raining Talent LLC:
    If you have a gold profile signed in and also a silver profile logged in and try to find or join a network session get, you receive an error. Meaning I have to force players silver or offline to log out in order to continue. I have changed the code a million times to comply with these checklist items, but it seems contradictory. If literally cannot have a logged in profile that is silver or offline, how can I comply with keeping all players signed in? On top of that I was advised in my playtest thread I should ignore the input of other players and always allow 4 local players to prevent force signing out, but that is simply not possible then.

    You cannot designate a player index for who is playing, and it will always start the session with the first signed in player, etc.

    I know people have had network games passed, obviously, so can someone shed some light on this?
    This is not the right thread for technical issues. At any rate ALL the LIVE games I've tested (and passed) were able to establish the link properly, and I test all the time in the same condition, first run I try to play from a non signed in profile; second run I log a local profile as well; third run I use the Gold controller to play having a local profile on the other controller. It works all the time properly.
    My game * Astro Match3 * Second update in Playtest now!
    Forum XNA Italia - Linkedin - Twitter (Rarely) - Facebook
    Web XNA Italia - email contact - Messenger: g_defrancesco AT hotmail DOT com
  • 11/6/2009 9:42 PM In reply to

    Re: Evil checklist and signed in gamers

    I thought since this was more of logical way of dealing with the evil checklist rather then a technical issue I posted here. I will post this on the proper forums then, I apologize.

    I would assume it would be possible, but unless I can be given a logical and workable solution from a member who has actually done XNA networking, it is of no help. Hopefully I can get a solution on the proper forum. Thanks.
  • 11/17/2009 2:50 PM In reply to

    Re: Evil checklist and signed in gamers

    Spyn Doctor:
    Raining Talent LLC:
    My game is an online only game, meaning a signed in player with gold is required to play. Should I allow or not allow a non-signed in gamer to use a signed in gamers profile to allow him to play from another controller?

    As Pino said, the majority here says no, you should not allow this. For everything a player does, you should use the PlayerIndex of the controller that the player is using, never the PlayerIndex of another controller.


    That's interesting. It made me think of Jon Watte's onlines scoreboard, which is the only online component of my game. It searches for the first signed in gamer with privileges for AllowOnlineSessions. It makes sense - It Just Works - and it's cool. I'd hate to see that discouraged or made less seamless just because it might be using the online privileges of a Gamer who's not currently playing. After all, if somebody doesn't want their Gamer profile to be connecting to LIVE, they should really sign it out.

    [EDIT] I just noticed you said "For everything a player does", so I guess that means stuff that happens under the hood is fine then?[ENDEDIT]

    On an entirely different note, I have a question about "Caveat 5: Using Guide.BeginShowMessageBox before PlayerIndex is known.". I've tried to handle all controllers and NOT require the user to "Press Start to Play". Instead in the menu system I poll all controllers and when I need to call Guide.BeginMessageBox (eg for when the storage selector is cancelled), I give it the PlayerIndex that last registered input. Therefore when I show the message box when multiple controllers are being used, It could be any of the controllers that will have control, but at least it should be one that is in somebody's hands. I just wanted peoples opinions on whether this is acceptable and not a failable issue?

  • 11/17/2009 3:37 PM In reply to

    Re: Evil checklist and signed in gamers

    Roonda:
    when I need to call Guide.BeginMessageBox (eg for when the storage selector is cancelled), I give it the PlayerIndex that last registered input.


    Aaargh. I think I'm going to have to change this. When I pop up the storage device selector automatically at the start, it works for all players. Then, if I disconnect the device, I show a Guide message box with the last active PlayerIndex... unfortunately if you pull the MU before using any controllers, it has no way of knowing which one was used during the storage selector :(

    The only way around this I can think of is to write my own message box that works for all controllers, or give up and tie those Guide message box calls to the player who presses start initially.
  • 11/17/2009 4:56 PM In reply to

    Re: Evil checklist and signed in gamers

    Roonda:
    tie those Guide message box calls to the player who presses start initially.

    That's that way to go IMO.
    Jim Perry - Microsoft XNA MVP
    If people spent a minute searching the forums and reading the FAQs before posting I'd be out of a job.
      Got some XNA Game Studio/XNA Framework development info to share with the community? Put it on the XNA Wiki.
        Please mark posts as Answers or Good Feedback when appropriate.
Page 16 of 16 (395 items) « First ... < Previous 12 13 14 15 16 Previous Next