Screen capturing your XNA game on Windows is a straight forward task, unfortunately it is not as easy if your game is running on the Xbox. Luckily Shawn Hargreaves explained an interesting technique for capturing screenshots from Xbox XNA games.
Category: XNA
Dream, Build, Play… Go!
Dream, Build, Play looks live!!!!
Multithreading for the Xbox 360
When multithreading on the Xbox 360, here are a few things to keep in mind.
Affinity
In multithreaded programming, programmers often lack the ability to specify the Processor Affinity of a thread. Even when API calls are available to specify a processor, it is usually ignored. The reason for this is that modern operating systems have many processes running, each with many threads. The operating system zealously manages processor affinity in order to maximum some metric.
The Game Of Life
I had been thinking about creating a version of Conway’s Game Of Life for XNA, but it would appear that I was beat. I just found this one, which is far nicer looking than anything I could have thrown together.
Embedding Assets Into Your XNA Game
Currently I am a working on a small XNA project whose solution is composed of 4 projects, a DLL, a Windows Game, a Xbox 360 game, and a level editor. Each projects needs access to my assets (currently just 2d sprites), and has raised the interesting question of how to easily share them between each project.
What I had been doing was adding the assets to the Windows game as pipeline content. After compiling it I would then copy the compiled assets from the bin directory, to the bin directories of the level editor and the Xbox 360 game. While this worked, it was error prone and time consuming.
Instead I found that I can add my assets to the DLL as embedded content, and then load them at runtime. Normally you would have probably loaded content by calling the "Load" method of "ContentManager", like:
_content.Load<Texture2D>("mySprite");
As stated above, the problem with this solution is that "mySprite" would have had to been compiled into the content pipeline. When your assets are added as embedded content, the above method does not work. Instead, you can load your content like this:
Assembly asm = Assembly.GetExecutingAssembly();
Texture2D.FromFile(_graphicsDevice, asm.GetManifestResourceStream("SampleProject.Textures.mySprite.png"));
Xbox 360 Button Icons
I guess its true that old news is new news if you’ve never heard it before. In case anyway else missed this, back in September Sinnx at 360P posted Xbox 360 Button Graphics.