DLC Quest and the Opposite Approach to Indie Development

(also posted to Gamasutra)

“If every instinct you have is wrong, then the opposite would have to be right” – Jerry Seinfeld

Last week, I launched DLC Quest. It’s my third release for the Xbox LIVE Indie Game Marketplace and it’s already outsold my other two titles. This isn’t quite a post-mortem, but I do have some thoughts to share about how I switched up my approach making the game. Enjoy!

First off, here’s a trailer so you know what I’m talking about.

Back? Good.

Last time I wrote here, I described how I spent six months on Lair of the Evildoer with minimal results. I decided that if I was to have any real success on the indie marketplace, I would have to change something about how I was doing things. I had a lot of ideas for experiments, so in true scientific fashion I decided to try out a bunch of them at once thereby preventing me from attributing any change in success to any one thing. Wait, that doesn’t sound right… In truth, you can never vary just one thing at a time since every game will be different anyway. Might as well mix it all up and see if anything sticks.

Dev time: One month instead of six months
This is probably the least controversial change to my approach. Spending six months on a game, especially without a ton of experience, is a big risk to take as someone trying to make a full-time job out of indie game development. It makes sense on a lot of levels to make smaller, more focused games. I didn’t hit my goal of one month development time, which was probably a bit optimistic, but I did manage to start and finish DLC Quest in under two months.

Make a press kit
Okay, this is a strong contender for the least controversial change. I had prepared press releases, box arts, trailers and screenshots before, but I never took the extra step of bundling everything up along with a basic fact sheet and some company info. You might not think you’ll catch the attention of a big journalist, but you better be ready if you do. My press kit has been downloaded about 30 times, which is 30 more times than my previous “nah, nobody will bother downloading this” estimate.

What’s better than being at the top of a dashboard list? Being on three of them.
Last time, I said that the ideal situation (as far as the dashboard is concerned) is to be at the top of the New Releases list during the Friday/Saturday rush. To do so, I released early on a Friday. One big downside was that it was incredibly difficult to get the attention of the press before everyone went home for the weekend.

So rather than releasing during the high point of the week, I released during a lowpoint – Wednesday. This gave my game chance to get some ratings and squeak onto the Top Downloaded list. So now instead of great placement on one list, my game had decent placement on New Releases, Top Rated and Top Downloaded. Not too shabby! It also gave me a chance to try and get some coverage, which peaked on Friday with an article on Kotaku.

Build on past efforts. Or don’t.
After spending six months making Lair of the Evildoer, I had a relatively robust twin-stick shooter slash RPG engine. The “wrong” thing to do would be to walk away from that and make a platformer instead. Which is what I did.
Now while this sounds a bit silly, it was driven partly by burnout. Sure, churning out a sequel or a spin-off would have been a safe and easy approach but being an indie developer is all about flexibility. I wanted to do something different, so I did. This kept me motivated throughout the project and was key factor in being able to be productive for a solid two months.

Games should have enemies, health bars and ways to fail
At one point in development, I realized that there was no real adversarial challenge in the game. The player had no enemies to defeat, no pits to fall in, and no spikes to impale themselves upon. As I started to think up ideas for enemies to add, health bar displays, and continue/retry mechanics, I realized that I was only going through the motions because those are aspects of similar games. They’re expected, they’re intuitive, but they’re not necessarily fun. DLC Quest was never meant to be a “normal” platformer – there would be nothing to gain by throwing in ways for the player to fail. I hesitate to say the game is more cerebral than others, but the driving force is really the desire to see the next obstacle and the next joke that comes with it. In the end, I simply chose not to add in mechanics that weren’t needed and I think it’s a better game for it.

If you can’t sell the game for what it’s worth, make it worth what it sells for
The Xbox Indie marketplace is notorious for having a big barrier to success at its $3 and $5 price points. Most games get a disproportionately small number of trials and conversions at anything above the lowest $1 price point. In Evildoer, I created a game that had a few hours of gameplay, along with enough random and procedural elements to give the game some honest replay value. But I was afraid to charge anything more than the bare minimum out of fear that it would be ignored entirely. Getting a few (or potentially “many”) hours of entertainment for one dollar is essentially unheard in most markets – with a notable exception of mobile markets. Even then, many of the larger games now sell for more than just 99 cents.
So if customers ignore games above 80 MS points, why not make the game worth what you can successfully charge? The plan from the beginning was to make a game that delivered a half hour to an hour long experience, nothing more. Obviously you can’t get away with making a paper-thin product, but you can deliver value that’s more in line with what you get in return. It’s tough to nail a short experience without leaving players feeling ripped off, but quality can make up for quantity. Feedback thus far has been very positive. Players have expressed a desire for more content while still saying that it was absolutely worth the price of admission.

