18,118 reputation
53682
bio website andrewrussell.net
location Brisbane, Australia
age
visits member for 4 years, 1 month
seen 4 hours 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
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.
Apr
24
comment Why is my cursor not working if I add a scaling matrix?
@Homer_Simpson Try Invert(scaleMatrix * camera.GetMatrix()). The Invert method is what you want to use - you just need to get the maths right.
Apr
23
comment Why is my cursor not working if I add a scaling matrix?
Add the code you're using to get the cursor position, and the code you're using to draw the cursor.
Apr
23
comment How can I use a camera matrix with different resolutions?
@Homer_Simpson That's a separate problem - please create a separate question for it (add links between the two, if you like). I've reverted your question to its original state. Please don't keep tacking additional questions onto a question that's already been answered.
Apr
23
revised How can I use a camera matrix with different resolutions?
rolled back to a previous revision
Apr
22
answered How to rotate vertices of 2D shape using a transform matrix?
Apr
21
comment How can I use a camera matrix with different resolutions?
No, they are not the same. However your custom matrix does not appear to be performing any kind of sensible transformation operation. Which is another good reason to construct your transformations from the Create* methods. A translation matrix is: (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, X, Y, Z, 1).
Apr
20
awarded  Excavator
Apr
20
comment XNA Platformer Sample: Supporting multiple resolutions?
I've updated the link in the question. The link in my previous comment no longer works (and you can't edit old comments).
Apr
20
revised XNA Platformer Sample: Supporting multiple resolutions?
Fixed the link
Apr
20
answered How can I use a camera matrix with different resolutions?
Apr
20
comment How can I use a camera matrix with different resolutions?
@Homer_Simpson I don't think Fletcher means to use that code specifically. You can multiply matrices together to combine their operations. For example: you could combine a translation matrix (as per Fletcher's example) and a scaling matrix (CreateScale) that considers the viewport size. Order is important. This will make your code far clearer and easier to work with, than creating a matrix element-by-element.
Apr
20
comment A problem with texture atlasing in Unity
What I mean is, are you using "XNA" or "Unity" or something like that? Or are you looking for something that works with the .NET framework only (System.Drawing perhaps). Although even if you provide that info, I'm not sure your question contains enough information about what you are trying to achieve to give you a good answer. Try expanding it.
Apr
19
comment A problem with texture atlasing in Unity
This question seems to be incomplete. What API are you using?
Apr
17
comment XNA - Store and define level event
(Note that I just added a quick update to my answer on the question you linked.)
Apr
17
revised Scripting engine for XNA
added 162 characters in body
Apr
17
answered How to use camera transformation without depending on (1,-1) scale during spriteBatch.draw()