Planet Attacker 2009


Planet Attacker 2009 is a simple 3D flight action game. The purpose of the game is to destroy all the enemy fighters and ground objects by flying your fighter. The objects in the game are imaginary space fighters (sort of), but there is an additional configuration called "USAF version" in which the fighters and ground objects look similar to the those actually used in military.

This game has originally been developed in 1991 for a Japanese PC called FM-TOWNS, manufactured by Fujitsu, which had 80386, 16MHz, and 2MB RAM. Not 2GB, 2MB. It even didn't have a floating-point processor. Therefore, I had to cut down polygon count as much as possible, and the low polygon count gives a retro-game like appearance of this game.



For Windows: Get it from CNET!

For Mac OS X: Get it from CNET!

For Linux: [DOWNLOAD]


In the game menu, you can use up and down arrow key to move cursor, and Z, X, Enter, or Space key to select the item. Or, if you have a joystick with a POV switch, you can use the POV switch to move cursor, and one of the buttons to select the item. (POV switch is unavailable in Planet Attacker 2009 for Linux.)

In the game, you can control your fighter by the following keys.

    S D F                    P
   Z X C                                 Arros keys

    Z key           Accelerate while pressed.
    X key           Shoot laser
    Space key     Shoot laser (same as X key)
    Up arrow      Nose down
    Down arrow   Nose up
    Left arrow      Roll left
    Right arrow    Roll right
    C  key             Look back
    D key              Look up
    S key              Look left
    F key              Look right
    E key              Look 45 degrees up
    P key              Pause/Restart

You can also use your joystick to control your fighter. Stick for nose up/down and roll, and button 1 for laser, and button 2 for acceleration. You can use POV switch to look different direction. (POV switch is unavailable in Planet Attacker 2009 for Linux.)

Rolling left/right does not change the flight path. To change the flight path, or turn, you need to first roll, and then push or pull the pitch (i.e., nose up or down). For example, to chase your enemy fighter, first you need to roll your airplane so that your target comes at the vertical center line of the window, then pull (or push). If you get used to the control, by rolling and pushing/pulling simultaneously, you can fly a barrel roll, which is effective in avoiding enemy missiles.

When you have your enemy in the center circle of the screen, and if it is within the range of the laser, you can destroy your enemy by shooting the laser.

Shoot laser when your cross-hair becomes red to destroy your target.

Your enemies aren't just flying around. They shoot you back. If you see gLASERh on the screen, you are within range of the enemy fighter's laser. In that case, accelerate, turn hard, or do both to avoid to be shot down. If you see "MISSILE" on the screen, a enemy missile is flying toward your fighter. Again, in that case, do whatever maneuver to avoid the missile. If the missile is heading from straight ahead, you can often avoid it by accelerate and point the nose 20 to 30 degree off the missile. Also, the ground missile launcher will not shoot at you if you are flying very low. If a ground missile launcher shoots a missile at you, one option is to dive down near the ground, and then approach the launcher low altitude, and destroy it.

"LASER" indicates that your fighter is within laser range of an enemy fighter. "MISSILE" indicates that a missile(s) is tracking your fighter.

Joystick Calibrator for Mac OS X

Mac OS X does not come with a joystick-calibration program. Therefore, if your joystick did not come with its own calibration program, the joystick needs to be calibrated in each application. Therefore, Planet Attacker 2009 for Mac OS X includes its own joystick calibrator.

When you cannot control your airplane in the game due to the calibration issue, you can calibrate your joystick with this program. If you have no problem in controlling your airplane with your joystick, you don't have to re-calibrate your joystick.

Please plug your joystick before starting this joystick calibrator (YsJoystickCalibrator). If the joystick has been recognized by Mac OS X, the calibrator will show the axis conditions and button status.

Before starting the calibration, please select the type of your joystick. If it has only one stick and some buttons, select "Only One Stick/Yoke". Or, if it is a stick and a throttle lever, select "1:Stick 2:Throttle".

Then select "Calibrate" from "Calibrate (C) menu", and follow the instruction. After the calibration is done, the program will save the calibration information in .ysjscal file located in your home directory.

If you get a new joystick and if the new joystick comes with its own calibrator, you may want to delete the calibration information by selecting "Erase All Calibration Information" from "Calibrate (C) menu". Or, you can manually delete .ysjscal file in your home directory.


Planet Attacker was originally developed for a PC called FM-TOWNS, which was manufactured by Fujitsu. It had 16MHz 80386 processor with 2MB RAM. Yes, it was 2MB. Not 2GB. But, the first PC I used had only 64KB RAM, and to me, 2MB RAM seemed like infinity. Its graphics power was outstanding. It had variety of screen modes, and I was able to use 32768 colors in two layers of 320x240 resolution screen. Well, it was outstanding in 1991. However, there was no such thing called OpenGL, and 80386 even did not come with a floating-point processor.

So, I wrote my own 2D primitive-drawing functions in 80386 assembly language. Then I wrote fixed-point calculation functions for 3D to 2D coordinate transformation again in assembly language. That was when I was a senior-year high-school student. I wrote a game with those functions, which gave me a gSpecial Prizeh in National High-School Students' PC Software Contest (in Japan) hosted by Obunsha in 1990.

When I was a freshman in my university, I was in a chat room of FM-TOWNS forum of Nifty-Serve (now @Nifty). We came to a discussion about good-old-days of PC games. 1991 must be good-old-days enough to you, however, there once was better-older-days than the good-old-days. In the discussion, we agreed that the computer games were becoming too heavy and too complex, and we were missing nice and simple games. OK. Then, why not I write my own nice and simple game? How about a light-weight, easy-to-play, 3D flight action game? That's how I decided to write Planet Attacker for FM-TOWNS.

Planet Attacker for FM-TOWNS was a big hit actually. 3D games were becoming more and more popular in the U.S. then, but it was not so common in Japan. Planet Attacker for FM-TOWNS was once introduced in one of the major PC magazines of Japan called Login. I keep some comments I received from the users, and they were so excited about the Planet Attacker.

Recently, I was able to port gSword Edgeh, another game I wrote for FM-TOWNS, to Windows, Linux, and Mac OS X. Sword Edge is a 2D game. All I had to do was emulate FM-TOWNS's sprite functions. gPlanet Attackerh was a 3D game, and was more complex than Sword Edge.

But, now we have OpenGL. It shouldn't be too difficult to port it to Windows, Linux, and Mac OS X. So, I tried. When I opened the source file after 17 years, I realized that I was assuming 5 frames per sec. Yes, 5 frames per sec. But, I remember it was a sensation. However, if I ported it as is, it should look too shabby. I had to re-write timer-related part. Then, the fixed-point calculations were causing unsmooth animation. It was not visible in 320x240 screen, but if I expand the window to full screen, the objects looked as if they were vibrating. I had to replace those fixed-point numbers with double-precision floating-point numbers. So, it took a little longer than I expected, but I was able to make it run in Windows in two days. I had to deal with some minor issues and added joystick support.

Finally, Planet Attacker was re-born as Planet Attacker 2009. It was such a sentimental feeling to see my 17-year old program is running on the current platforms. The original purpose of Planet Attacker was to write a nice and simple game. And, it is still nice and simple. It is not a big title obviously. I hope you sit back, relax, and enjoy this game.



Release version 20091014.