Don’t talk about it
Last time, I devoted a fair amount of effort to blogging about development and making videos about how things were progressing. This time around, I didn’t even mention the game until it was essentially finished and ready to be reviewed. Surely this was madness! Perhaps, but I wanted to test the theory that titles on the Xbox indie marketplace are essentially unaffected by the buzz they garner on the internet. It goes against all intuition, but it felt like there was a grain of truth to it. Many XBLIG titles succeed by virtue of their boxart and ratings alone, prospering on the lists of the dashboard and remaining essentially unknown to the rest of the world.

Make a funny trailer
I almost made a bog-standard “gameplay and music, with features called out between cuts” trailer for DLC Quest. I caught myself starting to plan out the trailer without really thinking about what I was doing. I realized that if my game was meant to be funny, the trailer should be as well. In the end, I was really nervous about releasing it because of the approach I took. I still cringe whenever I see it, but the amount of positive feedback has been fantastic.

You can find check out my company Going Loud Studios at www.goingloudstudios.com and follow us @WeAreGoingLoud. I also keep a blog and a development twitter account of my own @benkane.

And now I’m going to go have a chicken salad sandwich and a cup of tea.

XNA on Windows 8 -gate

There’s been a lot of buzz from the BUILD Windows event about XNA not being available in the next version of Windows. Overall, there’s a huge amount of confusion and a lack of information.

Here’s a rough paraphrasing from the Q&A session of the “Introduction to DirectX-style for Metro style apps” (around 36min):

Question: You said XNA wasn’t immediately supported, but would you be able to take a Metro UI app, download a Metro UI project in C#, download XNA 4 and still be able to use it? Or would it just not compile/not work?

Answer: The bits for XNA aren’t really there. XNA is supported for desktop games, but for building Metro-style games you should use D3D.¬† We’ve brought some of the functionality that XNA has into the APIs for Metro-style apps and there’s a couple of talks on how to do things like audio and input. … But the “drop a project in”… that’s not something you can do.

Question: And just to follow up on that: since Windows Phone 7 supports XNA, is there going to be any future planned support for XNA? Perhaps in V2?

Answer: Yeah we’re not going to talk about what’s happening in the future. We’ve got a bunch of stuff¬† that we’re doing now and we’re excited for you guys to use that.

So the worst-case scenario of XNA “not working” on Windows 8 is false. This makes sense, since Windows will retain backwards compatibility as it always has. However, it looks like XNA is not going to be supported for Metro-style apps. This potentially has a few important implications:

First, XNA games might not be available in the upcoming app store.

Second, XNA games might not have access to Avatars, Leaderboards, Achievements and all the other LIVE goodness. To be fair, there’s a good chance this will be limited to approved partner-style Metro apps the way it currently is on Windows Phone.

Third, the XNA framework itself may not have much development time left. If everything Windows is heading to Metro/D3D, where does XNA fit? Does it still have a place on WP7/Xbox/desktop Windows?

All of this is rampant speculation during a time of much confusion and little communication. But it’s fun!

Maybe today’s “Building Xbox LIVE games for Windows 8” will shed some light. My prediction is that it will cover lightweight games using XAML and heavyweight games using D3D, with all the LIVE features requiring you to have a partner deal to be an official LIVE app.

Where did all the Alphas go?

Weekly Alpha 5… does not exist! What’s going on! Panic!

The weekly alphas have proven reasonably successful thus far. I’m happy with the responses I’ve gotten as well as the motivation I feel from having more eyes on the project. However, it’s time to go dark for a bit and get some significant work done as I push towards release.

That’s not to say this week has been a total wash. A lot of the effort has been on larger-scale balancing, saving/loading and some under-the-hood work that doesn’t manifest itself as cool things like new monsters and explosions. Still important stuff though.

Project Splice needs to go into a cocoon for about two weeks. When it emerges, it’ll be the push to beta, final playtesting and release! Exciting!

Here’s a picture of the new Lab tileset since you’ve been so good reading up until this point.

Follow me on Twitter @benkane! I command you!

Project Splice Weekly Alpha 2

I’m happy to report that my little experiment with XBLIG playtesting has been going well. Well enough that I’ve put together another build for this week that incorporates almost all of the feedback I received, plus some additional new features.

