This blog post is mostly for me to be able to review the progress I’ve made today on my indie video game, Super Space Trooper.
The weapon impact dispersion effect is now complete. See my last post for the script file, shader, and psd file. It required a few minor touchups to the alpha channel to get rid of some artifacts at the edge of the dispersion field. I also eliminated the first 4 frames, which were so small they could barely be seen, and replace it with 4 new images as the end of the animated texture sequence.
The next thing I decided to attack was a bug that was mentioned before in my blog post titled “Animation of Forcefield Deactivation, Player Weapon Impacts on Forcefield, Player Impact“. What a mouth full! The problem was that the destruction of the force field power regulators was not being accounted for correctly when it came time to player respawns. Minor changes to the source code was able to get this fixed up and working properly.
Modeled and Textured
About 6 or 7 months ago, I spent about 3 weeks working on the interior of one of the starships or space stations. At the time, I wasn’t sure where it exactly it would get used but I knew it would somewhere. I decided to use it for the interior of the Soneria Starship. Problem is, the interior and starship entry bay didn’t match up at all, so I had to model something to go between the two to join them a bit more naturally. So I modeled that today, as well as the bay doors, and added the textures and bump maps.
I then moved onto animating the bay doors to open, and wrote some scripts for them to run the animation sequence upon the player’s weapon making impact with them. So in order for the player to get into the starship they need to somewhat blast their way in.
Switching Lights – With a Light Switch
With all that done, I was faced with a problem. Since the starship is dark in colour, to get it to look right the lights were added at certain angles and intensities. But once inside the ship, those lights are additive of the lights already in the starship’s interior. It resulted in a completely blown-out interior.
To get around this, I wrote a script to handle both interior and exterior lights, as well as any other temporary objects that need to be visible inside, but not outside. It would call an animated sequence on each of the lights that would lerp between their current brightness, to their end brightness. So when the player enters the starship, interior lights would quickly brighten up and exterior would quickly darken, and vice versa.
More Respawn Additions
Lastly, today I added the ability to have enemies and other objects stay at their current position if the player dies and respawns.