-
-
- (1460)
-
premium membership
Team XNA
-
Posts
1,154
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Nick Gravelyn:You can make malware that is virus free. Just make an exe and have it do bad things. Sure it's hard in managed code, but far from impossible.
I liked your post a lot, but you should know that implementing malware in managed code is no more difficult than doing so in native code. Actually, with the productivity gains of the .NET Framework and managed languages like C#, it is easier! :-)
Managed code offers safety to consumers by allowing developers to make stronger guarantees about what their programs will and will not do. If you run a binary from a programmer you don't trust, or you can't verify that the code actually came from someone you trust (as in, signed with a digital certificate issued from a reliable authority), then you are just as vulnerable to malicious managed code as native.
In about two minutes, I could write a four-line program in C# that kills your system when you run it. Anybody else could do it in three lines, but I would add one more to pop up a MessageBox to say, "P0wned!" ;-)
Managed code doesn't save you from evil programs. It saves your good programs from being exploited and used for evil.
Anyway, this just makes your point even stronger.
Stephen Styrchak | XNA Game Studio Developer
|
|
-
-
- (14664)
-
premium membership
Team XNA
-
Posts
9,315
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
That's a good point. I thought that managed code was run under stricter permissions (by default) than native code which would make it harder to totally kill a system. Is that not how it goes?
Either way, my point is proved so I win ;).
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Wouldn't it be possible to create a sandbox that prevents the program from using win32-api, acessing files outside of it's own startupfolder and that ALWAYS exits when you press escape. WPF and Flash has some similar solution.
Of course you should still be able to make "dangerous" games but these should not be signed and thus not allowed to be uploaded on XNA-tube.
But personally i don't care, i make my games for pc only and free hosting is not a problem these days. Setting up a masterserver with serverlist can be done with simple http and 50 lines of php/asp.
|
|
-
-
- (12863)
-
Team XNA
-
Posts
8,531
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Sandboxing can address some problems, but not all.
For one thing, building a secure sandbox (especially one that will still allow access to high performance 3D graphics) is a huge technical undertaking!
And even when built, a sandbox does not guarantee everything. It can make sure the game isn't going to install a boot sector virus, or wipe your hard drive, sure.
But what about social engineering attacks? Flash is sandboxed, but I can still set up a Flash webpage that says "please enter your credit card number", and then emails that number to my private address. There are enough stupid people in the world that simple attacks like that can be surprisingly effective. Xbox is currently free from such scams, and we want to keep it that way!
What about a game that just hangs on startup, or crashes a couple of minutes into the level? That's isn't breaking out of the sandbox, but it is also not a good consumer experience. If consumers have to wade through a dozen broken games before they get to one that works properly, chances are they will lose interest pretty quickly.
What about a game that works perfectly, but contains copyright violations or offensive material? I want to be confident that if I set the parental controls on my box, then my kid is only going to be able to access PG material. An automated sandbox has no way to know if that texture you just created is a picture of a cute cartoon character (which I want my kid to be able to access) or some kind of pornographic material that I most certainly don't want them to see!
Note also that a lot of this is more than just "we want to keep everything nice and cuddly". There are laws about IP infringement, and laws about pornography, and laws about racial incitement, etc. To make matters even more interesting, these laws are not the same in all countries. Some things may be fine in one place, banned in another, and only legal for people over a certain age in a third. Governments tend not to be very impressed if you get this stuff wrong :-)
All of these problems are solvable, given enough time and effort. We're just listing some of the problems to give you some idea why the solution isn't here yet. As Stephen says, it's more complicated than just slapping a website together!
XNA Framework Developer -
blog - homepage
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Here is a thought, the reason MS has to step in here and get their hands dirty is because MS wants retain control and make money from user content. If MS just provide standard network access (without GS hassles), the situation will just be no different from what we have on the PC today. I am sure the community can and will build our own launcher/portal, and people can decide what they want to download and where from. Forcing the users and publishers to take on the responsibilities of content themselves. MS can still have their own "certified downloads" for people not interested in finding their own contents. I am guessing MS will never allow this situation to happen.
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Wow! So many good points...I'll try to cover them all in the little time I have
Brandon Bloom: Google gets many many takedown notices from Viacom, the RIAA, the MPAA, etc., every day for copyrighted content on YouTube. Microsoft gets many many takedown notices every day from the Chinese government for things on MSN Live Spaces. Colleges are ISPs, and they receive threatening legal noticies of all sorts regularly over student file-sharing. Legally, there is a lot precidence to be afraid of these so called Wild Wild West networks.
To keep it short and sweet, you actually make a great point. Despite all the legal notices that these services have gotten for illegal user actions over the years, they are still going strong and better than ever. It is one thing to be able to make guidelines and handle issues as they come up and another to restrict something entirely out of fear of what might come up. It's the difference between making driving laws to minimize accidents and not allowing anyone to drive because they know there will be accidents. But this is a minor point and something I get the impression Microsoft is well aware of and willing to handle.
Nick Gravelyn:
My gripe with this idea is number 2. Not only will 400 points be vastly insignificant to recoup the cost of such a thing (that's only $5 afterall), there's a difference between quality product and virus-free product. Just because you don't have viruses doesn't mean you don't have a bunch of easy-to-find, game-halting infinite loops or other bugs. It doesn't actually even test if you have a game; it just checks for files. You can make malware that is virus free. Just make an exe and have it do bad things. Sure it's hard in managed code, but far from impossible. The point is that virus scanning is nowhere's near the level of certification I would appreciate for such a service.
From a purely consumer angle (what I would expect when I download games from this), I would want a certain level of polish. I would want some standards applied. I would love to know that games will use A or Start to move forward through menus as opposed to clicking in the left joystick. I would like to know that games I'm downloading aren't half-implemented ideas that never flourished. I'm pretty much assuming that any game I download is, in fact, a fun game. Obviously the developer side of me realizes the costs involved with assuring these things, but remember that the goal is to find middle-ground. If you start flooding it will half-done games, betas, and a bunch of worthless crap, eventually the world will disregard the "YouTube of games" as nothing but another file sharing client.
I see what you're saying and it makes sense. If I'm Joe Gamer, just heard about XNA and just want to try out a game, I want to be sure it's not going to blow up my PC/XBOX or else XNA will get a bad rep and people will avoid it. Personally, I've already downloaded a lot of XNA games without even considering if it would destroy my PC or XBOX, but I suppose that is because the community has done things in great spirit so far (and others have tried it before me :). But I don't think there's any easy way to manage this one. MS can't spend the time going through every single game that gets submitted (especially for the 400 points I hastily threw out earlier). Should anyone try something malicious, it will be caught pretty quickly and can be punished to the extent MS wants to impose, including jail time.
Your other point regarding the quality of the games...well, I have to disagree there. Using youtube as a perfect example, take a look around there. There are a boatload of absolutely worthless videos on there, yet also, a lot of quality creations. Once the much awaited "youtube of games" appears, a rating system will allow the cream to rise to the top. I would imagine there could me multiple ratings to weed out the garbage: Overall, Stability, Polish, Originality, Fun, Graphics, Controls, Sound, etc. Users could report copyright infringement and offensive material for removal/punishment. I also imagine that there could be some sort of tier system involved. Start-Review area (creators can buy ads1. Alphas/Betas/Tech Demos, 2. Demos/Incomplete games, 3. Complete Games. Based on # of ratings and average scores, they can move from one tier to another. The top games in the Complete Games tier can be offered XBLA contracts at Microsoft's discression. Non creators club members will only be able to access the Complete games category to ensure a quality experience. If you want a friend to try out your demo, you could send him/her a link that he can accept or deny. ....but I digress, this is becoming more of a wishlist for the youtube of games (which hopefully is the #2 that keeps getting hinted at)
On a side note, a site that put together a great system for submitting, reviewing, advertising and rating items is Fanstory.com which I guess you could call the "youtube for writers". I was a member a few years ago. They charge an annual fee that gives you points, and you can use those points to publish to the site, promote your story, or buy stories that have been certified and permitted to sell. They have rankings for poets, novelists, short stories, and even reviewers. Its a great system and a great community, and some real quality stuff has come out of it.
Exactly! The thing that needs work is the part between 1 and 3. As we said, we are working on that part. Unfortunately, even what you described would not be simple, and couldn't be done quickly.
You make some excellent points, Righteous Tool (so many, I don't have time to respond to them all ;). Even the "simple" solutions become complex with all the possible scenarios that come up. But based on the responses I've seen, I'm confident that Microsoft is hard at work at finding a way to make this all work, and we'll all just have to be patient in the meantime. I'm sure most people will be OK with experimenting with the limited networking capabilities for now, knowing that there will be full access coming at some point in the future (hopefully sooner than later).
Shawn Hargreaves: ...... Note also that a lot of this is more than just "we want to keep everything nice and cuddly". There are laws about IP infringement, and laws about pornography, and laws about racial incitement, etc. To make matters even more interesting, these laws are not the same in all countries. Some things may be fine in one place, banned in another, and only legal for people over a certain age in a third. Governments tend not to be very impressed if you get this stuff wrong :-)
All of these problems are solvable, given enough time and effort. We're just listing some of the problems to give you some idea why the solution isn't here yet. As Stephen says, it's more complicated than just slapping a website together!
Shawn, I just saw your response while I was typing this novel. I definitely realize the need to think things out all the way through before jumping in head first (how are things in Iraq these days?), and look forward to the solutions the clever gnomes come up with.

|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
OK, I just typed a huge response, and got a "this forum is moderated" message that I've never seen before. I really hope the message gets through...
edit: the post made it through (thank god!)
|
|
-
-
- (12863)
-
Team XNA
-
Posts
8,531
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Waruwaru:Here is a thought, the reason MS has to step in here and get their hands dirty is because MS wants retain control and make money from user content. If MS just provide standard network access (without GS hassles), the situation will just be no different from what we have on the PC today. I am sure the community can and will build our own launcher/portal, and people can decide what they want to download and where from.
Well sure, you can do that today if you want. You have System.Net, so you can go build your own website and servers and host whatever you want to host. The limtiations only come into play if you want to run your game in a protected environment, such as Xbox or Live. If it runs on our servers, and uses an infrastructure we have spent many years and dollars developing, then obviously we are going to need to maintain the integrity of our platform, and make sure we don't lose money through enabling this. This is why consoles are fundamentally different to PCs. Xbox customers have very different expectations about quality and stability than Windows gamers, just as Live customers have high expectations about the integrity of the service. That doesn't mean you have to use Live or run on Xbox, but it does mean that if you want to do these things, there is going to have to be some compromise between letting you do this versus not destroying our platform in the process!
XNA Framework Developer -
blog - homepage
|
|
-
-
- (1460)
-
premium membership
Team XNA
-
Posts
1,154
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Nick Gravelyn:I thought that managed code was run under stricter permissions (by default) than native code which would make it harder to totally kill a system. Is that not how it goes?
For the vast majority of code you run, no. For a lengthy explanation, read on! ;-)
<boring>
The permissions granted to managed code by the CLR are based on a security policy. Policy is a set of rules that maps evidence to permissions. Evidence is usually something like an assembly strong name, or location of the assembly, or origin of the assembly. Permissions are things like "allowed to read the registry," or "allowed to write to the file system."
The default security policy is set up to grant "full trust" to any code on the local machine. That basically means anything you copy to your hard drive is given permission to do anything. Since most people download programs and then run them from their hard drives, they usually bypass the protections offered by the default security policy. The assumption that the policy makes is that you won't put a DLL or EXE on your hard drive that you don't trust.
The default policy does restrict some areas of your hard-drive, like the browser download cache, so that things that "come from the internet" cannot harm your system or steal your personal information. However, it's useless to rely on that as protection since, as a consumer, you cannot know if any EXE you run from there is managed or not.
The utility of the security policy primarily applies to hosted environments, to restrict add-ins loaded into extensible applications. Policy basically allows you to create a sandbox, because the hosting application can restrict the permissions of the managed add-ins it loads. In that case, you must first trust the host application and give it full trust, then rely on it to protect you from the untrusted add-ins you want it to load.
This is, for example, how Silverlight works. Silverlight provides a hosting environment that restricts the permissions of the code that it loads from websites. That makes it safe to browse to a random website and run its managed code in Silverlight, because that code can't harm your computer.
With stand-alone applications, including games written against the XNA Framework, there is nothing that restricts the application's permissions. For XNA games, we would need to provide a hosting environment, and only allow games to be played from there (like the game browser on Xbox 360).
The other thing that makes managed code safer to run than native code is that safe managed code can't contain any buffer overrun bugs, so the application is immune against buffer overrun exploits. That isn't to say that a managed application can't be exploited some other way, though. But I guess it's something. :-)
Anyway, as a programmer, managed can make your application more secure against exploits. But as a consumer, you still should never run any application you don't trust.
</boring>
PS: Windows Vista is awesome at protecting you against all types of programs. It's like a firewall for your system, since all applications are restricted from accessing it until you grant them elevated privilege. So don't do that! :-)
Stephen Styrchak | XNA Game Studio Developer
|
|
-
-
- (14664)
-
premium membership
Team XNA
-
Posts
9,315
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Thanks for the lengthy reply. It was pretty enlightening.
|
|
-
-
- (1460)
-
premium membership
Team XNA
-
Posts
1,154
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Waruwaru:
If MS just provide standard network access (without GS hassles), the situation will just be no different from what we have on the PC today.
We did provide standard network access for managed code on Windows. We released it over five years ago! System.Net.Sockets. If you want something really easy to use, UdpClient is a great place to start.
There are also many third-party network libraries, both commercial and open-source, aimed specifically at multiplayer gaming. You have been free to use them all along, so how does our new API restrict you?
If you don't want to use Games for Windows - LIVE, you don't have to. If you do, you'll have to respect the rules of that service.
[Edit: I should have looked more closely after I refreshed. Shawn already said this much better than I did.] :-)
Stephen Styrchak | XNA Game Studio Developer
|
|
-
-
- (20344)
-
premium membership
MVP
-
Posts
12,384
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
LoneRockstar:OK, I just typed a huge response, and got a "this forum is moderated" message that I've never seen before. I really hope the message gets through...
Occasionally the forums spam filter puts a post in the moderation queue... it USED to be very aggressive but yours was the only post in the queue... I just approved it. Drop us a line if you see other posts getting moderated.
Play Kissy Poo - a game for 4 year olds on Xbox and windows The ZBuffer News and information for XNA Follow The Zman on twitter, Email me Please read the forum FAQs - Bug/Feature reporting Don't forget to mark good answers and good playtest feedback when you see it!!!
|
|
-
-
- (12863)
-
Team XNA
-
Posts
8,531
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
LoneRockstar:To keep it short and sweet, you actually make a great point. Despite all the legal notices that these services have gotten for illegal user actions over the years, they are still going strong and better than ever. It is one thing to be able to make guidelines and handle issues as they come up and another to restrict something entirely out of fear of what might come up. It's the difference between making driving laws to minimize accidents and not allowing anyone to drive because they know there will be accidents. But this is a minor point and something I get the impression Microsoft is well aware of and willing to handle.
Absolutely. There are many possible levels here, though. In addition to the obvious: - "Cars are dangerous, let's ban them!"
- "Cars are great: let's all drive really fast!"
Real countries tend to end up with a more graduated system: - Some roads have different speed limits to others.
- Before you open a road for public traffic, you spend time putting up traffic signs.
- You pass auto safety laws requiring things like seatbelts and airbags.
- You employ a police force to make sure everyone drives safely.
- You employ judges to punish people who do not drive safely.
- You employ firemen and ambulances to deal with the occassional inevitable accident.
- You raise taxes to pay for the above.
If the government failed to make at least a reasonable effort to keep the roads safe, people would accuse them of negligence. Clearly, it would be silly to ban all cars. But the responsible thing is to end up somewhere in the middle: you can't just ignore the dangers either! I'm not familiar with the inner workings of services like YouTube, but I'm willing to bet they employ more than one fulltime person to respond to complaints and take down objectionable content. Once you do that, you have to deal with complaints from people who feel their content was removed unfairly, etc etc. And of course you have to figure out how you're going to pay the salary of the people who are doing this moderation work!
XNA Framework Developer -
blog - homepage
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
The ZMan:
LoneRockstar:OK, I just typed a huge response, and got a "this forum is moderated" message that I've never seen before. I really hope the message gets through...
Occasionally the forums spam filter puts a post in the moderation queue... it USED to be very aggressive but yours was the only post in the queue... I just approved it. Drop us a line if you see other posts getting moderated.
Much obliged, ZMan! (...and its good to hear the thought police are lightening up a bit ;) I shirked some of my other responsibilities to write that, so I'm glad my effort didn't go to waste.
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Righteous Tool:PS: Windows Vista is awesome at protecting you against all types of programs. It's like a firewall for your system, since all applications are restricted from accessing it until you grant them elevated privilege. So don't do that! :-)
It's a good start but i wouldn't call it awesome.... "This program requires your permission to run, yes/no?" My permission to do WHAT?!?!? Connect to the internet? open a file? remove every single file from system32??
[/ot]
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Shawn Hargreaves: LoneRockstar:
To keep it short and sweet, you actually make a great point. Despite all the legal notices that these services have gotten for illegal user actions over the years, they are still going strong and better than ever. It is one thing to be able to make guidelines and handle issues as they come up and another to restrict something entirely out of fear of what might come up. It's the difference between making driving laws to minimize accidents and not allowing anyone to drive because they know there will be accidents. But this is a minor point and something I get the impression Microsoft is well aware of and willing to handle.
Absolutely. There are many possible levels here, though. In addition to the obvious:
- "Cars are dangerous, let's ban them!"
- "Cars are great: let's all drive really fast!"
Real countries tend to end up with a more graduated system:
- Some roads have different speed limits to others.
- Before you open a road for public traffic, you spend time putting up traffic signs.
- You pass auto safety laws requiring things like seatbelts and airbags.
- You employ a police force to make sure everyone drives safely.
- You employ judges to punish people who do not drive safely.
- You employ firemen and ambulances to deal with the occassional inevitable accident.
- You raise taxes to pay for the above.
If the government failed to make at least a reasonable effort to keep the roads safe, people would accuse them of negligence. Clearly, it would be silly to ban all cars. But the responsible thing is to end up somewhere in the middle: you can't just ignore the dangers either!
I'm not familiar with the inner workings of services like YouTube, but I'm willing to bet they employ more than one fulltime person to respond to complaints and take down objectionable content. Once you do that, you have to deal with complaints from people who feel their content was removed unfairly, etc etc. And of course you have to figure out how you're going to pay the salary of the people who are doing this moderation work!
I happen to agree with you 100%, and hopefully the rest of my post you quoted indicated that. I just hope that the "taxes" don't end up being too high. With the system cost, games, XBOX Live and creators club costs already under the belt, it will be really tough to add another one to the list. Hopefully there can be a middle ground here. Or even better, figure out a way to make it free (finance through ad revenue?) like youtube and other services do.

