Wow it’s been awhile. I haven’t had any free time to work on Solaroids since last June. With a big work commitment out of the way and a much needed holiday break, I had a chance to work on it for a few days. The results are a new boss ship, some newly done sound effects, and positional audio complete with Doppler effects on the missiles. XNA sure makes it easy to put this stuff together, and after this update I’m a lot more confident with the XACT audio software.
Here’s a couple of screen shots and a video showing off the new features.
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.
New lens flare effect
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.
New serpent enemy
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.
I posted a new video at youtube to show some of the new additions in action. New sun and planets. New middle ground stars to give it a little more dimension. I fixed the background stars as it had a funny artifact that was visible at certain gamma levels. I also changed the explosion particle system to have a red/orange tint to give it a little more color and increased the size of icons in the player HUD and made them resolution independent. This one also has a different more mellow audio track I composed, great for cruising around in space and clearing space debris.