views:

318

answers:

4

I'm working on a casual game on XNA with the intention of deploying to the Xbox 360. I'm not going to have access to hardware for a few weeks and I'm on a tight deadline, so I'd like to test that a few things -- Boo and a few custom libraries -- will work properly on the 360. If they don't, I need to work around them sooner rather than later, so testing this is quite important.

With that explained, is there a way I can go into a 'simulator' of sorts to run code on the .NET Compact Framework for 360 before actually deploying to the 360?

+4  A: 

Well, you could try writing a quick app for a Windows Smartphone, and run it in an emulator. Obviously, this won't work for XNA specific code; but for any runtime libraries that Boo or whatever you're using work on the emulator, they should work on the Xbox.

For the XNA code you write yourself, just compile it against the Xbox 360 target.

TraumaPony
+3  A: 

As TraumaPony said. Simply load the main game assembly in to Visual Studio and try to compile it. It won't if you try to make a reference to an assembly outside the those that ship with the 360.

Nidonocu
+1  A: 

Aside from making sure that the libraries compile onto the 360, you will need to think about your project's object allocation profile. Since the compact framework uses a different garbage collector, it's much more sensitive to constant allocations. When it does a collection, it needs to walk the entire object graph instead of how the desktop collector uses generations. So you will want to make sure that you're newing up as few objects as possible during runtime :-)

Joel Martinez
A: 

The key thing here is to understand that only .Net code will run on the Xbox 360, so any custom library you want to use must be a .Net assembly. The second thing to understand is that the Xbox is running the compact framework, so anything that isn't included in that won't work. This is easy enough to test against by compiling the project for the 360 like the above post.

To be honest, I took a quick look at Boo, and couldn't tell what it was built in, so I'm not sure if it will work. I also don't understand the point of using Boo inside of XNA, but that's not what you're really asking.