Datasheet
learn more about the structure of an application and why some things work so well and others take so much
time.
For more links on the Internet, check out the great collection of XNA links at
http://xnadevelopment
.com/links.shtml
.
There are many more sites about XNA and it seems every day you see a couple of new community sites
and more resources. Do a Google search to find out which site is the most popular.
Changes in XNA 2.0
This book was originally written with XNA Game Studio Express (1.0) in mind. While Parts I through IV
were originally written when only XNA 1.0 was available, Part V , “Writing Multiplayer Games,” focuses
more on XNA 2.0 and the added networking capabilities. But all changes required to make the older
code run on XNA 2.0 were implemented and additions were made to the chapters where something new
happened in XNA 2.0. Please note that if you just want to develop on the Windows platform, you can
already write network games in XNA 1.0 with help of the System.Net namespace.
This section states the changes that are coming in XNA 2.0 and known at the time of this writing. Most
information about XNA 2.0 was first announced on the Gamefest in August 2007.
First and foremost, XNA 2.0 supports Visual Studio 2005 out-of-the-box, both the standard editions and
the professional editions, including the Team System version. In XNA 1.0, you could only use Visual C#
Express, and while C# is still the only officially supported language for XNA you can use other lan-
guages such as Visual Basic, IronPython, F#, or even C++, which will work on Windows, but might not
work on the Xbox 360 because of some restrictions. Only the Compact .NET 2.0 Framework runs on the
Xbox 360 and some languages such as IronPython make use of language features such as Reflect.Emit,
which are just not available on the Xbox 360 at this time.
Aside from other improvements to the project management and framework, the most important addi-
tion to XNA is the new networking API, which allows you to write multiplayer games and using Xbox
Live on the Xbox 360 and Windows System Link on Windows XP and Vista. All the new networking
capabilities will be discussed in Part V of this book. These are the key points about XNA networking in
XNA 2.0:
❑ Enables you to write networked multiplayer games on the Xbox 360 and Windows.
❑ Matchmaking system via Xbox LIVE on the Xbox 360 and System Link on Windows.
❑ No need to create or host your own servers, which really makes creating multiplayer games a
lot easier than it used to be. All the server management will be hosted for you on the Xbox Live
and Windows for Games Live services.
❑ Easy to create game sessions and search for them.
❑ Game flow management, Host Migration, and an integrated messaging system keeps you
focused on developing the game, not the networking APIs required.
As described in more detail in Chapter 14, all data in the XNA 2.0 networking APIs is transmitted
through UDP, which is normally unreliable, but the XNA team has built a reliable framework on top
of it, similar to DirectPlay. You basically just use the SendData and ReceiveData methods to send and
receive network messages. You can implement client-server–style games as first person shooters usually
25
Chapter 1: Introducing XNA
61286c01.qxd:WroxPro 1/21/08 3:44 PM Page 25