30 Apr 2009

Clover Would Be Out Now...

...If it wasn't for a framework bug in Microsoft's XNA, and what I consider to be a flawed approvals process, which results in me having to sit on my backside for a week completely unable to make any progress.

All Xbox LIVE Community Games are required to pass peer review by other developers before getting to market. If a game crashes in any way it gets failed, and rightfully so. The problem comes because a whole heap of community members (who can only be described as utter idiots) kept resubmitting games for review with the same bugs in. As a response, a vocal portion of the community suggested that if you fail review, you have to wait seven days before being able to submit again.

So there I am, coding up to 16 hours a day, finishing the game up. I've played it through over 50 times, without seeing any crashes. I submit it to peer review, and a couple of testers leave Clover running whilst eating their dinners. When they return, the game freezes. After digging around a little, I find it's an issue with the XNA framework - I'm using the code as it's supposed to be used, but it causes freezes.

I pull Clover from review, and immediately fix the issue by placing two whole forward-slashes in the appropriate place. It's not in anyone's interests to have games out there with bugs. I then discover that because I try my darndest to maintain high standards, and because of a flaw in Microsoft's code, and because of a load of process-abusing idiots in the community, I (and all of you) have to wait a further seven days before I can even submit Clover to review again.

I could have left the game as it was, and hoped that no-one noticed. Instead I did the right thing and pulled it, and thus I get punished for a bug in someone else's code. I've already started a discussion to find a more fair solution than seven-days-jail, and it looks like a fair few people support that.

What was the bug? Calling SoundEffectInstance.Dispose() explicitly. One might go as far to say it's best practice to dispose of heavyweight resources when you're done with them. Unfortunately, this causes complete system freezes, fixable only by hitting the off switch.

When will Clover be out? Who knows. The review process (which itself lasts a few days) will commence again on Sunday, all going well. Knowing my luck some obsessive tester will fail it again for crashing whilst using a guitar controller whilst yanking out the hard drive and hitting the 360 with an axe.

10 comments:

Richay said...

At least you have another week for more polish.

And believe me, 50 times playing your game is not enough of a test (I work in games testing...)

Deejay said...

Hehehe, you're right - I did a spot of QA at Codemasters in the 90's, and I remember the poor testers having gone nearly insane at 6 weeks of Pete Sampras tennis!

Anonymous said...

The review process could be using tickets, you could have two tickets each week, for example..

Matthew Doucette said...

Good luck with your game... thanks for mentioning the bug. I'm going to check our game for it.

Jason Doucette said...

Thanks for the blog post. I've run into numerous issues with the sound code in XNA for Duality: ZF. I've needed to simply not use certain functions because they are flawed, and cause slowdown. No crashes YET, but I'll have to do some stress testing to see. Best of luck with the game, and I agree the whole review process stinks, and it's because of the idiots taking advantage of it. :(

Simone said...

Well, sorry about that... but your game looks really interesting, I'll probably get it as soon as it's released!

Simone

Xristine Faulkner said...

Someone once said there's no such thing as a foolproof system because fools are so ingenious. Although I don't think users are fools, I do think they are ingenious and will do things we least expect. That's what so interesting about developing things for people. One of my friends used to work for a well known car manufacturer (when there were car manufacturers) and he told me once that his team used to yell at him for thinking of what they called bizarre combinations. When he explained them to me, I thought there weren't bizarre at all and I could easily imagine *someone* doing them. So, yes, test, test, test and test some more. When the product is finally released you know that you tested everything you could think of and some stuff that other people thought of that you didn't think of. That way it has a much better chance of being stable in the real world. I can't offer to review because I don't have Xbox and as I'm an 'Oblivion' and BG freak who loves mods I can't imagine going down the console route just yet... The trailer looks cute though... :-) If there was something on PC then yes I'd offer but I don't want lessons in anything that means I stand a remote chance of breaking some part of me...

I'm just hoping I've guessed who you are correctly - if not why on earth follow me on Twitter :-P

Stu said...

Congratulations on being a publisher developer!

Benjamin said...

You're complaining about the system, but it works, and the fact remains that buggy software was sent for approval only to be rejected by the measures in place. Yes, I can see you're frustrated that a bug appeared which you think is not an error on your part, but that's no excuse.

I'm currently enjoying my bug-free Clover, though I'm starting to tear my hair out trying to figure how to solve the gunpowder store puzzle. None of my items seem to have any effect on the storekeeper, and if I were to take the blindness hint that I can race to grab the item in the next room, the knights always bust me before I can reach it. Hmm....

Nice game thus far. The UK:R bit sold it to me. My only complaint is what I find is a very annoying and limiting inventory system.

Dave K (Point A Games) said...

Just played the trial of your game. Well done, definitely the best community game out at the moment - Top quality. Loved the hidden Dreamcast and reference :)