Monday, 10 January 2011

Team Mango Dev Diary

It's been ten months since the release of Dysnomia, and I had hoped to have at least one more game out on the Xbox Live Indie Games service by now. 2010 proved to be a busy year outside of games development (which is only a hobby for me, after all) and time has been short. Now I'm back to a regular schedule, I have a list of projects that I intend to finish this year:

  • Run! to be released on XBLIG shortly
  • Game 4 (still untitled!) on Phone 7, and XBLIG shortly after
  • Game 4 on Windows
  • Dysnomia on Windows
  • and lastly, Dysnomia on Phone 7 (still tentative)
So that's six releases of three games on three platforms. The only real tall order is getting Dysnomia working well on the phone. There's currently some framerate hitches that I'm assuming are garbage collections, so more optimization to do on that front.

I'm wrapping up Run! this week, there's less than a month to go before XNA 3.1 games are no longer valid for submission on XBLIG, and I'd rather not spend the time to port to XNA 4. The game's been the best part of ready for several months, with just a couple of levels to finish and some pre-submission tests to run through. I'll be glad to get this one out the door!

Things are progressing well on Game 4, the first RPG game I've attempted. Basic melee combat is in and generally feels nice to play. As Game 4 is being developed simultaneously for all three XNA hardware platforms, I'm taking the time to ensure a solid user experience no matter what the control method. For instance - while nothing is set in stone as yet - the movement and basic attack controls are mapped as follows:

Movement - Xbox: Left stick Phone 7: Single-tap Windows: Left click
Attack - Xbox: A button Phone 7: Double-tap Windows: Right click or double click

For what will be the equivalent of "magic" attacks, the Xbox version will make use of the other three main buttons, which will be player-assignable in a method similar to Deathspank. On the phone and Windows, the UI will make use of tapable/clickable icons for quick access to three user-definable "spells". The Xbox version will use auto-targeting for ranged attacks, whilst on the phone and windows the player will be able to click an enemy to fling a "spell".

We're still developing the storyline and game mechanics, so I can't yet explain the reason for the quotes when talking baout "magic". Suffice to say, the game doesn't make use of regular fantasy-RPG magic. Whilst some attacks will be familiar, others will be completely ridiculous. Hopefully in a funny way!

I've started work on a WPF application to help with editing the conversations that occur between the main character and the NPCs in-game. I love the rapid development environment offered by VS 2010/C#/.NET. Just being able to slap a new application into your game solution, quickly knock out an interface, write some codebehind and bam! a functional tool that will save so much time compared to writing out the XML content by hand.


At the moment, it simply serializes a list of conversation steps to an XNA content XML file that is read in and deserialized in the game. It will become more complex as the quest system gets added, with specially marked steps to control the flow of conversation according to the completion status of associated quests.

And, just to wrap up, a quick video of the first iteration of the conversation screen:


Monday, 3 January 2011

WP7 Games and the Dreaded Search Button

Happy twenty-elephants! I hate to start the new year with a rant, but I figure why not get it out of the way now, so I can concentrate on some more constructive posts for the rest of the year. Besides, I've only really found how awfully annoying the subject of this rant is over the holidays, as I spent quite a bit of time gaming on my Samsung Omnia 7.

You see, the Omnia 7 has a capacitive search button. The WP7 search button is one of the three hardware face buttons required by Microsoft's hardware specifications for the Phone 7 OS. The Omnia 7 isn't the only phone with capacitive back and search buttons. It's the capacitive nature that means they can be accidentally swiped fairly easily, especially during more frantic gaming moments.

Unfortunately, the default behaviour of the search button is to open up Bing search, even if you're right in the middle of a game. In itself, this wouldn't be so bad if you could simply hit the back button to get back to where you were in game. But due to the application lifecycle on Phone 7, the game you were playing is quickly closed down in the background. The Phone 7 SDK provides ample tools for developers to deal with such situations, but unfortunately - as I wrote about in a previous post - not all developers take the time to make their games behave. As a user as well as a developer, this is extremely frustrating.

So I thought I'd take the time to name and shame some of the games that don't do enough to get the user back in the game as quickly as possible after accidentally hitting search, answering a call, or dropping out to the home screen. And, because I like to be positive as often as possible, I'll also highlight the games that do tombstone correctly.

All of the games I've tested here are full purchased versions of Xbox Live enabled games. This means they are published either by Microsoft or a third-party partner. I test by getting into the game, hitting search, waiting a few seconds, then hitting back.


Puzzle Quest 2
Quite frankly, this is the most disappointing game on the list. I love Puzzle Quest, I've got the game on XBLA as well. The game runs like a dog on Phone 7, with a framerate that looks to be barely in double-digits. The complete lack of tombstoning is the straw the breaks the camel's back. You could be almost at the end of a 5 minute battle and have to put the phone away - and you're completely screwed. Attempt to resume the game, and not only do you have to sit through the splash screens again, you've also got to navigate the menus. The game does save your position in the overworld, but you lose all progress on the battle you were fighting and that, my friends, is highly annoying.


Rocket Riot
A great game that almost gets the tombstoning right. The game resumes with a single loading screen, and gets you right back into the level you were playing. Unfortunately, you have to start the level again and that can be a little frustrating especially in the latter levels where you are required to kill 40+ enemies in a match that could last a few minutes. Close, but no cigar. Just save out the current score, Codeglue guys, and you'll have a winner.



The Harvest
One of the original line-up of games that got some tech sites noticing the tombstoning problems early. I really like The Harvest, but as I went to test it again for this post I'm having serious problems with it. It no longer wants to load or continue games, either from resuming after tombstoning, or from a fresh boot. I even turned the phone off and back on again to clear it out and still no dice. This means I can no longer load or continue my saved game. It never used to be like this, but even when it did all work there were major issues with coming back from tombstoning including multiple splash screens and excruciating load times. Seriously in need of a patch.

Fruit Ninja

Well done to Halfbrick for nailing it. I guess all the time spent developing XBLIGs and adhering to the Evil Checklist rubbed off, as they actually seem to care about the end user experience. Either that or they got fed up of accidentally swiping the search button in playtest! Fruit Ninja resumes perfectly, getting the user quickly back into the game with all the fruit on-screen where they were left. The game's even paused for good measure. If I had to nitpick, I'd say the MGS splash screen is unnecessary - but I have a feeling it's required by Microsoft. If that's the case then they should have an "except in the case of resuming from tombstoning" clause.


Flight Control
Another one that gets it right, save for a couple of unnecessary splash screens. Seriously, if you're coming back from tombstoning, you don't need to let the user know who you are again. Chances are I've already seen your company logo once today. That aside, Flight Control gets you right back into the game with all the planes onscreen where they were left, and your score intact. As with Fruit Ninja, the game comes back to the pause screen, which is perfect.


So there you have it. Two out of five of the games I've purchased behave satisfactorily after I accidentally mash the search button. In time, I expect all the Xbox Live enabled games will pay attention to this vital part of the user experience. Until then, please patch PQ2!

I promise that's the last I will post about tombstoning for oooooh, at least a month. Next monday will be a Team Mango games status update, with a couple of videos of Game 4. Maybe we'll even have a title for it by then!