Jump to content
  • Advertisement
Sign in to follow this  
3dmodelerguy

XNA in Commercial Products

This topic is 3617 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Is there anyone sort of restriction for selling commercial games that uses .NET/XNA for Windows? I you can do it but not sure if I had to do anything to do it.

Share this post


Link to post
Share on other sites
Advertisement
No, you're free to sell and distribute your app however you want. Just make sure you don't directly redistribute the XNA assemblies, use the redistributable Microsoft provides to install them.

Share this post


Link to post
Share on other sites
It should be noted that if you're developing in XNA and targetting Windows, do not use the XNA networking code, as it's not supported in the redistributable runtimes. The XNA networking code only exists on the PC for creator's club members as a way to test networking on their games that are targetting the Xbox 360.

Edit: I meant to add that what you SHOULD use is the standard .Net framework networking classes.

Share this post


Link to post
Share on other sites
Quote:
Original post by MJP
No, you're free to sell and distribute your app however you want. Just make sure you don't directly redistribute the XNA assemblies, use the redistributable Microsoft provides to install them.


Well does microsoft provide a way to include the redistributable in the installer for applications you create(like that did with DirectX as if I remember correctly, some games would automatically check and run the DirectX runtime installer and then continue to install the game).

Quote:
Original post by Drilian
It should be noted that if you're developing in XNA and targetting Windows, do not use the XNA networking code, as it's not supported in the redistributable runtimes. The XNA networking code only exists on the PC for creator's club members as a way to test networking on their games that are targetting the Xbox 360.

Edit: I meant to add that what you SHOULD use is the standard .Net framework networking classes.


Well that sounds good as I have no interest in making any games for Xbox 360.

Any other restrictions anyone knows about?

Share this post


Link to post
Share on other sites
Yes, the installer made with click once will include what you need for the end user.

You can't use the content pipeline at runtime, but that's not a big deal.

Share this post


Link to post
Share on other sites
Quote:
Original post by 3dmodelerguy
Quote:
Original post by MJP
No, you're free to sell and distribute your app however you want. Just make sure you don't directly redistribute the XNA assemblies, use the redistributable Microsoft provides to install them.


Well does microsoft provide a way to include the redistributable in the installer for applications you create(like that did with DirectX as if I remember correctly, some games would automatically check and run the DirectX runtime installer and then continue to install the game).


Like Daaark mentioned an XNA Visual Studio project has a "Publish" option that will automatically pack up your executable, your content, and the redistributables into a ClickOnce .msi. Or if you want you can use Nullsoft, WiX, Inno, Installshield, etc. to come up with an installer and just have it launch the XNA redistributable (you also should install .NET 3.5 as well).

Share this post


Link to post
Share on other sites
Quote:
Original post by 3dmodelerguy
Well that sounds good as I have no interest in making any games for Xbox 360.


If you're using XNA to build a Windows game, porting it to the 360 is a rather trivial endeavor. You might as well make the effort and double your market. In that case, you would need to use XNA's networking code path. Contrary to what Drilian suggests, XNA networking works on Windows systems. However, you're restricted to LAN games or online gaming through Live. If you want to bypass Live on Windows systems, you'll need a separate network path — not worth the effort in my opinion.

Share this post


Link to post
Share on other sites
Quote:
Original post by Tom
If you're using XNA to build a Windows game, porting it to the 360 is a rather trivial endeavor.


Uhh....don't be so sure. While you could say it's easy since you only have to use one API and codebase for both platforms, for any non-trivial game it will likely take a lot of work to optimize performance on the 360. The gap in performance between a single Xbox 360 CPU core and even a typical single-core Pentium 4 is positively huge, thanks to the hardware itself and a few quirks of the .NET Compact Framework. Also even though the GPU is generally pretty capable on the 360, it has some unusual performance characteristics.

There's also things like...

-the fact that you can't use any native interop on the 360, so you're stick with purely managed libraries only
-the 150MB size limit
-the CC membership fee
-different usage patterns (TV + gamepad instead of monitor + mouse + KB)
-the fact that your network activity is limited to XBL only on the 360

...to consider as well.

Quote:
Original post by Tom
You might as well make the effort and double your market. In that case, you would need to use XNA's networking code path. Contrary to what Drilian suggests, XNA networking works on Windows systems. However, you're restricted to LAN games or online gaming through Live. If you want to bypass Live on Windows systems, you'll need a separate network path — not worth the effort in my opinion.


No Drilian was quite accurate. The GFWL redistributable (which is required to use any Live networking on the PC) is only included in the full XNA Framework download for developers. It is not included in the XNA redistributable that you install on client PC's, because your game requires special licensing and Games For Windows branding to be able to use the Live features. Like Drilian said the only reason Live networking is included on the PC side is so that you can test multiplayer on the 360 by having it connect to a PC.

Share this post


Link to post
Share on other sites
So what it sound like, I can use XNA to build a commercial game targeting window and create a 1 click installer for it that will automatically make sure the user has the .NET and XNA runtime files. This game I plan on making I don't plan on making it multiple, just a single player RPG type game so chances are I am not even going to need to touch any network code.

As for XBox, I was under the impression that if you develop the game for the XBox I would not be able actually sell the game, i would up upload it to XBox Live to let other people play it for free, it this wrong(not that this would change my mind to develop for the Xbox but just wondering)?

Share this post


Link to post
Share on other sites
The only way to launch the game on XBox 360 is through the Creators Club branch. Here you have the option to sell it for 200, 400 or 800 M$ points. Of which you'd recieve 70% minus any costs Microsoft feel like adding on to it. It's not that bad a deal, and a popular game could do very well for itself I'm sure, but then if it's popular enough you'll probably be able to get a publishing and take it off XBLA Creators to release on the main XBLA. There's also the issue of peer review to get through, but judging on the content they allow through it seems to me that it must be very hard not to get published on there.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!