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!
Every game needs thorough documentation, and you can find our Game Design Document (GGD) here.
- 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!
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.
- 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
- 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
- In your terminal, navigate to the folder where you downloaded the project (usually the 'pyseas' folder) using the 'cd' command:
-
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
- 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
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!
See how to contribute: contribute
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