1001 Freelance Projects
Latest Projects from Freelance Marketplaces
Today is: 05-Feb-2026 16:40 GMT
View Project
View this project in detail (Note: you will be redirected to external marketplace)
Project title: A 2D Shooter game
Posted by: External project from PeoplePerHour
Started: 28-Nov-2024 04:45 GMT
Description: Project: "Space Invader Clone" – A Simple 2D Shooter Game in Python

Overview:
The project is a basic 2D space shooter game inspired by the classic Space Invaders. Using Python and the Pygame library, the game will allow players to control a spaceship at the bottom of the screen, shooting at alien invaders falling from the top. The goal is to eliminate all the aliens while avoiding their projectiles. The game will feature simple mechanics, including shooting, moving left and right, and dodging enemy attacks.

Key Features:
Player Movement:

The player controls a spaceship at the bottom of the screen that can move left and right using the keyboard (e.g., arrow keys or 'A' and 'D').
Shooting Mechanism:

The player can shoot bullets upwards to destroy enemies by pressing a key (e.g., spacebar). The bullets travel vertically until they hit an alien or move off the screen.
Enemy Movement:

Aliens move horizontally across the screen. When they reach the edge, they drop down and reverse direction, gradually getting closer to the player's spaceship.
Collisions:

The game detects collisions between player bullets and aliens as well as between alien bullets and the player's spaceship.
Game Over and Scoring:

The game ends when the player’s spaceship is hit by an alien's projectile or if the aliens reach the bottom of the screen.
The player earns points by destroying aliens, and the score is displayed at the top of the screen.
Levels of Difficulty:




# Initialize Pygame
pygame.init()

# Game window setup
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Space Invader Clone")

# Colors
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)

# Game clock
clock = pygame.time.Clock()

# Game Objects
class Player(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = pygame.Surface((50, 50))
self.image.fill(GREEN)
self.rect = self.image.get_rect()
self.rect.center = (screen_width // 2, screen_height - 50)
self.speed = 5

def update(self):
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
self.rect.x -= self.speed
if keys[pygame.K_RIGHT]:
self.rect.x += self.speed
if self.rect.left screen_width or self.rect.left < 0:
self.rect.y += 20
self.rect.x *= -1

class Bullet(pygame.sprite.Sprite):
def __init__(self, x, y, direction):
super().__init__()
self.image = pygame.Surface((5, 10))
self.image.fill(WHITE)
self.rect = self.image.get_rect()
self.rect.center = (x, y)
self.direction = direction

def update(self):
if self.direction == "up":
self.rect.y -= 10
elif self.direction == "down":
self.rect.y += 10
if self.rect.bottom screen_height:
self.kill()

# Initialize game objects
player = Player()
all_sprites = pygame.sprite.Group()
all_sprites.add(player)

aliens = pygame.sprite.Group()
for i in range(5):
for j in range(5):
alien = Alien(100 + i*60, 50 + j*50)
aliens.add(alien)
all_sprites.add(alien)

# Main Game Loop
running = True
while running:
clock.tick(60) # 60 FPS
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# Update game objects
all_sprites.update()

# Check for bullet-alien collisions
for bullet in all_sprites:
if isinstance(bullet, Bullet):
if pygame.sprite.spritecollide(bullet, aliens, True):
bullet.kill() # Destroy bullet and alien
score += 10

# Draw everything
screen.fill((0, 0, 0))
all_sprites.draw(screen)
pygame.display.flip()

pygame.quit()
Project ID: 3410149
Project category:
Project budget:
View this project in detail (Note: you will be redirected to external marketplace)
Last Projects / Browse Projects
  Project Started
We need to have a brochure revised. 05-Feb-2026
10:15 GMT
Redesign Media Pack & Create New Charity Media Pack 05-Feb-2026
10:10 GMT
New brochure for a new loyalty platform aimed at small studios 05-Feb-2026
09:18 GMT
OELN Sketch 05-Feb-2026
09:17 GMT
Clean rebuild of working 3D prototype into production-ready CAD 05-Feb-2026
06:54 GMT
Need realistic interior and exterior rendering 05-Feb-2026
06:52 GMT
Complete existing Android (Kotlin) app to match React Native app 05-Feb-2026
06:02 GMT
Frontend Developer Needed – Marketplace Platform 05-Feb-2026
05:19 GMT
CONTRACT ENGINEER (IoT / Automation / Integration) 05-Feb-2026
05:18 GMT
Recording a short on-camera video IN ENGLISH, ready-made script 05-Feb-2026
05:16 GMT
DM Setter / Conversation Manager 05-Feb-2026
05:16 GMT
Remote Inbound Call Handler (Daily Pay+Training+Referral Bonus) 05-Feb-2026
05:11 GMT
Překlad webového obsahu CZ ↔ EN 05-Feb-2026
05:11 GMT
Competition Website Setup 05-Feb-2026
05:08 GMT
Facebook Ads Expert Needed for Online Course (Motorcycle Niche) 05-Feb-2026
05:08 GMT
Browse All Projects
Projects by Skills ...
Projects for 'android'
Projects for 'ajax'
Projects for 'asp'
Projects for 'aspnet'
Projects for 'cms'
Projects for 'cpp'
Projects for 'csharp'
Projects for 'css'
Projects for 'delphi'
Projects for 'design'
Projects for 'drupal'
Projects for 'excel'
Projects for 'facebook'
Projects for 'flash'
Projects for 'html'
Projects for 'java'
Projects for 'javascript'
Projects for 'joomla'
Projects for 'iphone'
Projects for 'mysql'
Projects for 'photoshop'
Projects for 'php'
Projects for 'python'
Projects for 'ruby'
Projects for 'seo'
Projects for 'sql'
Projects for 'sysadm'
Projects for 'translate'
Projects for 'typing'
Projects for 'twitter'
Projects for 'vbnet'
Projects for 'xml'
Projects for 'wordpress'
Projects for 'writing'
Read RSS feeds ... New!
RSS feed for 'android'
RSS feed for 'ajax'
RSS feed for 'asp'
RSS feed for 'aspnet'
RSS feed for 'cms'
RSS feed for 'cpp'
RSS feed for 'csharp'
RSS feed for 'css'
RSS feed for 'delphi'
RSS feed for 'design'
RSS feed for 'drupal'
RSS feed for 'excel'
RSS feed for 'facebook'
RSS feed for 'flash'
RSS feed for 'html'
RSS feed for 'java'
RSS feed for 'javascript'
RSS feed for 'joomla'
RSS feed for 'iphone'
RSS feed for 'mysql'
RSS feed for 'photoshop'
RSS feed for 'php'
RSS feed for 'python'
RSS feed for 'ruby'
RSS feed for 'seo'
RSS feed for 'sql'
RSS feed for 'sysadm'
RSS feed for 'translate'
RSS feed for 'typing'
RSS feed for 'twitter'
RSS feed for 'vbnet'
RSS feed for 'xml'
RSS feed for 'wordpress'
RSS feed for 'writing'
New!
Проекты на русском
(Projects in Russian)

Long URL:
www.1001freelanceprojects.com
Mobile version:
m.1001fp.com
Copyright © 2005-2025 1001 Freelance Projects