• Register

Microsoft XNA is a set of tools with a managed runtime environment provided by Microsoft that facilitates video game development and management. XNA attempts to free game developers from writing "repetitive boilerplate code" and to bring different aspects of game production into a single system.

The XNA toolset was announced March 24, 2004, at the Game Developers Conference in San Jose, California. A first Community Technology Preview of XNA Build was released on March 14, 2006. XNA Game Studio 2.0 was released in December 2007, followed by XNA Game Studio 3.0 on October 30, 2008. XNA Game Studio 4.0 was released on September 16, 2010 along with the Windows Phone 7 Development Tools.

XNA currently encompasses Microsoft's entire Game Development Sections, including the standard Xbox Development Kit and XNA Game Studio.

The name "XNA" originated out of the project's development name, Xbox New Architecture. Instead of being released under the Xbox name, the Xbox 360 was released (2005), and XNA came to stand for "XNA's Not Acronymed".

Latest Media

No images, videos or audio files have been added to this gallery. Join now to share media with the community.

Blog RSS Feed Report abuse Latest News: Interactions, Decorations, and Arriving at Mars

About 39 Days to Mars with 0 comments by surrealix on Mar 1st, 2015

What's New this Month?

It's been over a month since my last update! But don't fret, I've been busy working on 39 Days to Mars, and things are progressing slowly but surely towards a first release. This month I talk about random seeds, analytics, making interactions easier, decorating the ship, arriving at Mars, and generating better ship layouts.

Whew. So sit back, pour a cup of tea, and enjoy this extra-long update.

Game Flow

My goal for the month was to end up with a playable version of the game, from start to end. This meant coding the start/end screens, and fixing problems with the ship generation code that made it re-usable and deterministic. Having a deterministic ship generator means that all of the random elements in a single game can be determined by a single 'seed' number. I can use this number to reproduce a game that had a bug, or store this number to let people play the same game twice. By changing the seed, I can generate a new ship and new storyline each game.

Finishing the game flow also meant finishing the pieces of code that detect when you've arrived at Mars, and working on the end-game sequence.

At the moment, you arrive in orbit around Mars on day 39, and the game finishes when you deploy the ladder/rope/landing capsule and are on your way to the surface of Mars. The big question about this is where do I actually end the game?

a) Does the game stop when you start descending? This would save needing artwork for the surface of Mars, and feels like a natural place to stop, however after the entire voyage it could be frustrating not to actually descend and see your destination.

b) The game could stop when you touch the surface. This is my preference at the moment, because it gives a bigger sense of satisfaction without me needing to design any puzzles or interaction on the surface. I would still need to do the artwork, however.

c) Or, there could be a few minutes on the surface that tie into the story elements from the voyage. If I've already done the artwork, this could be as simple as writing some dialogue and an extra puzzle or two. Doing this would mirror the introduction steps where you leave Earth, but I'm worried it would start to feel too much like an 'Act II', and therefore when the game ends shortly after arriving, it could feel anticlimactic

After getting some great suggestions about the tutorials last post, I thought this time I'd ask what you'd like to see at the end of the voyage. Which of the above options appeals to you the most? Is there something else you'd like to see? Let me know in the comments below!


I've talked previously about analytics, and already had a system set up to record the state of a game as people play it. Because I've been focusing on gameplay, the analytics integration had fallen behind and any data that accidentally got recorded was fairly useless. This month I bought everything up to date, and it's ready to do some playtesting as soon as I make enough content.


After getting analytics integrated, I got a couple of friends to play through some puzzles. There were enough hiccups and problems to show that I still have some work to go before I can call the first storyline finished.

One of the biggest problems was how difficult and fiddly moving around and interacting was. At the moment, you use the thumbstick to look around, and if you hold it down, the character will also move in that direction. Because I'm targeting many different platforms, I wanted to keep the control scheme using as few buttons as possible. Watching how difficult this was to use gave me two options: I could change the control scheme to use more buttons, and separate looking from moving; Or I could change the way interactions work so that you don't need to look around.