A handful of community members posted some very detailed comments and suggestions about the initial build, all of which were very helpful. My hope is that this enthusiasm can last for a few more builds and that it will endear rather than annoy.

In an unprecedented second experiment, I also made and narrated a video showing off some of the changes that have been made. I really enjoyed the game dev diary series that Stegersaurus Games put out, and while I’m not ready to do daily videos, I figured I would give it a shot. Like it? Hate it? Feel totally indifferent? Let me know, here, on Youtube or by email.

If you’re an AppHub member and you want to try out the latest build, you can find it here.

Sales and Trailers

Windows Phone 7 launched today! Nifty! Most of the reports seem to indicate that the Canadian carriers don’t really have units available at retail. Oh well, I can wait.

Now that I have a game out on the marketplace, I can shift my attention to the next important thing: constantly checking on how the game is doing. Unfortunately, this is nearly impossible to do! It turns out that Microsoft won’t be providing download or sales data for app developers until the end of January 2011. That kinda sucks for anybody wanting to base decisions on the performance of the marketplace as well as for those of us who just want to know when we’ve made our first dollar.

To compensate for this shortcoming, Microsoft has partnered (more) with PreEmptive Solutions, makers of Dotfuscator, to provide analytic tools to WP7 developers for free (until March 2011). At first I wasn’t particularly interested in this, as the idea of adding tracking information into my game seemed to be more trouble than it would be worth. However, the potential insight gained is hard to ignore, so I spent a good chunk of today working with Dotfuscator and Runtime Intelligence.

To spoil the story, I still don’t have it working. It seems this is kind of a last-minute arrangement between the two companies, as you need to ask for the tools rather than simply downloading them and the supporting documentation is rather lacking. The process is also a bit cumbersome, as data can take hours to process, making development and testing pretty slow. To rub salt in the wound, I ran into a bug in the Dotfuscator software that stopped me altogether. Normally all of this would be enough to make me drop it altogether but there were a few saving graces:

  1. There actually aren’t many (if any) alternatives for non-Silverlight applications.
  2. The instrumentation UI and reporting portal are quite powerful. I can think of a lot of interesting telemetry to capture.
  3. The support provided by PreEmptive is impressive.

On that last point, an engineer from PreEmptive was lurking in the AppHub forums and was able to help me out with the bug I encountered. If all goes well (I’m waiting on a patch), I should be able to wrap up basic telemetry tomorrow and probably submit an update.

Since it seems like nobody else has done so, I plan on posting a full walkthrough of what is necessary to get basic usage and sales tracking in an XNA-based WP7 game using Dotfuscator and Runtime Intelligence. I’ve got basic usage reports working – I just need to add in some custom data to allow me to track unique full-licenses.

Lastly, since all-text posts are lame, here’s new promo trailer I made for Zombie Accountant today:

Ship it!

I finished my first game! It’s called Zombie Accountant and it’s out now on the Windows Phone 7 marketplace.

Windows Phone 7

In my last post, I showed an early video of a game I’m working on for Xbox Live Indie Games. All of a sudden, I’ve released Zombie Accountant for WP7. What gives?

It came down to scope. I started Zombie Accountant as a side project with much smaller scope than my other game with the intention of actually finishing a game. It seems a bit counter-intuitive to start a new game in order to ensure I finish a game, but it felt like the right thing to do given the amount of work I estimate I have remaining on my other title.

Zombie Accountant actually started as an Xbox 360 game. I had largely ignored the Windows Phone tools – I didn’t bother downloading the beta tools at all. Once the release date for XNA 4.0 support on XBLIG was revealed to be a rather generic “Fall 2010”, I decided I would probably have time to squeeze in a WP7 version. It turned out to be a relatively easy conversion and I feel the simplistic gameplay is well-suited to a mobile experience.

What’s Next

Now that XNA 4.0 support for XBLIG is imminent, I plan on dusting off the X360 build of Zombie Accountant and get it into playtest this week. This will be my first foray into playtest and the peer review system, at least as far as my own games are concerned. I’m looking forward to it (:

More Posts

With a game out on a marketplace, I feel I can take a bit of time to blog about more things. Any interest in hearing about my experience with WP7 certification? How to actually finish a game? A post about my general workflow (e.g. getting set up with Git, getting set up on AppHub)?

moved (here)

Switched wordpress domains to benkane.wordpress.com (you’re already here). Carry on.