Posted
by
ScuttleMonkey
on Monday December 11, 2006 @10:27PM
from the compile-once-crash-twice dept.

prostoalex writes "Microsoft announced the release of free XNA Game Studio Express tools for developing C# games that run on both Windows and XBox. They're also selling XNA Creators Club subscriptions, which, similar to MSDN subscriptions, offer access to sample code and additional documentation. Also, Microsoft is explicitly aiming towards uniting the Windows and XBox development platforms: 'You will have to compile the game once for each platform. In this release simply create a separate project for each platform and then compile them both. Our goal is to allow as much code as possible to be shared between those two projects, allowing you to use the same source files in both projects, but platform-specific code will need to be conditionally-compiled.'"

It's a lot cheaper than a Gamecube, Wii, PS2, or PS3 dev kit. This is a major step forward. Indie developers can use it, even if it is $100 (which, let's face it, is not much money...two games worth) and if they create something worthwhile they can pay more to get it full licenced for release.

Even in the X-Box, you're talking to device drivers, not the hardware directly. That IS what you do with DirectX- it's call that because it bypassed many of the software layers in Windows so you could write games. That's supposed to be the big selling point of the X-Box lines is that you can write for XP and do a minimal amount of work to make a console port to the X-Box or X-Box360. Talking to the hardware directly means poking values into the registers on the GPU, etc. Something few of the developers do- and none on the X-Box/X-Box 360 They typically go through a library or device driver on all the consoles to begin with. You might have done development under a console target, so your mileage may vary- but what I know of things differs from what you just said by a lot.

Why is it better to pay $250 for a separate system that you probably don't need than to pay microsoft $100/yr to license your games for playing/distro on the xBox?...Nevermind, now I realize why it's better: The $250 doesn't go to Microsoft! Duh! I shoulda figured that out!Really, though, I could spend 2 years developing a game with ZERO DOLLARS out of pocket. I can compile and play it on Windows, with ZERO DOLLARS OUT OF POCKET. I can then, if I choose, suscribe to their service and share my game.

You had access to the graphics hardware only through OpenGL, which eliminates pretty much all of the fun of working with a highly specialized platform. You also could not use the internal optical drive for anything but loading linux. On the PS3 the rumor is that you don't even get 3d graphics (but I haven't had this confirmed yet.)

The PS2 Linux kit came with PDFs of the documentation that came with the professional very expensive Linux kit. I believe you receive 6 out of the 7 documents or something like that. I know they just didn't include one, though I don't remember which one it was.

The press release says that they're working on removing the Creator's Club requirement for playing XNA games.

