Skip to content

Pyseas is an opensource project that aims to create a 2D, top down, turn based board game in Pygame. Where players become pirates and control their own ship. Using a card-based dice system, players explore a dynamic map, complete quests, and battle rival pirates.

License

Notifications You must be signed in to change notification settings

ultimateownsz/PySeas

Repository files navigation

PySeas - Open Source Pirate (Adventure) Board Game

Discord PRs Welcome License

Project description

Pyseas is an opensource project that aims to create a 2D, top down, turn based board game in Pygame. Where players become pirates and control their own ship. Using a card-based dice system, players explore a dynamic map, complete quests, and battle rival pirates. This game is designed to be engaging and using interactive elements using tools called Python and Pygame-CE, but you don't need to be a programmer to get involved or enjoy it!

Game design document

Every game needs thorough documentation, and you can find our Game Design Document (GGD) here.

Why Join PySeas?

  • Increasing your skills: Learn and improve your Python and Pygame skills through practical, hands-on development.
  • Learn about game development: Explore the world of game development and design, gaining valuable experience along the way.
  • Create something enjoyable: Contributing to a project that results in a game you and others can enjoy.
  • Join our community on Discord: Whether you want to help with ideas, give feedback, or simply enjoy the game, everyone is welcome!

Getting started

No need to worry if you are new to programming. This guide will walk you through the setup step by step. by the end, you'll have everything ready to run the Pyseas project.

  1. Clone the Repository: First you'll need to copy the Pyseas project to your computer through a process called "cloning".
  git clone https://github.com/ultimateownsz/pyseas.git
  1. Set up a virtual environment: A virtual environment is like a seperate space on your computer where you can install the software needed for this project without affecting other programs.
  • For Mac or Linux Users:

    • In your terminal, navigate to the folder where you downloaded the project (usually the 'pyseas' folder) using the 'cd' command:
      cd pyseas
    • Set up the virtual environment by typing:
      python3 -m venv venv
    • Activate the virtual environment:
      source venv/bin/activate
  • For Windows Users:

    • Open Command Prompt and navigate to the 'pyseas' folder (where you downloaded the project) using the 'cd' command:
    cd pyseas
    • Set up the virtual environment by typing:
    python3 -m venv venv
    • Activate the virtual environment:
    venv\Scripts\activate
  1. Install Required Software: Now, you'll need to install the necessary software that the project depends on.
  • Make sure you're still in the 'pyseas' directory/folder and that the virtual environment is active.
  • Install the software by typing the following command:
pip install -r requirements.txt # For running the game (runtime dependencies)

This installs everything you need to run the project.

  • If you plan to do any local development or modifications, also run:
pip install -r requirements_dev.txt # For local development

This step is optional and only needed if you want to make changes to the project. 4. Run the project Now you are ready to start the project!

  • Simply type:
python main.py
  • The project should start running, and you'll see it in action!

Deactivate the Virtual Environment: When you’re done working, you can deactivate the virtual environment using:

deactivate

Reporting bugs & requesting features

If you find something that's not working right or have an idea to make our project better, you can let us know by opening an Issue here on Github. An issue is just a way to tell us about a problem or suggest a new feature.

We use Github_Projects to organize and keep track of these issues, so we can make sure everything gets the attention it needs.

If you need more help or want to talk about it, you can join our Discord community. We're here to chat and help you out!

Local Development

See how to contribute: contribute

Linting and Formatting for developers

We chose to use Ruff to automatically lint and format the code. Run pip install -r requirements_dev.txt to install Ruff and other relevant dependencies.

Important

Before you open a Pull Request, please run this bash commands to format your code properly and doesn't upset our linter:

ruff format . && ruff check --include I --fix . # this formats code and sort imports
ruff check . # run linting and perform fixes
mypy main.py

If you use powershell, run these commands:

ruff format .;
ruff check --include I --fix .;
ruff check .;
mypy main.py

Relevant links

About

Pyseas is an opensource project that aims to create a 2D, top down, turn based board game in Pygame. Where players become pirates and control their own ship. Using a card-based dice system, players explore a dynamic map, complete quests, and battle rival pirates.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages