I'm not sure what's causing the palette problems. I suspect it's actually a bug with Allegro, and there's not much I can do about that (possibly nobody else notices because not many people use 8-bit colour anymore. I use it for the control it gives over transparency).
I liked the controls, but I would prefer it if it was even more inertia-based
If you get an agility upgrade, the drag decreases quite a bit.
Jonatan Hedborg said:
Could you elaborate on how the spiders are generated?
I don't remember all the details, but here's as good an explanation as I can think of right now.
As I mentioned before, if you destroy a piece while it has other pieces attached to it, it will grow larger. If you destroy a piece while it doesn't have anything attached to it, it will grow another piece (although there is a maximum of two pieces that can be attached to any other piece). However, a piece won't grow larger or develop a child piece if that would result in an overlap with any other piece. Any change to one side of the hellspider is mirrored on the other side.
The weapon that a newly developed piece will have depends on how the piece it grew from was destroyed. The weapon chosen depends on the range and angle you were at when you fired on it (averaged over however many shots it took to destroy). So destroying a piece from close range and from behind the hellspider might get you the exploding weapon. Destroying a piece from medium range and in front might get you the blue beam weapon. When a piece is destroyed directly (i.e. not as the result of a chain reaction) it can change weapons. There's a maximum number of different types of weapon a hellspider can have, and pieces of a certain type can all change at once if their weapon is not useful.
The rearmost arms can only have engines, though.
When you are at long range, all of the joints bend backwards, so that the hellspider is sort of opened up (in kenmasters1976's screenshot it looks like the player has just moved close to the hellspider and it is still in open position). In this position, all fixed weapons (the ones that don't rotate to track the player, e.g. the spinning red gun thing) point forwards and all engines point backwards to give maximum speed. At close range, all joints move forwards. Fixed weapons point wherever they end up pointing, as do engines (which can increase the amount of torque they generate, for manouevreability).
All of the maximum and minimum joint angles are precalculated for speed (this involves a lot of collision detection), so they don't change if you destroy some of the parts.
Internally, each arm of the hellspider is represented by a linked list of structures.
I hope that all made sense!