The reason you need to be a member of the Creator's Club as of now is because of the XNA framework - a souped-up version of the.NET framework - that your games are built on top of. Your games won't run without it, which means anyone who wants to run your game needs it (i.e., be a member of the Creator's Club.)

Only on the xbox 360. you can code some regular old c# computer apps that use xna and there's a redistributable package that lets people run it. I think this whole thing has nothing to do with helping the xbox, or making money on the "creator's club" and a heck of a lot to do with pushing C#,.NET and XNA on the development market.

All the $99 gets you is the ability to compile the code for you 360 and run it. You can freely develop on a PC and you don't have to pay the annual $99 fee. Sure it's not a tone of money, but it's not exactly cheap.

Yeah but a PC isn't an XBox, nor is it a game console. The last system that let you do homebrew on a game console was the Playstation Yaroze, and that was $800. You can also do some dev on systems like the Dreamcast and the GBA, but thats using unnoficial tools.

If you look at it that way, $99 is a pretty good deal. Yeah you can develop games for your PC for free, but the people who are going to be paying that want to develop on a console.

Yep, you're right, also don't forget that since you authored the code, you can develop against the GPL ver, and can just buy a QT license to distribute it if you decide to keep it closed. Seems fair to me.

Now before you start flaming away @ this, hear me out. I am a longtime Linux user myself (Slack 11.0 as of this writing) and am as big a M$ hater as they come. This time, though, M$ actually has a good idea.

GASP...HORROR!!!!

One of the biggest draws for me to PCs and PC gaming was the indie game development. I got tired first of platformers, then of FPS's, now of third person sneak arounds. The PC seeme

Agreed,This is a major hit, and probably will boost PC and XBox game development. But, can it mean the end of Linux gaming? XNA will be the way to go for most development houses out there, and AFAIK it depends on Vista-only features... so probably Cedega/WineX won't help us.

So, can Linux gaming have any hope of survival? I guess so, it looks like Microsoft wants C# to be the official language for game development, and we already have Mono, so in theory one could wrap the XNA API around SDL, ALSA, etc... to

After paying for a license for windows, visual studio, your $100 fee (per year), you're very close to getting a $2000 full dev kit for the Wii. Although I'm not sure if they'll sell them in units of 1, I think it may be possible if you could get 20 of your closest internet friends together and order 20 dev kits. I don't think they'd really turn you down.

Way to fail to own it. They gave you something free (yes, there are caveats) or at worst dirt-cheap, that others sell for much more. You can now choose -- your wallet or your "must-irrationaly-hate-ms" reflex?

God help you if the indians get close to you with a few "gimme" rounds of texas hold'em. You'll never break free.

...you see where I'm going with this?

it's almost like this truly vicious practice that many shareware vendors have (wolves in sheeps clothing, these guys). They offer you up a fantastic game as a trial version and then ask you to pay for it if you love it.

bastards.

I can imagine that Sony and Nintendo are none to amused at this, so I'll just sit back and wait for them to file antitrust complaints.

...yeah. but it's MS that stifles innovation. What antitrust issue do you see here? The 2nd place player in a field tries to gain an advantage by giving things away... I'd come up with an analogy but they seem to obvious. I'll let you run with it.

The only reason behind the $100 charge per year is the same reason they charge for approving drivers, or they charge for Xbox Live:

To keep the riff-raff out.

If you're paying $100 a year, you're likely a responsible enough adult that you'll not constantly submit Xbox Live Arcade games that completely suck, have no chance at being published, and waste a lot of Microsoft's time. (They charge for driver certification so they driver makers don't start using Microsoft as a free QA service. Similar concept. They charge for Xbox Live subscriptions so assholes don't make 30 of them to dodge bans.)

It's a valid practice. $100 a year is NOTHING to anybody actually interested in game development, the only one is hurts are little kids who would produce crap games anyway. (And even THEN, they can produce as many crap games on PC as they want; the $100 only applies if you want to run it on an Xbox.)

I like the insane leaps of logic required to make giving free dev tools away to the public look like a bad thing. While you're making up anti-Microsoft bullshit, remember that releasing stuff like this is what is going to give Microsoft a huge lead in console gaming and leave Sony in the dust.

You've accused me of lying (that's emotionally loaded terminology in my mind)You're use of "m$" clearly identifies you as a disinterested observer? We all have opinions that we bring to the table. That mine is different than yours does not make me evil. ...and then you accused me of lying for money. We disagree somewhere, lets have a conversation rather than a shouting match.

For what I know you are the aggressive shill who is trying to push your opinion down the throat of everybody. Also according to his Slashdot serial he was already here when you were just discovering the intarwebs on your AOL connection.

(By the way my fancy word is more interesting than yours but keep it up you may impress one of your little nephews one day and who knows, maybe even sound intelligent! )

Duh. M$ is leveraging their desktop operating system monopoly to gain an advantage (cross-subsidizing from their monopoly) in console gaming. That may be illegal.

Perhapse. Mostly, I see it as a ploy to get kids to beg their parents "Oh, I can build games for the 360. Buy me a 360, please!!!!"If Sony was smart, they would go to a major games developer (EA?) and try the same thing for PS3.Or just wait for Mono to be ported to PS3 and then write drivers for it.

What company on the planet DOESN'T use existing sales dollars to create and subsidize new products?companies prevented from doing so by anti-monopoly laws? They're grossly undercutting other options in order to tie indie games to thier platform.

The biggest problem with microsoft is that there are no analogies. No other company, process, or idea has the kind of staggering monopoly they do.

Oh, and I checked ribond's history. He says some things which worm into your head, like this [slashdot.org] one, but I don't think th

