I am tremendously proud of what we have achieved with XNA Game
Studio over the last few years:
- We opened up Xbox 360
game development. For the first time in history, anyone who cares to do
so can create and sell games for a major console, including features
such as multiplayer LIVE networking and full access to the powerful Xbox
GPU.
- We also enabled game development on
Zune devices.
- I think we did a good job
balancing our API between being easy to learn and fun to use, while also
powerful and expressive enough to make great looking 3D games.
- The portability of our framework makes it easy to
transfer skills, code, and even entire games between Windows, Xbox 360,
and Zune.
- Perhaps most importantly, we
demonstrated that Microsoft is serious about managed code for game
development, and learned many valuable things about building games with
.NET.
But Game Studio is still far from perfect. To
improve it, we must also consider our flaws:
- Our API is
portable, but not portable enough. There are still too many confusing
and unnecessary differences between platforms.
- Our
API is easy to learn, but not easy enough. Hanging out on the creators.xna.com forums, I see the
same questions over and over again. The first few times something is
asked, I just answer it and move on. The tenth time, I blog an article
on that topic. But by the hundredth time, I have to ask myself, if so
many people are running into the same problem, perhaps we could improve
our design to remove the source of their confusion?
- There are too many places where we expose details of underlying
platform implementations, which makes porting our framework to new
platforms harder than it should be.
(note: as a
developer who works on the core framework APIs, I am concentrating on
the technical side of things, as opposed to surrounding business policy
and publishing aspects)
Shawn’s verdict: B+.
I think Game Studio 3.1 is pretty darn good. But it could be better...