Skip to content

About

This repo will contain the entirety of the tasks the will be made in the module 200

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

168 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Group-Project

This repo will contain the entirety of the game that will be made in the module 200

Requirements

You need:

  • Python 3
  • pip
  • pygame
  • numpy

Install dependencies manually

From the project folder, run:

python3 -m pip install pygame numpy

If your system blocks global Python package installs, use a virtual environment:

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install pygame numpy

Run the game manually

From the project folder, run:

python3 src/main.py

One-command setup and run

You can also use the included shell script:

chmod +x ./scripts/setup_and_run.sh
./scripts/setup_and_run.sh

The script will:

  1. Create a virtual environment named .venv if one does not already exist.
  2. Install or update pygame and numpy.
  3. Run main.py.

Troubleshooting

If python3 is not found, install Python 3 first.

On Debian/Ubuntu-based systems:

sudo apt update
sudo apt install python3 python3-pip python3-venv

Dir guide

root
|   assets/
|   │
|   ├── art/
|   │   ├── characters/
|   │   │   ├── player/
|   │   │   ├── goons/
|   │   │   ├── elite/
|   │   │   └── bosses/
|   │   │
|   │   ├── environment/
|   │   │   ├── tilesets/
|   │   │   ├── props/
|   │   │
|   │   ├── items/
|   │   │
|   │   ├── effects/
|   │   │
|   │   └── ui/
|   │       ├── icons/
|   │       ├── hud/
|   │       ├── menus/
|   │
|   ├── audio/
|   │   ├── music/
|   │   │   ├── labyrinth/
|   │   │   ├── boss/
|   │   │   └── menu/
|   │   │
|   │   ├── sfx/
|   │   │   ├── combat/
|   │   │   ├── ui/
|   │   │   ├── environment/
|   │   │   └── magic/
|   │   │
|   │   └── voice/
|   │       └── narrator/
|   │
|   ├── animations/
|   │   ├── player/
|   │   ├── enemies/
|   │   ├── bosses/
|   │   └── effects/
|   │
|   ├── maps/
|   │   ├── gen_configs/
|   │   └── test/
|   │
|   ├── data/
|       ├── items/
|       ├── enemies/
|
├── scripts/
|
├── src/
│   ├── engine/
|   |   ├── renderer/
|   |   ├── audio/
|   |   ├── collision/    
│   ├── game/
        ├── ui/
        ├── player/
        ├── enemies/
        ├── labyrinth_gen/
        ├── Objects/

Commit guide

Here are the commit message types we should try to write:

Functional changes

  • feat : for implementation of features (kind of reserved for the first time a feature is pushed)

  • fix : for fixes of already added features / core mechanics

  • perf : performance or optimisation changes

Maintenance and Polish

  • perf : performance or optimisation changes
  • style : non-functional focussing on formatting or clean-up

Documentation and Other

  • docs : add project structure explanation
  • other : anything else

Examples:

feat: implemented enemy pathfinding

fix: prevented player from walking through walls

perf: simplified labyrinth generation loop

chore: foolib, upgrade to 1.2.3

style: normalised indentation in rooms class/file

docs: updated README setup instructions

About

This repo will contain the entirety of the tasks the will be made in the module 200

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages