Invader Clone
A downloadable game for Windows and Linux
REALLY!? IT'S $CURRENT_YEAR AND PEOPLE ARE STILL MAKING SPACE INVADERS CLONES!? Yep, that's me! Hi. This is my Space Invaders clone, Invader Clone.
Invader Clone is a ridiculously configurable clone of Space Invaders written in Python. Just about every game setting is swappable using the many available command-line arguments.
If you really wish, you can even create your own custom level using the API.
Documentation that will help you do all of this is on its way. While you wait, here's the condensed version of the game's usage!
Features
Out-of-the box, the game comes with the following fun features:
- A plethora of swappable settings to customize the game exactly to your liking.
- A cute default theme. It's rats vs cats! That's why the skull looks so odd in the second screenshot!
- Cool trendy buzzword buzzword buzzword Indie retro-inspired pixel art hand drawn by me, myself, and I!
- A simple, easy-to-use theming system to skin the game with your own art.
- Drop-in local multiplayer: plug in two gamepads at any time to spawn in a second player. You can unplug it any time, and plug it back in. Don't use that to cheat :)
- If you hate the game, or think it needs more, custom levels can be made to supplement, or even replace the core game!
Development Roadmap
The following features are planned for release throughout the coming year:
- Improved Custom Theming (v1.0.1)
- Themes have their own custom levels (v1.0.1)
- Improved API for building your own custom levels more easily (v1.0.2)
- Maintenance and Refactoring (v1.0.3 & v1.0.4)
- Power-ups Update (v1.0.5)
- Release on Arch Linux AUR (v1.0.5)
- And many more extremely exciting things for Release Version 1.1.0!
Usage
Double click on the executable file to launch it. You will need an internet connection the first time you run this, because the launcher will try to set up a virtual python environment in your game directory, and it will install pygame as well.
Running the game without any arguments will simply run the game. To see the vast bounty of switches and options you can use to modify your copy of the game, you can type InvaderClone.exe --help
into the command line, or look to the Docs folder for a file called help.txt
.
Theming
To learn how to theme your game in-depth, read the CREATING_THEMES.md
file that can be found alongside the files.
In summary, you can place your theme in the config directory chosen for your OS (~/.config/invaderclone
on Linux, C:\Users\YOUR_USERNAME\Documents\invaderclone
)
Custom Levels
Documentation will be written on creating custom levels, but as it stands right now, it can be done! A custom level can be placed in your config directory (see above). Name your custom level LevelN.py
, where N
is a positive integer that is not 0 (00 probably works).
In it, you must define a class that inherits from invaderclone.Scene
, or it must inherit from a class that inherits frominvaderclone.Scene
that I will talk about in the Documentation to come. The class MUST BE NAMED LevelN
, where N
is the same number you named the script. There are no limits, if you know pygame, you can do anything you want.
If you need help creating your Scene, study the workings of the game in this repo.
Status | Released |
Platforms | Windows, Linux |
Release date | Jan 23, 2024 |
Author | Ganelon |
Genre | Shooter |
Made with | Audacity, Aseprite, pygame, GIMP |
Tags | 2D, Arcade, DRM Free, Moddable, Open Source, Pixel Art, Retro, Space, Top down shooter |
Code license | GNU General Public License v3.0 (GPL) |
Asset license | Creative Commons Attribution v4.0 International |
Average session | A few minutes |
Languages | English |
Inputs | Keyboard, Xbox controller, Gamepad (any), Playstation controller |
Accessibility | Color-blind friendly, High-contrast |
Multiplayer | Local multiplayer |
Player count | 1 - 2 |
Links | Source code |
Download
Click download now to get access to the following files: