Filetrip Logo


Collision Course 1.2



Thumbnail 1 for Collision Course
--------------------
| Collision Course |
--------------------

Version 1.2 (February 2006)

For GameBoy Advance

Programmed by Donnie Russell
Copyright (C) 2006



License
-------

The contents of this archive are freeware; they are not in the public domain.
This archive may only be redistributed in an unmodified state. The software
contained in this archive is provided to the end-user "as is", and comes with
no warranty of any kind. In no event shall the copyright owner be liable for
any damage that may result from the use of this software.

This software may not be sold in any form for any reason whatsoever.
Distribution of this software on cartridge media is strictly prohibited.



About This Game
---------------

I originally programmed an early version of this game for MS-DOS in the
1990's, inspired by Atari's classic arcade game Asteroids. In January 2006 I
decided to adapt it to the GameBoy Advance. For version 1.0, I rewrote much of
the graphics code and added the UFO. For version 1.1, I rewrote the graphics
code once again and added sound mixing and high scores.



Status Information
------------------

The top-left side of the display shows your current score and up to five of
your reserve ships.



Controls and Gameplay
---------------------

Press START to begin a game of Collision Course.

Rotate your white triangular ship counterclockwise by pressing the left side
of the control pad, and right to rotate it clockwise. Apply forward thrust to
your ship by pressing the top side of the control pad. Your ship decelerates
when thrust is not applied.

Press the A button to fire your weapon at the green rocks floating around
your ship. Holding down the button causes your weapon to fire repeatedly.

Each large rock, when hit by your weapon, fragments into two medium-sized
rocks (20 points each), and each medium-sized rock into two small rocks (50
points each). Small rocks disintegrate completely (100 points each).

After all the rocks are destroyed, more will appear after a few seconds in the
areas indicated by the red arrows. Maneuver your ship out of the hazardous
areas before they appear.

At random intervals, a violet UFO will appear and begin shooting at rocks and
your ship. Destroying it is worth 500 points.

If your ship crashes or is destroyed by the UFO's weapon, you have two reserve
ships ready to replace it. For each 10,000 points you earn you will be
rewarded with a new reserve ship.

If your ship is destroyed, and you have no remaining ships, the game is over.

If your final score is higher than any of the ten best scores, you will be
prompted to enter your name. Press the control pad left or right to select a
letter, then press the A button to enter that letter and advance the blinking
cursor. Press the B button to move the cursor back. Press the START button
when finished. Please note that the letter under the cursor counts as part of
your entry.



Frequently Asked Questions
--------------------------

Question: I've destroyed all the rocks, but no more are appearing.

Answer: One or more rocks are moving along and just off the edges of the
screen. Wait for a UFO to appear and watch the direction of its shots,
being careful to avoid the ones aimed at your ship.

Change log (1.2):
****************
Collision Course
****************



=======================
changes from 1.0 to 1.1
=======================

---------
build.bat
---------

-funroll-all-loops added

-O3 changed to -O2

------
fast.c
------

all functions that access video RAM moved here

DrawLine() function now does clipping

VideoTable added

------
game.c
------

ufo now appears at random intervals (between a min and max value) instead of
having a chance of appearing with every pass through the game loop

frequency of ufo fire reduced

all sound code moved to "sound" subdirectory; new sound mixing code

display mode changed from 3 to 4 and double-buffering system added

many optimizations

list of high scores added



=======================
changes from 1.1 to 1.2
=======================

-------
assem.s
-------

sound mixing buffer cleared with assembly instead of dma

------
game.c
------

number of vertexes for ROCK3_TYPE and EXPLODE_TYPE reduced

EXPLODE_TYPE objects appear at random angles

------
fast.c
------

DrawText6x8() optimized

DrawLine() optimized and changed from clipping to boundary testing
comments powered by Disqus