|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Righteous Tool: Waruwaru: If MS just provide standard network access (without GS hassles), the situation will just be no different from what we have on the PC today.
We did provide standard network access for managed code on Windows. We released it over five years ago! System.Net.Sockets. If you want something really easy to use, UdpClient is a great place to start.
You are correct, my fault for not stating that I was talking about xbox side.
Shawn Hargreaves:The limtiations only come into play if you want to run your game in a protected environment, such as Xbox or Live. If it runs on our servers, and uses an infrastructure we have spent many years and dollars developing, then obviously we are going to need to maintain the integrity of our platform, and make sure we don't lose money through enabling this.
That's what I am saying, provide standard TCP-IP/UDP on xbox so we don't use MS Live/server/network infrastructure. As far as the integrity of the platform... Hmmm, MS already open the gate by enabling content to be deployed onto the box. What's there to stop people from downloading bad/poor content (beside the hoops they have to jump through)?
|
|
-
-
- (1460)
-
premium membership
Team XNA
-
Posts
1,154
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
tmegz:
It's a good start but i wouldn't call it awesome.... "This program requires your permission to run, yes/no?" My permission to do WHAT?!?!? Connect to the internet? open a file? remove every single file from system32??
Ah, precisely why you should never say yes unless you fully trust the program in that situation!
Even a program that you trust can be repurposed to do something malicious. If you aren't expecting a program to require administrative privilege when it asks you for it, say no!
The biggest problem with Vista's security is not software, it's the naive humans who are driving it. The UAC dialog should really say, "This program could be attempting to install malware and sell your personal information over the internet. Would you like it to continue, yes/no?" You really shouldn't say yes unless you believe that it could, but won't.
This ties nicely into the discussion about us protecting our Xbox Live and Games for Windows - LIVE services. Most users don't understand the implications of the choices they make, and they expect us to protect them against any harm that may come to them, regardless of their actions.
I hear what you're saying, though. Even though the choice is in your hands, you still want Microsoft to do more. That's valid and I think we should, too. On an open platform like Windows, it's a very difficult task. On a closed platform like Xbox 360, it's easier because we are the only ones with the keys to the kingdom and we control who gets in. XNA Game Studio lowers the barriers of entry into the kingdom, which is precisely why we're being so careful with how we let people use the XNA Framework. Opening the platform makes it a lot harder to maintain our safe, reliable environment.
Stephen Styrchak | XNA Game Studio Developer
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
I've really enjoyed this thread even if it has gone wildly off topic from its original title, and I must grudgingly admit the arguments from Stephen and Shawn have somewhat dampened my ire against the networking 'issue' addressed several hundred posts ago. But its the quote below from Waruwaru that has interested me now we've started talking about security...
Waruwaru:
That's what I am saying, provide standard TCP-IP/UDP on xbox so we don't use MS Live/server/network infrastructure. As far as the integrity of the platform... Hmmm, MS already open the gate by enabling content to be deployed onto the box. What's there to stop people from downloading bad/poor content (beside the hoops they have to jump through)?
The route taken so far in getting XNA GSE to market has generally been the path of least resistance, supporting the feature set that you could get written and cleared with the legal team in the shortest possible time. How else would 1.0 have been started and been out the door within a calendar year were this not the case? Thats not me calling running the .Net CF on a new architecture and full GPU support insignificant, but perhaps comparatively to other things we might see in the future.
However it seems to me, an outsider of course, that the plan to support Xbox Live before supporting non-Xbox-Live ("raw sockets" if you will) is a far more tricky undertaking than the alternative. I can only imagine what the first meeting must have been like where someone suggested you let anyone and everyone run their own code on the 360, but I imagine it was probably a little bit like the one where someone suggests (although it would hardly come as a surprise) that XNA supports Xbox Live. Both are closed systems, under lock and key, untouched by the grubby code of thousands of overenthusiastic MMORPG-writing bedroom coders.
I must admit it came as a big surprise that Xbox Live would be supported as soon as the release (this fall / holiday 2007 / "in a few months"). I guess I was still going based on something I heard Chris Satchell say at the launch in Warwick last December, which I assumed still held true, and that was (paraphrased): "We'll likely build it up over time, perhaps start with System-Link and then move on from there". No complaints about the Live support coming in the fall from me, but given that XNA is already a sandbox I can't see what extra issues networking (without Live) might bring to the table. Once you've trusted someone else's application enough to deploy it onto your 360 it probably isn't going to be of concern that it tries to connect to $porn_website and try and fill your hard drive with "images". After all, the user used a PC to deploy it in the first place, theres an infinitely higher chance you'd stumble upon a virus / malware that does exactly the same thing.
Assuming then it isn't a 'content' issue, I can't imagine either its an implementation issue as you've gone above and beyond what I expect it would take to implement the subset of System.Net applicable for game development on the 360. Legal issue? Hmm, perhaps, I'm not sure what that might be, but again, I'm speculating that there's more issues with using the Live platform than there is letting someone use the network / internet they're connected to, as Microsoft can almost wash their hands of anything the user tries to do. We all know too that as soon as networking reaches a state whereby someone can write a browser / e-mail client, they will, and trying to avoid that is about as futile as stopping every third person from writing the next World of Warcraft :)
I figured if I was going to speculate a bit, I might as well do it at length. What I wrote could be summed up in the 3 word tongue-twister:
"What WaruWaru said!"
Adam Miles
|
|
-
-
- (1460)
-
premium membership
Team XNA
-
Posts
1,154
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Adam Miles: Waruwaru:
That's what I am saying, provide standard TCP-IP/UDP on xbox so we don't use MS Live/server/network infrastructure. As far as the integrity of the platform... Hmmm, MS already open the gate by enabling content to be deployed onto the box. What's there to stop people from downloading bad/poor content (beside the hoops they have to jump through)?
"What WaruWaru said!"
What you've got on the Xbox 360 today is a development environment. We really intend that to be for developers, and developers only. If a very motivated consumer wants to plunk down the subscription fee to play games in the development environment, he or she can do so, but it's not tailored to consumer needs in any way, and we don't have any current plans to change that. As many people have already pointed out in this thread, the setup and procedure for deploying games to the Xbox 360 today is a non-starter to casual users. That's part of what will keep accidental tourists out of the Wild West.
Those of you with parental controls enabled on your console already know that the XNA Game Launcher is treated as unrated content. You can't play any games with it unless you either have the password, or you are not restricted. That's part of what protects unwary children.
Those people who have signed-up to the Creators Club and are deploying games to their Xbox 360 consoles -- they know they are running games written by non-professionals, which haven't been certified, and are being executed in a development environment. They know that because of the tools they installed and the way they obtained and deployed the game in the first place. Consequently, they have different expectations than the general public.
When we finally introduce a way for casual gamers -- not creators -- to obtain and play your games, it will necessarily be different from the development environment. As was alluded-to earlier, there will be some policing involved to prevent every gamer from seeing every game that every creator can make.
An important point is that we want to enable you to make games that everyone can play. When we do let everyone play a given game, part of ensuring that the game behaves is to not give it unrestricted access to the internet, and to use our existing secure network to deter cheating.
Giving you raw sockets on Xbox 360 would only ever be interesting in the development environment. Any game using them would not be approved by the game police to be played by everyone. Since we want your games to be playable by everyone, we're putting our effort into giving you what will be useful to meet that goal.
While it may seem we are doing more than necessary in the network API, it would actually be counter-productive to do any less. Enabling System.Net.Sockets would be a wasted effort for us, and it wouldn't help you toward your goal of having masses of people playing your games, either.
Ah, geez, another enormous post! Well, hopefully I answered more questions than I raised.
Stephen Styrchak | XNA Game Studio Developer
|
|
-
|
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Righteous Tool:
Giving you raw sockets on Xbox 360 would only ever be interesting in the development environment. Any game using them would not be approved by the game police to be played by everyone. Since we want your games to be playable by everyone, we're putting our effort into giving you what will be useful to meet that goal.
Why would raw-sockets games not playable by everyone? Obviously, not a technical issue, since PC games use raw sockets all the time. Then the only reason is poor/bad contents. Maybe it's just me, but I don't buy the evil contents as the real reason for not allowing raw socket API. Just don't publish XNA apps/games with raw socket calls on MS portal, or enable parental control on everything with socket access, or pop up one of those storage-selector-page-doodat whenever the app tries to open a connection.. Figuring out which app uses the socket api has to be easier than censoring contents. Side note: looking at how much effort it took to look through 200+ DBP entries, I can't imagine how MS is going to be able to control contents besides invoking an army of lawyers armed with EULAs...
Righteous Tool:While it may seem we are doing more than necessary in the network API, it would actually be counter-productive to do any less. Enabling System.Net.Sockets would be a wasted effort for us, and it wouldn't help you toward your goal of having masses of people playing your games, either.
I think that's where we disagree. I believe if our raw-sockets games are good, we can get masses of people playing them (after all WoW, PopCap Games do fine without going through Live!). The difference may be MS won't have control over the contents, thus not making as much money. With so much restrictions on the xbox side, Creator's Club really seems like a poor deal.
|
|
-
-
- (64)
-
premium membership
Team XNA
-
Posts
563
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
"Why would raw-sockets games not playable by everyone?" Many users are behind routers. Raw sockets will not perform NAT transversal for you. If some games on the Xbox 360 side used raw sockets and others used the XNA Networking APIs, some users (those behind a router) would have some games randomly fail to connect to their friends. The distinction between games would be inperceivable by common users.
Looking through contest entries is one thing, but YouTube exists and Google's lawyers certainly don't watch every video.
Obviously, its a complex issue. Like Shawn said, there are plenty of smart Gnomes hard at work on this, so we need to just be patient while they sort things out.
Brandon Bloom Software Design Engineer XNA Platform and Tools
|
|
-
-
- (1460)
-
premium membership
Team XNA
-
Posts
1,154
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Waruwaru:
Why would raw-sockets games not playable by everyone? Obviously, not a technical issue, since PC games use raw sockets all the time. Then the only reason is poor/bad contents. Maybe it's just me, but I don't buy the evil contents as the real reason for not allowing raw socket API. Just don't publish XNA apps/games with raw socket calls on MS portal, [...]
I think you're misunderstanding me, because in the last sentence you suggested the same as what I said.
We are working on a way to enable games to be played by everybody; not just people with Creators Club memberships. When we do that, there will be some process (we referred to it earlier as "policing") by which only certain games will be allowed to be played by the general Xbox 360-owning public. These games will be the ones that meet some criteria of acceptability. Other games, whether it is because they are unstable, or offensive, or whatever (I don't know what the criteria will be), will not be acceptable. If a game had access to the internet, then it wouldn't be acceptable because there would be no way for us to verify that it would always be acceptable. And in that regard, we wouldn't "publish it on an MS portal" by making it available to Xbox 360 users at all. (Except for Creators Club members, who obviously have the ability to make and run things that don't meet any criteria.)
The point is not about money, the point is about protecting the consumers and delivering on their expectations. A game that has unsecured internet access is a vulnerability in the system. Even if you meant it to be used for reasonable purposes, someone else could use it to attack players. Whether it is to insert offensive content, or to hang their console, or to cheat at the game, or to prevent the game from running through a DoS attack on the game server -- it means that games can connect to something that is outside of the control of both Microsoft and you. Who's customer service line will people call when the game's server goes down? Microsoft's. And what can they do about it? Nothing.
Waruwaru:
I think that's where we disagree. I believe if our raw-sockets games are good, we can get masses of people playing them (after all WoW, PopCap Games do fine without going through Live!).
You took what I said out of context. Masses of people would not be able to play your game because we would not approve that game to be available to the masses. It doesn't matter how good your game is. Raw sockets make it completely vulnerable to a whole host of external threats, and we won't expose users to those threats because it can adversely affect Microsoft's reputation and business.
If you want a completely open platform with sockets, you have it. It's called Windows, and it runs the XNA Framework like a champ!
Stephen Styrchak | XNA Game Studio Developer
|
|
-
-
- (0)
-
premium membership
-
Posts
36
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Just a quick point for all posting to this thread.
The longer we tie up Shawn Hargreaves and other Microsoft developers in replying to our posts here the longer it will be before we get our hands on version 2.0 of GSE. :-)
Hopefully they are getting some good value out of the feature requests though to make it worth their while.
Please keep up the good work guys and release as much as you can early and release it as often as you can and you will be sure of a lot of good feedback from the community.
So when is that Beta version of GSE v2.0 coming out for me to try? ;-)
|
|
-
-
- (12863)
-
Team XNA
-
Posts
8,531
|
Re: XNA 2.0, Visual Studio 2005 and other languages...
|
Major Pain:The longer we tie up Shawn Hargreaves and other Microsoft developers in replying to our posts here the longer it will be before we get our hands on version 2.0 of GSE. :-)
Heh. Actually, I'm not working on the framework at all these days. In between replying to forum posts, I've gotten sucked into playing Shuggy :-) Now if only I could finish that Beast Cavern level, I could finally get back to coding...
XNA Framework Developer -
blog - homepage
|
|
|