Latest update:
Goplanes Dev Video 015
http://youtu.be/tjb5SRYFVUA
From the description:
Yep, still working on it!
The brand new feature in this version is weapon power ups. Still have no idea what kind of weapons (or weapon system) the game will have, but I thought adding a fireball gun would be fun to do. If you get hit, you lose the item, but you can pick it up again.
Other than that, lots of tweaks.
- Changed the health bar to have more health points. Actually reduced the number of sprites used to indicate health (two 8x32 sprites now vs. three 16x16 sprites before)
- Wall bounces (but not sky edge bounces) now cause damage, just like the original Goplanes. Hopefully the added difficulty will be offset by the increased number of health points. For sure there will be health pick ups at some later time.
- Realized that the flying rotation lookup tables had slightly skewed values. Now when flying in a circle, the plane doesn't drift towards the upper left anymore.
- I was computing object visibility in too many places, now I compute it once during object update, cache the result and check it instead of calling the visibility function everywhere. Simple optimization.
- Fixed the radar arrows so that they don't move when the scrolling has reached a screen edge. It was distracting.
- The map exporter for Tiled also exports horizontal and vertical flipping. The two green blocks at the bottom of the screen show this off.
In other news, collision code is too damn slow. I'm limiting collisions to certain types and only when they're visible on screen, but firing six to eight bullets with a half dozen collidable objects slows the game down to 30 fps. I think the level design will naturally limit the number of active objects visible, but it bothers me that it's not faster. I haven't been able to come up with a solution to speed it up. Not even the Bresenham circle algorithm can help!(*)
(*) totally an inside joke. Hi Fred!
EDIT: Since I posted the video, I took another look at the collision code and sped it up with a quick refactoring. Now the framerate only drops to 55 instead of 30 for the same scene.