Space Cowboy

Space Cowboy is a game design that I've been working on for several years now, but it wasn't until just recently that I decided to begin experimenting on how I might actually program the game. When I discovered FreeBASIC and found it to be a great language for quick games I decided to try my hand at programming one of my old ideas. This page will document my progress as I slowly advance on the game.

The latest version of this program is written in FreeBASIC. If you'd like to compile from source you can get the compiler at

2008/10/14 - [Download]


  • ESC quits.
  • Arrow keys move the camera.
  • Spacebar toggles map clipping.


  • Reads map data from .\Maps\Map-1.txt and .\Maps\Chunks-*.txt
  • Dynamically loads map data into memory to keep memory very low, but still have an enormous galaxy.
  • More info can be found in the readme file.

2008/03/13 - [Download]

Gauge System

  • The weapon gauge is now implemented. It adjusts how quickly your weapon power bar replenishes.

Weapon Power Bar

  • In the weapon systems screen there is a weapon power bar which decreases every time you shoot.
  • You need an amount of weapon power at least equal to the weapon that you're using in order to fire. The current laser takes 10 power per shot.
  • The speed at which your weapon power bar replenishes is relative to the weapon gauge.


  • If a targeted enemy is off screen it now shows up as an arrow on the edge that it is closest to.

Tile Background

  • The background is now fed from a tile map which can be altered. This is the start of a scrolling tile map which may be ready by next version.

Bug Fixes

  • The refresh problem with the shields has been taken care of.


  • F12 will prevent enemies from turning or moving, but they will still shoot.
  • F11 will start them back up again.
  • F10 will add a new enemy onto the screen.

2008/02/28 - [Download]

Gauge System

  • The player has three gauges. E - Engine, W - Weapon, S - Shield.
  • Use F1, F2, F3 to increase them respectively. Increasing one will decrease the other two.
  • F4 will set them all back equal.
  • The higher the engine gauge, the faster your maximum speed. The weapon gauge will affect weapon recharge and/or damage, but currently isn't written. The higher the shield gauge the faster your shield recharges.

Defense System

  • You have a shield system and armor on each side of your ship.
  • When you get hit by enemy fire, the side that was hit loses shield power.
  • If the shield is gone, you will start taking damage to your armor.
  • Armor will not recharge the way shields do.
  • If you take damage on a side without any armor or shields you will die.
  • Enemies have shields and armor too.
  • Shields will recharge at a rate relative to your shield gauge.


  • You can target an enemy ship by pressing E. Pressing E again will cycle through each ship in the area.
  • The enemy ship's defense system is displayed on the right. As you shoot the enemy they will lose their shields and armor until they are destroyed.

Enemy AI

  • Enemy ships are slightly smarter. They will now only shoot when they're actually facing you.


  • F12 will prevent enemies from turning or moving, but they will still shoot.
  • F11 will start them back up again.
  • F10 will add a new enemy onto the screen.

2008/02/25 - [Download]


  • The player's ship--controlled with the arrow keys.
  • Enemy ships with a primitive AI.
  • The ability to fire lasers for the player and the enemies.
  • Collision detection for the lasers for both the player and the enemies.
  • Player shields that get depleted when the player gets hit.

Player Controls

  • Left and right turn your ship.
  • Up accelerates your ship.
  • Down decelerates--you can move faster forward than backward.
  • Space fires your laser. You can hold down space to shoot, but you can shoot faster if you hit press the button repeatedly.
  • End will immediately stop you.


  • Enemy ships are spawned off screen and fly towards you. They will also shoot at you. Avoid their lasers and shoot back to kill them.
  • If you are hit by enemy fire you will be lose a unit of shields. If you lose all of your shields you will die.
  • As time passes, more enemies begin to spawn to complicate things.
  • Try to kill as many enemy ships as possible before dieing.


  • Enemy ships shoot at exact intervals. You'll have just enough time between their shots to get a few in yourself.
  • There currently isn't any ship-to-ship collision, so it's safe to fly right through enemy ships.