1 of 1

CPSC 4160 – 6160 / Thief Escapist

Keenan Grant and Caleb Murphy

Game Description

The player is playing as a Thief trying to steal items from a home that is guarded by its homeowners. With a homeowner on each floor, the player has to maneuver around them by hiding, taking stairs, and taking elevators. The goal of the game is to steal as many items as possible, which increases the player’s score as that is what tracks the player’s progress.

The thief (player) has to successfully steal as many items as possible with the highest value as possible without getting caught by a security guard/homeowner. To steal these items, the player can pick them up by walking up to them. With the items the player has successfully stolen, they can sell the items for money which can be used to upgrade the Thief’s stats like inventory space and speed.

Game Mechanics

  • Room and Floor Traversing: The player can move around various rooms and traverse up and down floors via stairs and elevators.
  • Upgrades:
    • Increased Inventory Capacity: Allows user to store more in their pockets.
    • Increased Walking Speed: Allows user to walk faster.
  • Item Collection: The player can steal items to put into their limited inventory collection.
  • Enemy Mechanics: Security guards/home owners will be walking around the building and will be alerted when the player is in their line of sight.
  • Economy: Game has a store and an economy and the items have different values.
  • Hide: User can hide in various things like counters, under beds, etc.
  • Level Selector: Allows the user to select which level they would like to play and attempt to beat their previous high score on the level.

Technical Description

Pygame modules for Effects:

  • pygame.mixer - handles audio
  • pygame.transform - handles picture transformations (if required)
  • pygame.font - handles implementing text on screen for effects (if required)

Pygame modules for Collision Detection:

  • pygame.sprite - needed for the sprite collision detection functions and other helper functions
  • pygame.mask - needed for “pixel-perfect” collision detection (if required)

Pygame modules for Development Plan:

  • pygame.time - needed for Clock to handle FPS and keep track of time
  • pygame.display - needed to manage display
  • pygame.event - needed to manage events (player input, etc)
  • pygame.Surface - needed to draw on things (objects, etc)
  • pygame.draw - needed to draw simple shapes (if required)

External module required for loading maps created in Tiled:

  • from pytmx.util_pygame import load_pygame
  • pytmx
    • What file? util_pygame
      • What function? load_pygame

Controls

GAME CONTROLS:

Walk Left: a

Walk Right: d

Open Inventory: i

Close Inventory: ESCAPE

Pause: ESCAPE

Interact/Loot: e

Use Elevator: c

Use Stairs: q

Game Limitations

Future Work

Create AI for an NPC to find the shortest path from their current position to a single loot location on every other floor. The pathfinding would commence once that specific loot is stolen and the player has to avoid running into the guard that is moving towards the loots location.

Game objective

Game Screenshots

  • The game is not full screen as it only supports 720x480.
  • Although the art is pixelated, leading to lesser detailed graphics, the game still supports 64-bit graphics.
  • The game can only run at max 20 frames per second.