Arcade-like space shooter game written entirely in python

Overview

E.T.-Attack

Arcade-like space shooter game written entirely in python


GitHub language count GitHub top language GitHub search hit counter GitHub code size in bytes GitHub repo size GitHub last commit


Project description

A space shooter game - inspired by the legendary game Space Invaders.

Requirements

To run the main python module et_attack.py, you need to install the following package:

  • pygame

The installation method depends on the environment/ package manager you are using. The following examples show the installation of pygame for a standard python environment with pip and for an Anaconda environment via conda.

pip install pygame
conda install -c cogsci pygame

License

This code is licensed under GPL-3.0 License.

Usage

To play E.T.-Attack, navigate to the installation folder of the required module (et_attack.py) and start a python shell running the code by typing python et_attack.py.

The player is in control of the space ship at the bottom of the screen. This ship is able to navigate in two directions - right and left ↔️ . At the beginning of the game, a fleet of extraterrestrial UFOs is spawned on the screen, slowly ping-ponging towards the player's ship. The player's goal is to prevent any of the UFOs from either making it to the bottom of the screen or colliding with his own ship.

game opener
Opening screen

To destroy the enemy's UFOs, the player can shoot bullets from the top of his ship. If a bullet hits a UFO, the UFO disappears, decimating the enemy fleet. However, there are only three bullets allowed at the same time on the screen, preventing the player from storm firing.

Player shooting bullet Bullet hits UFO
UFO disappearing Bullet number limit

If the player has managed to destroy all of the enemy's UFOs, a new fleet is spawned to keep the game running and the player enters a higher level. Each destroyed UFO increases the player's score. The higher the level, the more points a player gets for destroying enemies but enemy speed, ship speed and bullet speed also increase, thereby making the game more difficult.
The player has only a limited number of lives. As long as the player has remaining lives, the game goes on. If the last live is lost, it's Game Over.

game opener
Player has only two remaining lives

Screen

In the upper right corner, two numbers indicate the current player's score and the level he's in. The upper centered number displays the high score of this player in that game. The remaining lives are indicated by a corresponding number of ship symbols in the upper left corner.
When starting the game, the button in the middle of the screen must be clicked on to begin the game. The button returns if the player has lost all his lives and enables him to restart the game by clicking on the button again.

Controls

Use the and arrow keys on your keyboard to navigate your ship in the wanted direction. To shoot bullets from the top of your ship, press Space.
To pause the game at any time, press P. To continue, press P again.
To get a short break of 5 seconds, press B.
To quit the game at any time, press Q. Don't worry, your high score will be saved.
To edit or set back the high score, enter the high_score.txt and alter the integer value.
To mute the game, press M. Press M again to hear all sound effects.
Press H if you forgot controls or short cuts. A pdf file will open and the game stops automatically. Press P to resume.

Hardware & Software Requirements

These programs can be run without much computing power. They can be executed on any modern device fullfilling minimal RAM/ CPU standards.

History

Arcade games were simple games often run on coin-operated entertainment machines in bars or hotels like Space Invaders, Pac-Man or Donkey Kong. While originally being developted in the 1970s and 1980s, arcade games experienced a renaissance in the late '90s, building a myth and fascination among fans that still lives today.

Owner
Sven Eschlbeck
"The more I C, the less I see."
Sven Eschlbeck
A simple python script to pregenerate minecraft worlds.

mcloady mcloady is a lightweight python script used to pre-generate Minecraft terrain using MCRcon and carpet mod (optional). Inspired by Pre-Generati

5 Dec 08, 2021
Navicella cavallo, gioco 2D stile space shooter

Navicella Cavallo Il miglior gioco in circolazione Navicella cavallo è un gioco 2D basato sullo stile dei giochi space shooter Come installare Navicel

Matteo 6 Jul 03, 2022
A small script to help me solve Wordle because I'm that lazy