I can imagine that Sony and Nintendo are none to amused at this, so I'll just sit back and wait for them to file antitrust complaints.

This was at the bottom of your post. I think it should be more prominent, since this is an excellent point: Windows is a monopoly; getting developers to prefer XBOX to other consoles because of Windows-interoperability is using a monopoly to gain an advantage in another field.

This is no different than if Office had some 'special hooks' into Windows (before Office was a

...Microsoft makes a low cost development kit and it is an abuse of monopoly? If anything, this opens up the field to smaller developers who can't afford the multi-thousands-to-tens-of-thousands cost for the equivilent Sony or Nintendo kits.

Seriously, there are plenty of reasons to hate MS, this sin't one of them.

The Creator's Club is only necessary if you want the extra content/samples/support or if you want to run XNA games on an Xbox 360 (for now you'll have to have a Creator's Club membership even if you only want to run others' code, but that should change in a future release). If you just want to build Windows games using XNA then there's no reason to get a Creator's Club subscription.

My own assumption based on comments from the XNA development team and community comments during the beta (XNA has been available in beta form since August). Right now, to be able to play XNA games on an Xbox 360 you need to have a Creator's Club subscription. This allows you to build and deploy your own games. The majority of the Xbox userbase has no interest in building games and would rather just play games instead. That's fine, but $100/year to be able to play indie ga

Those of us who haven't upgraded should note that this is only for the 360, not the regular Xbox.

That's okay. You can still use it to write Windows games for free, and if/when you do upgrade to a 360 it won't be much extra work to port your game to 360. At best it's just a matter of setting up a new project using the same source and building that; at worst you may have to change some code if you're doing something the 360 doesn't support.

Not that this matters, as there are already many ways to develop for the original Xbox. If you have one of a few specific games, a memory card, and a USB cable you don't mind hacking you can do it for free.

I wonder if anyone will ever attempt to use Mono to create a compatibility layer for these games to run on Linux/OSX or even on the original XBox. Presumably this would just be "a simple matter" of reimplementing the APIs used by this toolkit, since Mono is compatible with Microsoft's CLI already.

I would love to see Nintendo do something like this. I think allowing development using the SNES dev kit would allow those who want to get into console game development somewhere to start, yet not compromise what they are charging for their professional kit.

I think allowing development using the SNES dev kit would allow those who want to get into console game development somewhere to start, yet not compromise what they are charging for their professional kit.

SNES games were coded in assembly. They wouldn't gain much by opening that up.

GBA is the sweet spot - powerful enough to code in C/C++, but weak enough that a team of a couple people can max out the power of the system.

GBA is the sweet spot - powerful enough to code in C/C++, but weak enough that a team of a couple people can max out the power of the system.

I'm not sure what point you are trying to make. Almost no system is too underpowered to run compiled code, including the SNES. There is no system available on the planet right now that cannot be maxed out by one or two people... Even the most advanced renderers can be implemented by a very small number of people.

I'm not sure what point you are trying to make. Almost no system is too underpowered to run compiled code, including the SNES.

Obviously you can run compiled code on the SNES. You're just not going to get very good performance out of it. You have 3 general purpose registers on the SNES CPU. Compilers don't create very good code when they're that register starved. You can certainly code an average game in C, but if you're trying to do anything impressive, you won't get the performance you need.

Not exactelly. Here's more wikitrivia for you: the CPU of the SNES was a Ricoh 5A22, which was based on the CMD/GTE 65c816, itself a version of the WDC 65C816. Now, the WDC 65816 was also the CPU of the Apple IIGS, and that is why the Apple IIGS was used as an early SNES devkit. Also, some SNES games had a built-in processor, the Nintendo SA-1, which was also based on the 65816.

GBA is the sweet spot - powerful enough to code in C/C++, but weak enough that a team of a couple people can max out the power of the system.

I'd say Sega Genesis is a sweet spot, too. 68K, large address space (4 megabytes in a cartridge with no bank switching), good C compilers (people have supposedly used MPW C with it), decent graphics/sprite support, less colors than SNES, but still a decent selection, and the original Sega documentation is out there. You won't be doing 3D on it, but it's a darn good 2D system. Used consoles are easy to find, cartridges are relatively easy to make, and it's supported for Wii download games.

