Questions and suggestions

Just a couple of small observations/questions from a quick play

1: Is there a reason I'm missing why Microsoft.Xna.Framework is copied local to the output app, and Microsoft.Xna.Framework.Game isnt. I could understand if both werent or both were, just a little confused why one is and one isnt.

2: From the Content Pipeline video on the XNA Team blog I would assume that Assets (Models, sounds, etc) are saved basically as resources in the exe. The reason I assume this is that the content is build when you compile, theres no mention of the files existing on the filesystem in the new xna binary format, the code for using a Model seems to imply that the Model is already in memory. Is this true If so will there be a mechanism for loading these binary files at runtime instead - I'm pretty sure I wont fancy addign 500MB of assets to the project and get a 500MB EXE. Especially if 100MB could be assets that the user may never see as they appear later in the game.........(numbers made up btw)

3: When the 360 version of GSE comes out will we be able to simply change the target machine Would it be possible upon build to highlight any potential errors (perhaps even if the 360 version isnt installed). For example, I use a System.Net namespace class, could the compiler warn that this is not available on all platforms One of the team members in a blog said that the code was 95% the same (although most games would be 100%)- perhaps a warning if you stray into that last 5%

4: More of a .net question really, but shouldnt (in theory anyway) the Windows Exe run directly on a 360. I thought that the point of the .net framework (or rather one of the points) was that you're not compiling directly to machine code- you compile to bytecode which is in turn compiled upon running by the machine. Given that the .net framework is apparently available (in a stripped down form) on the 360, the same exe should run (provided that the developer hasnt referenced any Windows specific assemblies)

5: As ultimately I'd like to target 360 and Windows what assemblies is it safe to assume will be in the 360 .net framework - from other posts I've seen that System.Data isnt, System.Xml is, but what about Threading for example

6: Dont know if anyone will know this but will the GSE Pro be available on MSDN under a developer subscription Or will I have to upgrade (or is it only available to registered 360 developers ).

I think that was everything ;)

Neil




Answer this question

Questions and suggestions

  • Dasa

    1: It's a bug!

    2: Currently the content pipeline does not have any postbuild packfile or embedded resource support: it just leaves the assets as external binary files in the same directory as your .exe. As you say, that's pretty important to keep link times (and deploy times on Xbox) under control when you have lots of big assets!

    3: We currently have two different Visual Studio project flavors for Windows and Xbox, so although the code is shared, VS doesn't know about the other platform to the one it is currently compiling for.

    4: The IL bytecode is the same, but the system libraries are very different. Even basic things like mscorlib, let alone our graphics namespace, have sufficiently different implementations that we can't count on the same compiled code working across platforms. Also, we need to rebuild your content for each platform (there are lots of differences in texture formats, vertex data endianess, etc).

    5: Threading is included. As a rough guide, look in the MSDN docs to see what is included in the Compact Framework. Then remove everything to do with networking, and that's basically what we have on Xbox.

    6: Can't discuss plans for future releases yet, sorry!




  • Questions and suggestions