Star Shot! - A GBA mini-game

Original Star Shot! Version 1.0, with source code

Star Shot! version 6.0 (with lots of improvements!)

How To Play Star Shot!

Star Shot! version 1.0

Here you can find my first attempt to build a GBA game... STAR SHOT! You can download it here, and play it on a Game Boy Advance emulator such as BoycottAdvance (see the links section on my main GBA page).

I built what you see here in about 70 hours of work, scattered across two weeks in late January and early February, 2002. It was compiled with the freeware GCC compiler, and tested on the Boycott Advance and Mappy emulators. The game does also run on an actual GBA... I picked up a flash-ROM downloader halfway through development of the mini-game, so I've been carrying the game to work with me. Note that this is not really a complete game! In mid-January I finally had some time (and a working gcc compiler) to play with the GBA, and this mini-game grew out of my experiments.

The game consists of 4 ships, 4 frames of bullet animation, 15 frames of explosions, 40 tiles of background stars, 4 icons, 10 numbers, a 28 character font, and one title screen. All the artwork was built (by me) in an old DOS copy of Deluxe Animator with some extra help from a couple of other common picture editors. The one exception is the explosion animation... I found a public domain animating GIF of an explosion, and converted its frames down to GBA specs. The starfield tiles were converted from the little starfield I created for my older GameBoy demo, and then mapped in tUME (a nice tile editor I used back when I was working at Sega).

You can also find the complete source code files to the game here. There are a lot of things I could optimize in the system (like the text printing, which is currently using sprites rather than a tile background), and a lot of things that I'm taking for granted from the gcc compiler, but the code doesn't seem to be taxing the system so far.

Star Shot! - (ROM image, 18 Kb zip file)

complete source code - (77 Kb zip file)

Star Shot! version 6.0

Starshot has gone through several versions since I first built the original version... I'm currently up to version 6.0!

Star Shot! 6.0 - (ROM image, 91 Kb zip file)

Version 2.0

Version 3.0

Version 4.0

Version 5.0

Version 6.0

How To Play

Welcome to space combat! Your primary goal is to survive against the constant swarm of alien ships. The aliens come in three different types, but all have one thing in common... they are out to ram themselves into your ship!

You start with 20 health points... reach zero and you die a loser! Reach max health and you win! You can also play ENDLESS SWARM, a game in which you survive as long as you can!

Tips: The key to winning the game is use the STRAFE controls... fly away from the enemy ships, and then strafe to spin around and shoot behind you as they follow. Also, watch out for heart powerups produced by destroying the "Random Walk" type enemy ships... they are worth 5 health points, which is more than double the worth of other ships.

D-PAD turn / move
A shoot (autofires)
B shoot special weapon (shield in Star Shot! version 1)
L strafe (ship continues along current trajectory but can be turned in any direction... very useful for shooting behind you!)
R turbo (ship travels twice as fast!)
SELECT + D-PAD select special weapon
  • up = superbomb
  • down = shield
  • left/right = missiles
  • START pause game

    Player The player's ship has an autofiring plasma bolt gun and storage for both missiles and superbombs. The player's craft starts with 20 health points, but it can hold a total of 100.
    Alien: Chaser This alien homes directly in on you. It takes 5 shots to kill it, and if it hits the player it can do up to 5 points of damage. If killed, it usually produces a 2 point health powerup.
    Alien: Random Walk This alien recalculates its heading at random times. It takes 10 shots to kill it, and if it hits the player it can do up to 10 points of damage. If killed, it usually creates a 5 point health powerup.
    Alien: Zig Zag This alien zigs towards you every half second. It takes 5 shots to kill it, and if it hits the player it can do up to 5 points of damage. If killed, it usually produces a 2 point health powerup.

    Worth 2 or 5 health points (depending on the type of enemy ship the powerup came from).
    Weapon-Up! You can hold up to 3 of these, each increasing your ship's firepower. You will loose weapon-up powerups if you take damage!
    Superbomb! This powerful special weapon powerup gives you one superbomb... use it to destroy all active enemies in one giant flash of light!
    Missiles! This special weapon powerup gives you 4 missiles. Missiles guide themselves to the closest enemy, and do 4 points of damage if they hit!

    Screen Icons
    How much health you have. Hit 0... you're dead! Reach 100 to win!
    The number of alien ships you have killed. The game's difficulty increases every 25 kills!
    The number of superbombs you have (displays if you have superbombs selected as the current special weapon).
    The number of missiles you have (displays if you have missiles selected as the current special weapon).
    Game time... how long have you been playing?

    There are four cheat codes in the game... all are accessed while on the start screen. Hold down both the shoulder buttons to set the cheat mode, and then tap:

    You can send me mail at