XNA Framework wish list

XNA Framework wish list.

-System.Net.Sockets

oSocket (Tcp & UDP transport)

oDo not really need support for TcpClient, TcpListener and UdpClient

-System.Security.Cryptography

oRijndael

oMD5

-System.IO

oFileStream

oStreamWriter / Reader

-System.Text

oStringBuilder

oFull UniCode support

-System.Threading

-System.Diagnostic

Thanks,

Roger Larsen

[5083 byte] By [twospoons] at [2008-2-4]
# 1
You already have access to these for Windows games and for 360 games some pose a security risk so could not be accessed as they exist in the regular Framework. It's been said that there will be support for IO and threading. I haven't heard about Cryptography, Text or Diagnostic.
JimPerry at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 2
Our

Xbox system assemblies are based on the .NET Compact Framework (2.0),

so you can get a rough idea of what is supported by looking in the MSDN

documentation.

We'll certainly be supporting System.IO, System.Text (with unicode),

and a reasonable subset of System.Threading and System.Diagnostics.

Not sure about the Cryptography namespace: that is supported by the CF

according to MSDN, but I don't remember if we are including it or not.

Our biggest deviation from the standard Compact Framework assemblies is

that we aren't exposing any networking on Xbox in this first release (I

can't comment on future plans other than to assure you they do exist :-)

On Windows, XNA sits on top of the full .NET 2.0 framework, so everything you ask for is naturally available there.

ShawnHargreaves at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 3

Thanks Shawn,

Crypto is probably not that important, as the algorithms are publicly available, I just hate to have to implement them manually :)

Does the Xbox have a machine key which can be used for encrypting / decrypting (like the windows platform does)?

Roger Larsen

twospoons at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 4

I don't know if we'll be able to expose any of the underlying Xbox hardware security features. My guess would be not, but this isn't really my area.

ShawnHargreaves at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 5

None of the underlying crypto mechanisms are available through the XNA Framework on the Xbox 360 due to various security reasons. System.Net also won't be available on the Xbox 360.

It's highly unlikely that crypto will ever be exposed on the Xbox 360 but network access is something that we are "aggressively" investigating for our next release. We can't promise anything on this front though.

aL

AlbertHo*MSFT* at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 6

Shawn, can you check if the 360 framework supports the Cryptography namespace, and if so, which cipher impls, if not all of them? As you point out the CF does, but that doesn't necessarily mean the 360 RT will.

I'm rapidly approaching the point where if this won't be provided, I need to build it for myself. It would be great to know before the 11th as I hope to have this code up and running by then. ;-)

Thanks - Ryan

ryan.rogers at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 7
First question: What good will encryption do you on Xbox, if you're not getting networking?

Second: if you just need encryption to, say, keep prying eyes out of your assets, the something like X-TEA should fit the bill. It's extremely simple to implement, and has withstood several years of scrutiny so far. Yes, you have to implement it yourself, but source is available, and it's very simple.

JonWatte at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 8

Before I answer your question, first some background. As you may know, XNA networking is coming on the 360; it just won't be out for the first release. In the meantime, wouldn't it be great to get started on multiplayer networking games on Windows in a way that will be source-compatible with the XNA networking to come? After all, you can always test network multiplayer on the PC only and can still test everything else on the 360 in the mean time.

As such, I'm working on a networking middleware component that incorporates a plugin driver architecture. The first network plugin is implemented with System.Net. Once a beta of the new cross-platform XNA network api is available, I will implement a second plugin for that, et Voila! network multiplayer games leveraging these components will start working on the 360 as well, just as they have been on Windows. At least that's the thoery, I've had to obviously make some assumptions about how network multiplayer would work on the 360 for XNA (lobbying, etc).

So now that that is out of the way...

First Answer: One of the few small nuggets remaining to be implemented in this middleware is, you guessed it, the crypto plugin. Before I can implement it I need to know how it will work. If XNA Framework v1 is going to have the Cryptography namespace, it will save me a lot of time, and I can begin my implementation of it immediately using that. If it will not, I can still begin my implmentation immediately, but it will obviously be a larger, more involved project (which takes more man-days). But until I know whether it's in or not, I can't really start (at least not without potentially duplicating effort).

Thanks for pointer to X-TEA, if it turns out I do in fact need to roll our own, I'll take a look at it. I've written a few ciphers myself in fact, one of which is in Java which would be a fairly straight forward port to C#. So I'm not concerned about having to do this; I'm just trying to plan my work to see *if* I need to do it.

- Ryan

ryan.rogers at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...