Chapter 18 - Collision Detection
now have the Aliens and their missiles hitting the player's ship and
causing damage. Every collision takes away a bit of your Gunstar's
energy, as indicated in the bars displays in the top right area of the
screen. When that energy is depleted, any hit afterwards will destroy
you... at least, when I add the Gunstar destruction routine. When this
happens, it will be Game Over.
and Fusion Energy charges will appear frequently and you must shoot
these to collect their energy whenever possible. Collision with these
does not affect your Gunstar but to obtain the energy they contain, you
must shoot them.
How collision detection works in Gunstar
a proper hardware sprite system, it's very difficult and slow to do a
pixel-for-pixel collision detection on a flat bit plane when that plane
has a lot of moving graphics and every pixel of the screen is being
changed on every video frame. Hardware sprites are isolated from the background and the electronics can act on direct pixel collisions.
The Color Computer doesn't have a hardware sprite system and so we must use software techniques to achieve this.
Collision detection in Gunstar works by comparing the X and Y coordinate
positions of each moving sprite (Aliens, Gunstar and Missiles). It
tests the boundaries of a square area around each moving object. This takes more CPU time so the tests have to be done efficiently so as not to waste time.
Looking at the image on the right... the yellow
outline around the Gunstar sprite represents the area tested. Likewise,
the blue outline around the Alien sprite represent the area tested for
When these two areas overlap each other, a collision is reported.
Notice the yellow outline area around the Gunstar omits the nose cone
area of the ship. This is to ignore the open space areas on the left
and right side of the nose cone. An Alien entering that area should not
be reported as a collision, hence why I check for a lower region to get
a more accurate indication of a collision. This also means that a
collision with the nose cone will go undetected.
I could test for another outline area around just the nose cone but
this just uses up more cpu cycles and is hardly worth doing because in
most cases, the Alien ship will fly downwards and strike the lower
It does mean that you could collide with an Alien and veer downward and
to the left or right, avoiding the collision, just for the fun of
saying "See that cool maneuvre!". :)
Click on the YouTube link below to see the actual game so far.
Video Blog #7
For the next chapter of the GunStar Development Blog, I will begin designing the graphics tiles for Levels 2 to 4.