Because looking around isn't the main purpose of the game, I've decided to go with the second option and implement a system where characters automatically look at the closest usable object. I'm already happier with how much clearer this is:

Another thing I implemented was the ability to switch between characters. While some puzzles still require two players, I implemented character switching because it makes testing considerably easier for me. I no longer have to play the game with one controller in each hand! I'm still following my previous decision to go with co-op only puzzles for the moment, to save from having to make multiple versions, but it's nice having the option supported for when it's needed later.

Ship Generation

I started looking at how I'm going to fit nice looking artwork and decorations into the random ship generation. I've figured out a neat system (I hope!), but as part of this I needed to re-write the ship generation algorithm this month to produce more interesting ships. The existing system used a series of rules to place sections next to each other in specific configurations. This resulted in function ships that were always roughly square shaped, and square boxes make for realistic but very un-inspiring space ships.

The new algorithm shuffles the layout enough that although the ship is still made out of boxes, the overall shape is usually more interesting. This will allow me to add artwork around the shapes and end up with something that fits the steampunk aesthetic well. Watch out for screenshots of this on twitter over the next month, hopefully!

Watch this Space

Over the next month I hope to have finished the interface, and have the moving and interaction controls feeling intuitive. I'll be designing another puzzle or two for the first storyline, adding decorations to make the spaceship look like a spaceship, and most importantly, ironing out the bugs so that you can play from start to finish without the game crashing or freezing!

In the meantime, let me know what you'd like to see at the end of the game, and don't forget to follow @philipbuchanan on Twitter for more regular updates and development news!

39 Days to Mars

39 Days to Mars 39 Days to Mars

Updated 13 hours ago Coming Q3 2015 Single & Co-op Adventure

39 Days to Mars is a co-operative steampunk survival-adventure game. You play as Sir Albert Wickes and The Right Honourable Clarence Baxter, two 19th...

Lan Sorcerer

Lan Sorcerer Lan Sorcerer

Updated 1 day ago Released Nov 10, 2012 Multiplayer Real Time Shooter

Lan Sorcerer is a free multiplayer PvP arena game where players control sorcerers and use their skills to fight each other. Game works either on default...

Tier Tactical

Tier Tactical Tier Tactical

Updated 1 day ago Released Feb 2, 2013 Single & Multiplayer Tactical Shooter

Tier Tactical is a top-down, 2D zombie shooter I have been developing for the past year. It is very much still in development, but has reached a playable...

Imagine Earth

Imagine Earth Imagine Earth

Updated 2 days ago TBD Single Player Futuristic Sim

As a space colony manager your aim is to explore and populate distant planets. Build up thriving and profitable colonies on a global scale without destroying...

Systematic Immunity

Systematic Immunity Systematic Immunity

Updated 4 days ago TBD Single Player Platformer

Systematic Immunity is a challenging precision platformer set inside the human body...and not a particularly healthy one either.

Post comment Comments  (0 - 10 of 24)
CakeKing64 Dec 22 2014, 6:02am says:

Awesome :P

+1 vote     reply to comment
Jdawgg25 Apr 18 2014, 6:31am says:

If anyone is curious, it is possible to integrate your XNA Game Project into Unity, but it might take a little extra work. This is a proof of concept showing the Platformer XNA starter kit running inside Unity3D. Zero code changes have been made to the original game code. Using a mixture of new code and some code from MonoGame, the author has implemented XNA emulation. They did so by having a game object with a script attached run an XNA game performing updates and drawing.

Check out this link below for the source code:

+3 votes     reply to comment
DonBre Jun 5 2014, 4:09pm replied:

nice! :D

+1 vote     reply to comment
Xylemon Dec 27 2013, 6:14pm says:

Public Domain? What?

+1 vote     reply to comment
garry68 Dec 14 2013, 4:56pm says:

I generally refer to XNA as a library, surely that's essentially what it is. A library of pre-written routines that are designed for graphical and timer based recursive programming.

Having recently had a look at Unity, surely it would be wrong for someone beginning to be under the impression that XNA is remotely the same thing.

Using XNA reminds me of the old Turbo Pascal, and Turbo C environments for some reason...

