17,958 reputation
53681
bio website andrewrussell.net
location Brisbane, Australia
age
visits member for 4 years
seen yesterday

Hi! I am Andrew Russell. I'm an indie game developer from Australia. I'm a Microsoft MVP for XNA/DirectX.

Visit my blog at AndrewRussell.net or follow me on Twitter @_AndrewRussell.

Spending too much time procrastinating on Stack Exchange? Or wish you could block the Internet for a while, but need to whitelist Stack Exchange? Check out my Kickstarter: Connect for a Reason.


My current game dev project is Stick Ninjas A 2D multiplayer platformer-shooter. I'm doing a weekly DevLog video series about it, which you can watch on YouTube.

My previous projects include:

  • ExEn, a cross-platform port of XNA that runs on iOS, Android and Silverlight
  • Light Blocks: cross-platform falling-block game to demonstrate ExEn
  • Dark: A 2D physics-platformer with fancy lighting effects (PC and Xbox 360)

May
22
comment SpriteBatch, trying to reduce draw calls
What are you trying to achieve here? A performance improvement? Or do you literally want to reduce the number of C# method calls? Because the code you have there is basically optimal for performance, as far as SpriteBatch internals go.
May
21
comment How can I scale Farseer bodies so that they work on different screen resolutions?
Physics should always run at a fixed scale. If you scale the size of physics objects by screen resolution, you'll get different results out of the physics simulation on different devices! Only scale what you render.
May
21
comment Reusable top-down collision class
@BjarkeCK: Yes, you need to do extra work to handle cases like that. I am not well versed enough to fully explain how to handle them properly (I just use Farseer and call it a day). Possibly take a look at "Section 5" of this link.
May
17
revised Why is BayazitDecomposer inaccessible when upgrading from Farseer 3.3.1 to Farseer 3.5?
Removed code dump and improved title
May
15
comment Improving effect performance in XNA
Also, multi-threading isn't going to have any effect: you're almost certainly GPU-bound (probably fill-rate). XNA doesn't support multi-threaded rendering anyway.
May
15
comment Improving effect performance in XNA
Possible duplicate: "A big light with shadows".
May
11
comment Convert triangles to quads of a Mesh
Also, for anyone interested, there's a cross-post on Stack Overflow here.
May
11
comment Convert triangles to quads of a Mesh
Is this for an arbitrary triangle mesh (as your diagram implies)? Or for a mesh that was originally quads? And what is the intended purpose? Are there any restrictions on the end result? Fewest quads? Most square-ish quads? etc...
May
9
comment How to properly handle top down 2D collision?
Yes, it is. Although maybe add more details to your title.
May
9
answered How to properly handle top down 2D collision?
May
9
comment How to properly handle top down 2D collision?
@Thegluestickman You can probably salvage this question. You need to reword it and provide more information about how you're doing collision detection, so that it is a specific question with a specific answer. But MickLH is right - you probably should be using middleware like Farseer (although I can't firmly recommend it, because, again, you haven't provided enough specific details about what you are trying to achieve).
May
6
reviewed Leave Open Mandelbrot generation using custom HLSL shader in XNA
May
6
revised Mandelbrot generation using custom HLSL shader in XNA
added 1061 characters in body
May
6
answered Mandelbrot generation using custom HLSL shader in XNA
May
5
comment Obfuscating Monogame assets
@ClassicThunder Well... you defeat bog-standard XNB readers. So it raises the bar to people who can decompile. And then, if you obfuscate your assembly, it raises the bar even further. Further still if you only target, say, iOS. So it's not completely without merit.
May
5
comment Obfuscating Monogame assets
@VaughanHilts Will that work? I'm under the impression you can only add types - not modify the available formats of existing types.
May
5
answered Obfuscating Monogame assets
May
3
comment How should I draw the GUI if I use a 2D camera?
Ben, I've got to agree with @ClassicThunder. You're wrong. You're giving out bad advice. In the vast majority of cases passing a transformation matrix to Begin is preferable to manually transforming each and every Draw call. The primary reason, amongst many, is DRY..... Also, SpriteBatch does not work well for a proper 2D scene graph using either method. AND your code is broken for any camera matrix besides translation - a camera that scales is not atypical! (The OP has a scaling matrix in his question!)
May
3
comment How should I draw the GUI if I use a 2D camera?
When I answered here, the answer that I linked already answered this question. Use multiple batches.
Apr
28
comment A cool way of doing Z-index for XNA components?
@BrainSlugs83 That's how I'd probably do things, just to make the code neat (although it gets more complicated if you have to start using scissor rectangles to make scrollable regions). But to get the performance benefit of batching, you have to also reduce the number of texture swaps by using a texture atlas, and for a UI this may not be worth the effort.