18,083 reputation
53682
bio website andrewrussell.net
location Brisbane, Australia
age
visits member for 4 years, 1 month
seen 2 days ago

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
29
comment XNA, how to draw two cubes standing in line parallelly?
Actually he's wrong. You cannot modify a state object once it has been set onto a device. Nor can you modify the default states. You'd need to create a custom DepthStencilState object, if you wanted something other than Default. Source. Suggest you edit it back.
May
24
awarded  Stellar Question
May
22
comment SpriteBatch, trying to reduce draw calls
Note that profiling this kind of thing can be tricky - for example: is it the CPU or GPU slowing you down? As I said, at this stage you've basically maxed-out the performance for SpriteBatch (providing every particle you draw uses a single texture - see here). To improve performance, you have to go beyond SpriteBatch. If the CPU is slowing you down (and it probably is), perhaps you need to offload onto the GPU (rough example here).
May
22
comment SpriteBatch, trying to reduce draw calls
Uh... the only time Immediate mode is faster is when you've only got a couple of sprites per batch. So unless that particle system has, like, three particles in it, you're going to want to use Deferred.
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.