17,468 reputation
43579
bio website andrewrussell.net
location Brisbane, Australia
age
visits member for 3 years, 9 months
seen 1 hour 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)

Jan
7
answered Update Camera manually after Camera's target updates, bypassing the game loop. Is this a good or bad practice?
Jan
7
comment Separating axis theorem with multiple polygons?
One idea, that I've never actually got around to testing, is that some separation axes - the ones that would move you sideways into an adjacent polygon - could be flagged to never be considered as the minimum. Then some kind of repeated-test would give good results (possibly with some kind of FIFO and/or iteration limit to prevent getting stuck in a loop).
Jan
7
comment Separating axis theorem with multiple polygons?
Using edges (particularly edges, it's slightly better with edge chains) has the major disadvantage that that it becomes very easy for physics objects to glitch inside the level geometry.
Jan
7
revised Separating axis theorem with multiple polygons?
edited tags
Jan
5
answered Attaching a Body to another, without the new body impacting the physics of the first in ANY WAY
Jan
5
revised If SpriteBatch.Draw's SourceRectangle is null does a rectangle still get created?
added 35 characters in body
Jan
5
answered If SpriteBatch.Draw's SourceRectangle is null does a rectangle still get created?
Jan
5
comment How to loop through objects in class (XNA)?
@JamesG You wouldn't want to do this. There are many scenarios where you want to have more than one list. So which list do they get added to? Best to make it explicit, as per the answer.
Jan
5
comment How can I provide a scrollable inventory list?
ScissorRectangle and Viewport must be pixel-aligned rectangles within the bounds of the backbuffer. Use a stencil buffer or render target if you want to do fancy 3D-effect menus.
Jan
5
answered How can I provide a scrollable inventory list?
Jan
3
comment How can I render 3D dots at object vertex positions?
Which version of DirectX?
Jan
2
answered how to make a onMouseEnter events in xna
Jan
2
answered What's wrong with using a static class to load and expose all of my assets?
Jan
2
comment What's wrong with using a static class to load and expose all of my assets?
You know, ContentManager is already a dictionary of loaded content (until you Unload it). So any implementation of this can simply use it directly, rather than creating and filling a separate dictionary.
Dec
30
comment Is the GraphicsDevice.Clear call in XNA necessary in 3D?
Except that XNA has a habit of clearing the backbuffer to "uninitialised purple" after a swap operation.
Dec
30
comment Is the GraphicsDevice.Clear call in XNA necessary in 3D?
Extra info: The purple is the uninitialised surface colour. It is used instead of giving you garbage memory, to make it easier to find bugs. The reason you don't get trails (@Byte56) is because XNA (oddly enough) makes the surface uninitialised every time you swap the front buffer to the back buffer (ie: Present). Possibly for compatibility with mobile or Xbox. Possibly avoidable with PreserveContents. But your trails would flicker with double-buffering anyway - you'd want render targets. Finally: GraphicsDevice.Clear is a very fast operation.
Dec
30
comment SpriteFont not found in Nuclex Framework
The path for Calibri is usually C:\Windows\Fonts\Calibri.ttf (whereas, say, Calibri Bold is calibrib.ttf). Of course, it's worth pointing out that you probably don't have a licence to redistribute the Calibri font, even as a bitmap font.
Dec
18
answered How do you change a Body's origin in Farseer?
Dec
18
comment Use opentk window handle to host wpf control - Monogame
What platform are you using? Just reading the MonoGame source, on Windows it uses a WinForm just like regular XNA. And Window.Handle should give you a valid handle associated with a Form (I haven't checked the other methods). Did you try your code with regular XNA to see if it works there?
Dec
17
comment Is there any reason not to make all my components a single class?
You might be interested in this answer over on SO.