Wordle Solver A small script to help me solve Wordle because I'm that lazy. Warning: I didn't write this to be efficient nor elegant at all, so you'll

K4YT3X 3 Feb 11, 2022
Python game engine for 2D multiplayer online games.

LAN-Caster The goal of LAN-Caster is to provide an easy-to-use code base (game engine) for developing 2D multiplayer online games. LAN-Caster original

Douglas Bakewell 1 Feb 11, 2022
Made to help you create UI using pygame in python, gonna add way more to this project

Pygame visualizer Made to help you create UI using pygame in python, gonna add way more to this project. As of now, this is only hours worth of work.

Ayza 2 Feb 08, 2022
BUBBLE SHOOT - Pygame (python)

BUBBLE-SHOOT---Pygame BUBBLE SHOOT - Pygame (python) Bubbleshooter This is a Bubble shooter Game made with pygame. The arrow is controlled by the arro

ROBIN JONEY 1 Nov 12, 2021
🌍🍓 A better MCPi Launcher

Planet Launcher A better, maintained launcher for the Minecraft: Pi Edition Reborn mod. Report Bug | Request Feature Planet is a maintained, feature-r

15 Oct 19, 2022
The DOS game from the 80s re-written in Python from Scratch!

Drugwars The DOS game from the 80s re-written in Python from Scratch! Play in your browser Here Installation Recommended: Using pip pip3 install drugw

Max Bridgland 45 Jan 03, 2023
Meu primeiro jogo desenvolvido em Python, usado o módulo do Pygame

📖 Sobre Esse repositório é dedicado ao meu primeiro jogo feito em Python, utilizando o módulo do pygame. O jogo foi desenvolvido seguindo o tutorial

Michael Douglas 0 May 06, 2022
Quiz Game: answering questions naturally with a friendly UI to enjoy the game

About Quiz Game : The Game is about answering questions naturally with a friendl

4 Jan 19, 2022
XPlaneROS is a ROS wrapper for the XPlane-11 flight simulator.

XPlaneROS XPlaneROS is a ROS wrapper for the XPlane-11 flight simulator. The wrapper provides functionality for extracting aircraft data from the simu

AirLab Stacks 26 Dec 04, 2022
AWBW Replay Parser - a Python package to open and step through AWBW game replays.

AWBW Replay Parser This repository is home to the AWBW Replay Parser, a Python package to open and step through AWBW game replays. This project is una

Tarkan Al-Kazily 2 Feb 09, 2022
Nerdle - a nerd's approach to solving Wordle

Nerdle - a nerd's approach to solving Wordle

4 Nov 28, 2022
A game developed while learning python

Alien_Invasion a game developed while learning python you must have python-3 installed in your computer. and pygame module is also required for this.

Jani Shubham 0 Oct 10, 2022
Chess game for 2 players with UI

2-D Chess for 2 players Overview This is a simple 2D Chess game for 2 players using pygame library. Requirements To be able to run this game, you must

7 Apr 06, 2022
Box - a world simulator written in python with pygame

Box is a world simulator written in python with pygame. Features A world generation system A world editor Simulates creatures called boxlanders. You c

1up Community 3 Nov 14, 2022
To be easier to create backup files for the game StoneShard

StoneShard_save_backup_tool A tool to create backups and load them. Setup Configure the program by opening the "config.json" file. In this file you wi

Lucas V. Moog Brentano 6 Sep 15, 2022
The repository that hosts the code that teaches a reinforcement learning - based bot to play 2048

The repository that hosts the code that teaches a reinforcement learning - based bot (based on policy gradients method) to play 2048

Maxim Rud 1 Dec 16, 2021
Bingo game with python

bingo-game-with-python type of plays possible player vs computer player vs player computer vs computer game is built with 4 objects classes 1.game 2.b

1 Nov 27, 2021
Chess - A python gui application

Chess Python version 3.10 or greater is required to play. Note This is a gui application, and as such will not run inside WSL.

Jonxslays 1 Dec 16, 2021