A simple shoot’em up game

Invaders is a simple but fun shoot’em up game. It has evolved from a lot of test code I wrote to test JewelScript, and soon developed a life of it’s own.

Your task is to kill all the enemies to get to the next level. Every five levels there will be some bosses (first one, then two, then three, and so on…). The bosses will continually spawn additional enemies. Starting from level six, there will be “Shielded Enemies” which you cannot easily blast away. You have to wait for them to attack and shoot a missile at you, which forces them to temporarily take their shield down.

You start out with a simple ship and two missiles. For each completed round, where you have fired less missiles than the game dictates for that round, you will earn an extra missile. If you defeat a boss, you will gain an extra ship that will fight alongside of you. You can gain up to three extra ships. If you do well, your extra ships will gain extra missiles as well.

Don’t be fooled by the simple looks. Getting to higher levels can be a pain! If you get to level 20 (without hacking the scripts) you can consider yourself a hardcore gamer!


Invaders is freeware. You can share it with anyone as long as no money is charged. Use it at your own risk.

Where to download

You can download the current version of Invaders here.

Modding information

The program ‘appletforge.exe’ is actually just an engine that can run scripts and provides graphics and sound services. The actual behavior of the game is completely implemented in JewelScript. This turns the program in to a universal “game construction kit” that allows you to create any 2D game or other multimedia application.

All the script code, sounds, music and image files are compressed into a 7-Zip archive that is loaded when the program starts. If you are interested to change Invaders, or even implement a completely different 2D game, get 7-Zip, unpack ‘data.jpac’ into a folder ‘data’ next to the program, and start changing the game data.

The available classes and functions can be browsed here. In addition, you might need consult the JewelScript reference manual.