XNA: At a Crossroads
Lots of speculation and rumors have been flying around regarding the cloudy future of the XNA Framework. For anyone who has a vested interest in XNA -- which would include Xbox LIVE Indie Games developers, Windows Phone 7 developers, and even a handful of unfortunate Windows game developers -- this is a pretty serious issue.
XNA is a high-perf graphics framework with few comparable peers; It's easy to learn, it covers desktop, mobile, and console platforms, and its roots in a managed runtime allow for very rapid development.
But the possibility that XNA could face an untimely end at the hands of Microsoft's Windows 8 strategy is sending tremors through many programmers' hearts.
"No way. XNA is too amazing for Microsoft to just let it go," you might say. And if you do say so, you might have a point. But others might say that the writing's on the wall. The smart Silverlight devs are already looking to shift their technological gears in light of recent revelations, and with the advent of HTML5, Adobe seems to recognize that Flash has had its day in the sun. (On a side note, it might be reasonable to speculate that other major web browsers will ultimately go the way of IE10 and run without plugin support by default.)
Bottom line? We're at a crossroads, and it's quickly becoming time for developers to either hedge their bets, or go all out and pick sides.
As a longtime proponent of the Raymond Chen camp, I've always been cautious about building a large codebase in .NET. Yes, .NET evangelists proclaimed the Framework was the future, but anyone who's worked with Microsoft technology for more than a few years knows that every few years, Microsoft bets the farm on something new and -- just sometimes -- leaves perfectly fine technologies to rot. Precedent establishes that they're willing to send any product to this fate, even if it happens to be, say, the most popular programming language on the planet.
So where does that leave us with XNA? I don't know -- and those who do aren't talking. For those of you holding out hope that XNA, or something like it, will eventually be supported in WinRT/Metro, I'm telling you now: don't bet on it. It could happen, but the ways of Microsoft can be feckless and fey.
Am I recommending XNA devs bail out of the XNA Framework? Not at all -- but at this point I hope it's obvious to anyone that putting all of your eggs in the XNA basket is a really bad idea. Don't limit yourself to a single game library -- heck, don't limit yourself only to C# or VB.NET! The only programmers who have the luxury of sticking with a single language until the mountains crumble into the ocean are those who use C++. Everyone else should be broadening their horizons as far as they can go.
Don't kid yourself. Windows 8 marks a huge change of direction in Microsoft's overall OS strategy. Whether that strategy is successful or not remains to be seen, but hinging your own success upon Microsoft's whim is just silly.
What am I planning to do? Well, I'm not ready to abandon XNA just yet. My time with XNA has been quite valuable and I love the rapid development that it enables. But I've been careful about making sure my XNA-based games can be easily ported to other platforms with minimal code changes. My next game will not be XBLIG-only, and might not even be released on the Xbox 360 first.
I've chosen a direction. No matter what the rest of you decide, good luck!
Not gone
In case it wasn't obvious, I've been flying under the radar for several months now. However, that doesn't mean I've been completely idle!
After creating a number of game prototypes, none of which turned out as exciting as I wanted them to be, I finally settled on a game mechanic that borrows heavily from another indie game that was released last year (but attempts to add some variety to the experience). I expect this to be the game that I enter for Dream Build Play, though of course it won't be in a finished-enough state to be a true contender.
As far as X-flixel goes: No, I've not abandoned it, and have every intention of eventually updating my port to be 2.5-compatible. However, I will be keeping with my previous pattern of port -> product -> port -> product, which means there will likely be no updates to X-flixel until my next game has been released.
Anyway, that's the short story about what's been going on for Excalibur Studios. Hopefully I'll have something fun to show off in the near future!
Moving forward: X-flixel v2.43
I've reached the point of feature-completeness with the latest build of X-flixel, which means it's time to jump back into developing actual games. I also need to decide whether I want to continue distributing X-flixel through GitHub, or whether to choose another channel. I'd love to get this new version out to other XNA developers, but I wasn't terribly fond of the Git frontend I was using, so I'm leaning toward either finding another frontend, or moving to something else altogether.
As far as gaming projects go, there are a few that I'd love to get started on, but first and foremost I'll be completing one game that I've already started for Windows Phone 7.
Starting anew
With two complete games under my belt, I decided to scrap the pure blog aspect of ExcaliburStudios.com, and make the front page a little more non-developer friendly
My games list will only grow after all, and it's time to use this site to promote them!
I've also discontinued the use of my custom-rolled blogging software. Although I like using my own stuff, I want to lose the responsibility of maintaining the code base. So, WordPress it is!
I've got a handful of game ideas taking shape in my head now that Star Crisis has flown the nest. I'll post more when the time is right.
Postmortem: Star Crisis
After the relative failure of my first game to earn any following of consequence, I started in on Star Crisis with a couple of goals in mind:
- Spend no more than about 3 months on development
- Sell it for just one dollar
- Create an "action" game, aiming for broader appeal
The Good Stuff
Development time: Although my game was in development for about six months of real time, I spent only thirteen weeks on the game, nailing my timeframe goal down solid. This was a decent amount of time to spend on a fairly experimental game, and I didn't feel at all let down when it didn't turn out to be a breakout hit.
Music: I received a lot of complaints about the soundtrack from Aesop's Garden, so I hired a guy from Sweden to compose the music for this game, after hearing his work on Terry Cavanaugh's VVVVVV. Having very little musical experience myself, I felt that this move would give me the greatest bang for my buck -- and that's exactly what it did.
Fun factor: I've received quite a few compliments about how fun Star Crisis is, both before and after release. This means a lot to me since fun is what any game strives for.
The Bad Stuff
Control hurdles: Many players just couldn't get around the unusual control scheme presented in Star Crisis. I can't really blame them. Perhaps I should have left it at standard shmup controls, with none of that gravity/jetpack interaction I ended up with. The bad reviews blasted the controls pretty hard, which makes me think that I could've raised the ~7% conversion rate by making the player character easier to control. (Of course, I always thought the controls were easy -- but I should have put more stock in the people who thought otherwise.)
Cheap cover art: I knew the entire time that my poorly-designed cover art would limit my trial numbers. I'm no artist, so I would've needed to hire out the job to get an attractive cover. Unfortunately, my budget was shot the moment I outsourced the music. It was a tradeoff I was fully conscious of from beginning to end.
Sales: Yes, I never expected to make a wildly popular XBLIG release. I'll pass LTD Aesop's Garden sales in no time, seeing as how I'm already more than halfway there. But Aesop's Garden didn't exactly sell like hotcakes, either
So even though these results come as no surprise, it's still bad.
In closing, I'm relatively happy with how this dev cycle turned out, and I learned some important lessons about how I can broaden my potential audience with the next game. I already know what the next few games I want to make will be, so it's time to get cracking!