My game was working before I added lines 7 and 8. what happened in the game was the red sprites that fall down the screen would hit the main character sprite which is green and the game would stop just as I need it to. import pygame import random from os import path img_dir = path.join(path.dirname(__file__),'PNG') background = pygame.image.load(path.join(img_dir,'Space-Background.png')).convert() background_rect = background.get_rect() WIDTH = 480 HEIGHT = 600 FPS = 60 WHITE = (255,255,255) BLACK = (0,0,0) RED = (255,0,0) GREEN = (0,255,0) BLUE = (0,0,255) pygame.init() pygame.mixer.init() screen = pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("My Game") clock = pygame.time.Clock() class Player(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface((50,40)) self.image.fill(GREEN) self.rect = self.image.get_rect() self.rect.centerx = WIDTH/2 self.rect.bottom = HEIGHT-10 self.speedx = 0 def update(self): self.speedx = 0 keystate = pygame.key.get_pressed() if keystate[pygame.K_LEFT]: self.speedx = -5 if keystate[pygame.K_RIGHT]: self.speedx = 5 self.rect.x += self.speedx if self.rect.right > WIDTH: self.rect.right = WIDTH if self.rect.left < 0: self.rect.left = 0 def shoot(self): bullet = Bullet(self.rect.centrex,self.rect.top) all_sprites.add(bullet) bullets.add(bullet) class Mob(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface((30,40)) self.image.fill(RED) self.rect = self.image.get_rect() self.rect.x = random.randrange(0, WIDTH - self.rect.width) self.rect.y = random.randrange(-100,-40) self.speedy = random.randrange(1,8) def update(self): self.rect.y += self.speedy if self.rect.top > HEIGHT +10: self.rect.x = random.randrange(0, WIDTH - self.rect.width) self.rect.y = random.randrange(-100,-40) self.speedy = random.randrange(1,8) class Bullet(pygame.sprite.Sprite): def __init__(self,x,y): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface((10,20)) self.image.fill(YELLOW) self.rect = self.image.get_rect() self.rect.bottom = y self.rect.centrex = x self.speedy = -10 def update(self): self.rect.y += self.speedy if self.rect.bottom < 0: self.kill() # player_img = pygame.image.load(path.join(img_dir,"spaceShips_003.png")).convert() # bullet_img = pygame.image.load(path.join(img_dir,"spaceMissile_006.png")).convert() # mob_img = pygame.image.load(path.join(img_dir,"SpaceMeteor_004.png")).convert() all_sprites = pygame.sprite.Group() mobs = pygame.sprite.Group() bullets = pygame.sprite.Group() player = Player() for i in range(8): m = Mob() all_sprites.add(m) mobs.add(m) all_sprites.add(player) running = True while running: clock.tick(FPS) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: player.shoot() all_sprites.update() hits = pygame.sprite.groupcollide(mobs,bullets,True,True) for hit in hits: m = Mob() all_sprites.add(m) hits = pygame.sprite.spritecollide(player,mobs,False) if hits: running = False screen.fill(BLACK) # screen.split(background.background_rect) all_sprites.draw(screen) pygame.display.flip() pygame.quit() After I added the two lines for the images there was an error message. I am not sure what happened and I need some help fixing it. >>> %Run trial.py pygame 2.1.2 (SDL 2.0.18, Python 3.7.9) Hello from the pygame community. https://www.pygame.org/contribute.html Traceback (most recent call last): File "C:\Users\Mish Mash\Documents\School File\trial.py", line 7, in <module> background = pygame.image.load(path.join(img_dir,'Space-Background.png')).convert() pygame.error: cannot convert without pygame.display initialized Continue reading...