+2 votes     reply to comment
Jdawgg25 Jun 12 2013, 3:00am says:

Oh wait, XNA already supports .fbx! Sorry about that. The problem with XNA 4.0 is the with .fbx, it only supports the first animation take within the model. I figured out how to get multiple animations working somewhat with .fbx by splitting up the models into separate animation takes for the content processor to read them and then kind of merge them in the program.

+2 votes     reply to comment
Guest Sep 27 2013, 3:42am replied:

i thought when u make a .fbx u can make many animations just write down the frames it uses and then can call them

+1 vote     reply to comment
Jdawgg25 Jan 9 2014, 8:39pm replied:

Yes, you can have multiple animation takes within a .fbx model. XNA 4.0 by default pulls up only the first animation take; not the others within the model. To get it working within the XNA Framework, one way is to split the model into separate animations, and then merge them in the content processor. Here is a link that describes what I am talking about but better.


+1 vote     reply to comment
Jdawgg25 Jun 12 2013, 2:58am says:

Many XNA developers moved to Unity because it uses C# and they don’t want to spend the time it takes to create that same kind of game in XNA. It would take longer to create a First person shooter in XNA than it would using Unity, (unless you are using a 3d game engine built upon XNA like Digital Rune) because you have to hard code just about everything. That’s the goal of game engines, to help people save time developing games. XNA does make it easier somewhat to display 3d models with its Model class and Draw Method and display 2d stuff using the SpriteBatch but for the most part you have to do majority of the work yourself. If you are serious about publishing a game using Unreal Engine 3, you have to go through Epic games to have it approved because after all… it’s their game engine. It’s like the old saying, anybody can use Photoshop but designers use it well. Well same with game engines. Anybody can learn to import models into UDK, hit a play button and run around in first person and learn to use Unreal Script but professionals use it well. Regardless of what the media and many critics say about XNA being dead, I am still using it. People create their own engines or modify older game engines all the time. Brink uses a Modified version of ID Tech 4 which surprised me. Bring probably would have performed better and rendered all of its textures better with ID Tech 5 but ID Tech 5 came out much later. Many people moved away from XNA because they want to support the latest versions of DirectX. My game engine not only supports .X models and maybe not the latest version, but I programmed it to support obj, .fbx, and I am working on making it support .dae which are Collada files.

+3 votes     reply to comment
Jdawgg25 Jun 12 2013, 2:49am says:

Examples of Game Engines Built upon the XNA Framework or ones that work in conjunction are:

-Digital Rune
Digital Rune is a 3D game engine for the Microsoft.NET Framework and the XNA Game Studio supporting windows, windows phone 7 and Xbox 360. See more by visiting their website (http://www.digitalrune.com/Products/GameEngine.aspx)

-SunBurn (This is a lighting engine for Xna and helps developers save time creating scenes and adding lights to their scenes. You have to pay for Sunburn)
-Visual 3D
-Ploobs (Visit their website at: Ploobs.com.br)

I could go on for a long time listing game engines built upon the XNA framework. Also Torque X Builder is a game engine that works in conjunction with XNA. I am creating a game engine called the Cyclone Game Engine but many call it Cyclone Engine for short. I chose to create my own game engine primarily to learn and educate myself about game engine development and to have a game engine I can call my own (especially if I needed a backup). There is nothing wrong with using other game engines but if you are serious about becoming a game developer, break out of the habit of strictly using one tool and try creating your own tools. Unity is free for the most part but you have to pay for additional features.

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Windows, Mobile, X360
Send Message
Public Domain
Release Date
Released Dec 31, 2006
Engine Watch
Track this engine
Community Rating



51 votes submitted.

You Say


Ratings closed.

Highest Rated (2 agree) 9/10

It's not an engine, its a framework basically a template to directX. I really like it because it allows you to develop for 3 Microsoft platforms and can port them easily.

Jul 14 2012, 12:13pm by atsebak

Embed Buttons

Promote XNA on your homepage or blog by selecting a button and using the embed code provided (more).

19 of 564
Last Update
4 weeks ago
109 members