Getting DPad Input from Thumbsticks in XNA – The Right Way

If you want to simulate 4-way DPad movement with the left or right analog thumbstick in XNA, my advice is to never use Buttons.LeftThumbStickUp, etc. This is because the default behavior doesn’t take into account the dead zone for the stick, which varies from controller to controller.  (The dead zone is the location near the center of the stick position, where it won’t send any movement value to the Xbox.)

You might test on a controller with a large dead zone and have no problem, then someone else will play your game with a very small dead zone, and they will find the control “sticking” in that direction.  I’ve had some controllers where the dead zone was so precise, I could have my thumb off the joystick and it would still be transmitting a tiny movement value.

I suggest adding a large dead zone, to make sure you only get simulated DPad input for large, deliberate movements of the analog stick.  Here’s some code that works for me, adjust as necessary to fit your control scheme:

static Buttons GetThumbstickDirection(PlayerIndex player, bool leftStick)
{
    float thumbstickTolerance = 0.35f;

    GamePadState gs = GamePad.GetState(player);
    Vector2 direction = (leftStick) ?
        gs.ThumbSticks.Left : gs.ThumbSticks.Right;

    float absX = Math.Abs(direction.X);
    float absY = Math.Abs(direction.Y);

    if (absX > absY && absX > thumbstickTolerance)
    {
        return (direction.X > 0) ? Buttons.DPadRight : Buttons.DPadLeft;
    }
    else if (absX < absY && absY > thumbstickTolerance)
    {
        return (direction.Y > 0) ? Buttons.DPadUp : Buttons.DPadDown;
    }
    return (Buttons)0;
}

Escape Goat Featured in “Best of 2011″ Lists

ArmlessOctopus - The Top Xbox Live Indie Games of 2011

“It’s the kind of game where the answer is always right in front of your face, even if it takes a few frustrating failures to find it.”

HiddenAudioLog - Xbox Live Indie Game of the Year 2011:

“Escape Goat is the definition of a complete package, and is borderline flawless at what it sets out to achieve. That’s why Escape Goat is not only Hidden Audio Log’s Xbox Live Indie Game of the Year of 2011, but probably the best Xbox Live Indie Game ever.”

Destructoid - Manasteel’s A Better List than Microsoft’s “Best of 2011: Indie Games”:

“Escape Goat is from the same creative developer that gave us the Soul Caster titles. The game offers the players a lot as a puzzle based platformer, especially once you create your own puzzle rooms. As a Goat, you have to escape your persecution with the help of a rat, a magical hat, and a lot of planning. It’s shocking what one single developer can create and this is indeed a good game. “

Gamecritics.com - Brad Gallaway’s Top 10 of 2011:

“What do you get when you combine a barnyard animal, a wall-climbing mouse and a magic hat? A damned good puzzle game.

IndieGamerChick – Top 10 of All Time (#2 spot):

“It’s clever, punchy, and controls absolutely flawlessly.  It hits all the right notes for what a puzzle-platformer should be.”

Gamezone – Best Xbox Live Indie Games of 2011

“It’s an innocent premise aided by some fantastically clever puzzle-solving gameplay.”

Gamasutra - Best of 2011 – Top 5 Overlooked Games (Honorable Mention)

NeoGAF users seem to like it as well.

 

More Fan-Made Escape Goat Levels from ZDWario!

User-created levels from Escape Goat fan ZDWario!

Magic Seal Pelts Follow-up: First Week After Price Drop

One week ago, on December 13, I dropped the prices of my first two games, Soulcaster and Soulcaster II, to coincide with an article I wrote for IndieGamerChick (later picked up by Gamasutra).  The short story is that Escape Goat wasn’t selling as well as I hoped, and my hypothesis was that it was because it was priced at 240 MSP instead of 80 MSP.  The sales figures are finally in, so I can report what’s happened so far.

Bottom line: the price drop resulted in a staggering increase in revenue. Let’s take a closer look, starting with how things were selling in November to establish a baseline.

November 1-30 2011 Sales (30 days):

Game Trials Sales Conversion Daily Net
Soulcaster 115 39 34% $2.73
Soulcaster II 76 18 23% $1.26
Escape Goat* 2686 515 19% $37.29

*Escape Goat has much stronger numbers because November was its release month. Take a look at how the daily revenue has tapered off in its second month:

As you can see, the revenue from the Soulcaster games was barely covering my rent at the coffee shop.  So let’s see what happened in the week since the price drop:

December 13-19 2011 Sales (7 days):

Game Trials Sales Conversion Daily Net Net Change
Soulcaster 63 142 225% $14.20 +520%
Soulcaster II 80 86 107% $8.60 +680%
Escape Goat 117 52 44% $15.60 -237%

The numbers speak for themselves.  I also brought in some charts to give this post a bit more visual impact:

Escape Goat:

Soulcaster:

Soulcaster II:

The most shocking stat for me is the conversion rate.  For both games it jumped above 100%.  This means more people are buying the full version than are trying the demo first.  One explanation for this is that fans of one game buy the second one sight-unseen, perhaps through the new “related games” links.  The games are similar enough that if you like one, you’ll probably like the other.  But outside of those purchases, I think it really speaks to the power of the 80 MSP in terms of impulse buying.  Customers are grabbing the full version without trying it out first, because, “hey, it’s only 80 MSP.”

Edit: As pointed out to me by Ben Kane, Alex Macfarlane Smith, and Paul Thomas, the “over 100%” conversion might be from customers who had previously downloaded the trial, rather than trying the game on the purchase date.  Thanks guys for noting this.

I know, it’s early to call.  Just one week of data, and who knows, it could all collapse over the next couple weeks.  Maybe a chunk of these sales are the result of the publicity my price drop got.  To know for sure, we’ll just have to wait.

To summarize:

  1. After dropping the price, sales went up 12-fold, driving daily revenue up five-fold.
  2. I’m making nearly as much off Soulcaster, a game that’s been out over 20 months, as I am off Escape Goat, which is only in its second month and should be in its prime for sales.
  3. The dashboard update seemed to have little effect, since it went into effect a few days before the price drop.  And notice how it did not impact the sales or downloads of Escape Goat.

I’ll post another update after some more figures come in.  But so far, 80 MSP seems like the right price for these games.  It’s great to be making money with them again.  I can’t wait until February when I can drop the price on Escape Goat as well.

Tales from the Dev Side… and a Price Drop

Soulcaster and Soulcaster II are now 80 Microsoft Points!  Yup, just one US dollar.

This is part of a pricing experiment.

Read more in my guest editorial at IndieGamerChick, including juicy sales data!

Kids React To…

Page 1 of 1812345»10...Last »