With spring here, development has slowed down quite a bit. There are just to many yard projects that have to get done!
Recently, I did manage to spend a little time adding a few new features. I adapted the XNA lens flare sample designed for 3D games to add the effect to my sun. It worked out pretty nicely (and cheap to implement). I swapped out the occlusion queries with a simple 2d query to calculate the percentage of the sun that is on screen which then controls the visibility and intensity of the effect. This technique doesn’t allow sprites to block the flare effect though, but it sufficient for what I wanted to achieve.
I while back while I was re-drawing my stand in graphics in Inkscape, I drew some pieces to build up a snake like enemy. Combining that with some prototype serpent code I wrote quite a while ago (I can’t believe it was still functioning with all my engine changes) results in the following.
Right now each segment can take a hit, and that hit results in a cascading set of mini explosions down to the tail, which then explodes leaving the serpent a little shorter. I plan on changing things around to show the energy being directed down to the tail – maybe the typical arcade shooter flashing sprite effect. Another thought is to have the serpent break into multiple pieces that then form a head and continue to pursue.
Here’s a video showing the two new features. If you watch closely as the serpent ship comes on the screen you can actually see the segments being added which is a current bug. The ship builds itself over time after it has been added to the scene. As I use a queuing mechanism to record the orientation of the segments in the kinematics chain based on time delays. Final code will build the entire chain at construction time.