I emailed Nintendo about the indie option. I don't think it's going to be a go any time soon. I was told the usual bit, about needing prior game(s) and of course be a corporation. Along with financial requirements et al.

I don't see why anyone would want experience developing a SNES game, it wouldn't transfer well to modern consoles. If you just want to know how the SNES works, an open-source emulator is the ultimate documentation. If you want to develop an indie game, it's a no-brainer to do it on PC. A top-of-the-line PC is already far better than any console including PS3, and if the game is good enough to be released on a console, porting it will be cake compared to building it in the first place.

A SNES really isn't that far removed from a GBA or DS. The 2D capabilities of all 3 systems are quite similar. And interestingly enough, the sound processing on a DS is also quite similar. I wouldn't say that it's completely different.

Aaanyway. Nintendo has done you one better by providing Flash support in the Opera browser included in every Wii. That means that you can play games developed in Flash on your Wii using the Wiimote.

Opera is already installed on every Wii (it's used to power the Wii Shop Channel), but to access other websites you have to use DNS redirection hacks... Once Opera is properly "released" you'll be able to use it freely. Meanwhile, wiicade.com [wiicade.com] is a website dedicated to developing/promoting Flash games explicitly designed to be played on the Wii.

It would be interesting, but I think you'd find programming for the SNES and modern game programming to be different beasts.

Back then, with much smaller resources, a lot of work was still done in assembler and some pretty low level code that is now taken care of by libraries. There isn't the need to squeeze every last inch of functionality out of hardware any more, and the coding is a lot different.

I stopped off at the Sony exhibit at GDW in San Francisco, only to be told the complex method of developing for PS. I have to say that, Sony can go fuck themselves! As much as one can dis MS, and I've been an Apple user my entire life, they know how to create a development community. As a matter of fact, I have asked Apple about developing games for the iPod, receiving the same cold shoulder.Dear companies, not everything is going to make a million dollars, deserving an expensive subscription or development

It strictly allows only non commercial development and no distribution including free over the net. There's is another commercial version that'll be released early next year but you still face the Microsoft bottle neck. You can't release commercial games unless they approve of them and take a health chunk of the profits. It'll allow you to develope for the Xbox 360 at a much lower risk but there are no guarentees you'll be able to release the game on Xbox 360. Microsoft still retains the final approval and demands their pound 'O fleash.

I'm not a game developer and I don't know much about it but what's the costs associated with developing for other consoles? MS offering educational stuff for free or damn close to it isn't that bad of a deal, from where I sit.

MS put a lot of cash down to develop an entire platform, they stuck out their necks... if you're making cash from a venture involving their proprietary platform tell me where their cut comes from?

A lot of people are going "holy cow! xbox programming! yay!" and ignoring that they're giving us tools that have existed in the pc world for decades. Microsoft isn't giving anyone anything.. they're seeing how much we'll pay for what we can get for free.

There are two possible answers to this:

When was the last time a company gave you a very inexpensive way to develop games for a console system? The last I can think of was Sony's Net Yaroze [wikipedia.org] (essentially a limited PS1 dev kit), but that was quite a bit more expensive than XNA currently is (at $100/year, it'll take 7.5 years for a Creator's Club subscription to equal the cost of a Net Yaroze). PS2 Linux doesn't count as it was seriously hindered in its capabilities, and PS3 Linux won't count until you can fully utilize the GPU. GBADev [gbadev.org] and DSDev [dsdev.org] don't count because they're not official development tools provided by Nintendo and rely on hacks to allow you to run your code on the handhelds directly.

What other frameworks allow you to build games for both PC (windows) and console (xbox 360) at the same time (there are a few minor differences you need to take into account, but if you write a game for Windows using XNA it's mostly trivial to re-build that for 360, with maybe a few shader tweaks here and there)? Do those frameworks allow you to load your game onto the console in a "legal" (non-modchip, non-hack) way? A framework like Torque doesn't count becase you still have to be able to get a 360 dev kit to be able to run your game (dev kits cost upwards of $10K, and getting one requires you to jump through a bunch of hoops proving that you're a competent software developer with a high likelihood of actually being able to ship your game in a timely manner among many other things).

That tools like this have existed on the PC for a while is a red herring, because tools like this for consoles generally have not. If you want to stick with PC development, that's fine, but it's orthogonal to the discussion at hand.

They recently announced that they've 'broken even' on hardware. I took this to mean they've become efficient enough that the cost of making one is now the same as the money they get from selling it. So technically they do make a tiny amount off the console itself. (It's been suggested that now that they're breaking even they're ready to drop the price some more to compete against the PS3 better).

Microsoft isn't giving anyone anything.. they're seeing how much we'll pay for what we can get for free.

What are you talking about? A consumer/indie console sdk is a dream come true for anywone who's wanted to develop on a console. Show my any pygame app deployed on any console that comes anywhere close to looking like XNA Racer.

I'll get right on working on a version of Open Office that runs on the Xbox:-D Then I can use that incredibly fast direction pad to type my documents. Ooh and I could bring in my Xbox for powerpoint presentations at school and have some fun when I'm not using it for that! The possibilities are endless! You may think that's a dumb idea but have you looked at the public domain roms made from scratch by people in their basements for earlier consoles like SNES, Genesis, and N64? THEY SUCK! Regular people aren't very good at console programming I guess. Office it is!:-D

OpenOffice is already available for the Xbox, I imagine... but with only 64m of RAM, it's not going to be pretty.

I run Xebian on my Xbox, and run mythtv-frontend from within there to watch my mythtv. It's just barely passable, the famerate is sometimes noticable. Anyhow, it's a full Debian system; I'm sure OpenOffice is in the package management.

Here is some interesting code, using C# and the pixel shader which draws fractals 60 times a second [msdn.com] using the XBox GPU. Initially I was skeptical about coding games with managed code (like C#), but it looks like we will see some games written in.Net. The drawing underneath still gets done natively, but you will be insulated to some extent.

Here is some interesting code, using C# and the pixel shader which draws fractals 60 times a second using the XBox GPU. Initially I was skeptical about coding games with managed code (like C#), but it looks like we will see some games written in.Net. The drawing underneath still gets done natively, but you will be insulated to some extent.

XNA is just the next version of DirectX's managed interface (it's changed quite a bit from DirectX 9's MDX interface). Anything you can do with DirectX, you can do w

Why surprised? Once a program says "draw this polygon" it's up to the graphics chip to render it. The graphics chip doesn't know or care whether the command came from managed or unmanaged or anything else. On the other hand, managed code is probably capable of saying "draw this polygon" a lot fewer times per second...leaving the graphics chip a lot more time per polygon to spend on those extra pixels.

I come from a low level graphics programming background. Having played around with the XNA betas that have been out for a while, I must say that XNA is probably the easiest way to get an amateur started with DirectX programming and game development. It seems almost like Microsoft is trying to get the grass roots hooked onto the platform so that the next generation of game programmers prefer the MS platform.

Oh, and people who compare XNA to game engines like Ogre are missing the point. XNA is not a game engine, it's more of a development tool/platform. It does come with lots of library code, but it's not a full-fledged game engine.

I attended the XNA Open House [msdn.com] this evening. The first demo consisted of downloading a model from TurboSquid [turbosquid.com], adding it to a XNA Game project, writing about 15 lines of code... and boom -- there was a rendered ship that was lit, spining and was controlable by the 360 controller. Ridiculously easy.

The entry barrier has been lowered significant. I forsee alot people taking advantage of this platform.

Don't think this is a game engine or anything, this is very close to being a wrapper around Direct X, execpt missing alot of features of DirectX including most of DirectInput. It's ok for making Xbox360 games, but there are MUCH MUCH better toolkits for free for PC development then XNA.

this is very close to being a wrapper around Direct X, execpt missing alot of features of DirectX including most of DirectInput.

Absolutely correct. Think of XNA as MDX (Managed DirectX) version 2.0. Oh, and DirectInput is missing because that's being replaced by XInput [wikipedia.org]. It's easier to work with, and will be the way of the future (DirectInput will still be supported in DirectX, of course, since DirectX strives hard to be backwards compatible across versions).

I think that the "Developers" chair-throwing speech is exactly why MS is #1. Other companies (especially OSS companies) need to get just as excited about supporting developers if they want anywhere near that kind of success.

The one thing that Microsoft does extremely well is document and provide tools to develop software for windows.(free tools such as visual c# express offer non-commercial developers a cheap IDE). It's why there is a much larger number of applications written for windows than for Unix like systems.

By applying the same principles to the Xbox 360 they might just find that more people use the system because of what they can do with it, not because of the numbers.

"It's why there is a much larger number of applications written for windows than for Unix like systems."Its nothing to do with that. Unix/linux has as many if not more tools to develop code on than windowsand besides which , the majority of unix coders are happy coding at the command line with "cc" and "make"if theres no GUI dev env available (some even prefer the cmd line , myself included). How many windows coderscould work from a DOS prompt?

The one thing that Microsoft does extremely well is document and provide tools to develop software for windows.(free tools such as visual c# express offer non-commercial developers a cheap IDE). It's why there is a much larger number of applications written for windows than for Unix like systems.

You must be new here. Until very recently, even the entry-level development tools were expensive and cumbersome to use. The vast majority of people who created apps for MS OSes when I was in school could only afford

I can see how this would be a great way to bridge the gap between PC and Console games. The game that I'd really like to see the light of day is Shadowrun Online. A game like that has enough variation in character archtypes and abilities that you could easily break it out across multiple platforms. Although characters like mages and shamans might require a pretty keyboard intensive interface, some of the more simple characters likes street samurai's and physical adepts could be controlled with a gamepad

Microsoft is positioning themselves to capitalize on the participation & creativity of their user-base. Being a producer is the new consumer v2.0;)

We can see this transformation across corporate culture with the flood of web 2.0 software and services. It simply far more profitable to have your consumers produce the content that you service that it is to make content your self. This also shapes the traditional big budget game productions look at what EA is trying to do with Spore or the popularity of

If you already have a Torque Game Builder license, you can also use Torque X to make gamesfor the Xbox 360. I just discovered the release, so I dunno how similar this will be to TGB,but they use the same scripting language for all their products. I'm guessing only some minorporting is needed, and that gives you four platforms to make games for (Mac, Linux, Windows, 360).

Although I personally am not interested in this, I know lots of other people are.I dont see the "you need to buy the subscription thing to play games on your 360" or the "you need to compile from source" or the "managed code only" as that serious.To me, the 2 biggest lacks is:C# only. No managed C++ or other languages.and the real big one: Programs written for the XBOX 360 cannot communicate with the outside world at all (i.e. no networking period). This is by far the biggest limitation of XNA Game Studio 360 IMO.

Since we're on the topic, I have a web site - www.threesixbox.com [threesixbox.com] - dedicated to XNA projects. It already has a good number of user-submitted projects for you to try out, many of which have the source code that you can study and learn from. Currently all the projects a PC-based, so you don't need to be a member of the Creator's Club to try them out.

Is it just me, or would this speed up the development of Linux on the XBox 360?

It's just you. I guess it might be technically possible to build a virtual machine on top of the.NET Framework Compact Edition which could then run Linux, but that's not anywhere near the same as running Linux on the Xbox 360.

Is it just me, or would this speed up the development of Linux on the XBox 360?

It's not obvious that this is the case, but it may well be useful. It largely depends on how much access to the hardware the developers have. If it is all abstracted through bullet proof drivers and the.NET VM, then it may be fairly uninteresting. If developers are able to poke the machines directly and tinker on a fairly low level, then they may well be able to sort out some things which will be useful to the Linux dev commu

C#/.NET is only support on Windows period. Microsoft has not support C#/.NET on any other platform. Mono is not a Microsoft sanction product. Microsoft has NEVER embraced Mono. Microsoft, if they decide, can pull the plug on Mono anytime. In fact Microsoft's agreement with Novell may be one step in the direction.