Shmup Development (using XNA and C#)

Wednesday, November 15, 2006

An ugly tech demo

This is what I have done since last time:

  • Decided to use AABB's. This game will be a fast one I you won't have time to see that the collision detection isn't perfect. Maybe I'll upgrade this one to OBB later.
  • Created a class to render bounding boxes (makes it much more simple to debug collisions).
  • Fixed my particle system to work in 3D space.
  • Created my own Sprite class to render 2D graphics like explosions and bullets. Will also be used by particle system. It's quite slow right now be I'll speed it up later on.
  • Created a shockwave effect with particle system (for test with bullet/enemy collision).
  • Can now render 3D models, jahoodi!! :-)
So here goes nothing, it's still borrowed graphics and they are pretty lousy:

It's a screenshot of my current progress, a simple tech demo.

Tuesday, November 07, 2006

Particles and collision detection

I have created a particle system which I will use to create various special effects. I will use it in the creation of explosions, rockets, smoke, trails and other stuff. I have looked at another particle system created with XNA called Mercury and created a similar one. You can add different kind of modifiers to an emitter to simulate things like gravity. Modifiers can also change values of a particle, for example: opacity, color and scale.

I'm also looking into creating better collision detection between players/enemies/bullets. Up to now it has been a small fixed AABB (Axis Aligned Bounding Box) that has been the same size for all models. Now I want to change that and automatically calculate the AABB for a model. When the model rotates or scales the AABB will be recalculated. Later I will change this to use a OBB (Oriented Bounding Box) to rotate with the model (this will result in better collision detection), but I have not yet found a solution for this.