The Last Space Fighter
Saved games stay in this browser only.
About the game
You are the last space fighter, and the planet Earth is behind you. Waves of alien ships come in formations: some fly straight, some in curves, some spin in a ring, some sidle across the screen, and there are gun towers and a pendulum thing that swings its way down. The ship moves in all eight directions, fires with one key, and is hit by anything that touches it.
There are two levels, and each one ends in a boss, the second one much bigger than the first. You start with three lives. When you lose one the ship comes back wrapped in a shield that shows a countdown, so you have a few seconds to get your bearings, and when you win, the lives you have left turn into a bonus for your score. A list of the five best scores is shown on the title screen and saved in the browser.
The Last Space Fighter is the work of one person, Antony Templier (Yuiio): the code, the pixel art and the music. It is short, but it has a clear style, with a banded title and a screen shake when things explode, and it is an easy game to pick up and replay for a better score.
Playing it here
The first time you click Play the page downloads Pyxel and the Python runtime (about 15 MB), which takes a few seconds; after that the game shows a "click to start" prompt, and one more click starts it with sound. Nothing is loaded from other sites. The five best scores are saved in this browser and kept when you close the tab. They are not shared between browsers or devices, and clearing the site's data erases them.
On the web we turned off the Q key that closed the game on the desktop and the automatic full-screen mode, because on a web page quitting would only freeze the screen. After a game over, X goes back to the title and starts a new game.
Controls
| Input | Action |
|---|---|
| Arrow keys | move the ship, in eight directions |
| X | fire (hold for a steady stream); start from the title screen |
| P | pause and resume |
A few things worth knowing
Learn the formations. Each kind of enemy flies a fixed route, so the second time you meet it you already know where it is going to be.
Use the shield after a respawn. The ring around the ship shows how many seconds it will protect you: spend them to move into a good spot, not to wait.
Save your lives for the bonus. The lives you have left when you win are added to the score.
Frequently asked questions
How long is it? Two levels, each with a boss; a run takes a few minutes.
Are the scores saved? Yes, the five best, in this browser.
Does it work on a phone? The game was made for a keyboard or a game pad. The page offers an on-screen pad on touch devices, but we have not tested the game with it.
Why does it say "click to start"? Browsers only allow sound after you interact with the page, so the Pyxel launcher asks for one click before it starts the game.
Is it free? Yes: the game is open source under the MIT licence, and the source of this build is available from this page.
Credits and licence
The Last Space Fighter was made by Antony Templier (Yuiio), the only author of the repository, with the code, the pixel art and the sounds (in a Pyxel resource file), under the MIT licence. The build served here removes the Q key and the automatic full-screen mode, turns off the Pyxel quit key and saves the best scores in a JSON file instead of a shelve database (the in-browser Python does not have one); the changes are published as a patch with the source. It runs on the Pyxel engine (MIT) and the Pyodide runtime (MPL-2.0), whose licences and source are linked from the Licenses page.