- John Gallagher: John-Gallagher
- Ted Freeman: TheoFr
- Chase Heck: whattheheck11
- Joel Barkley: Psychonattic
- Nathan Carmine: ncarmine
An open source, customizable Monopoly clone written in pygame
To create an open source Monopoly game using pygame, with the ability to customize the board to the user's liking.
To make players smile while combining our love of modularity and board game.
- Limited experience with pygames framework
- Cross-platform difficulties (Windows, Mac OS, Linux, etc.)
- Schedule conflicts among group members
- No prior experience working with the group members
- Legal/copyright questions
- We will each research Pygames to familiarize ourselves with it
- We can perform development on the school computers, giving us equal development environments
- We will only use open-source graphics or create our own to take away legal risk
- We will meet regularly at predefined times to discuss the project, using online tools to schedule
- As a user I want an Intuitive UI so that I can easily use the program.
- ID Number: 1
- Story Points: 40
- As a user I want to see the current status of the board so I can make gameplay decisions.
- ID Number: 2
- Story Points: 35
- As a user I want to know where my game piece is to make buying and selling decisions in-game.
- ID Number: 3
- Story Points: 20
- As a user I want to know where other players' game pieces are in order to make gameplay decisions.
- ID Number: 4
- Story Points: 25
- As a user I want the game to save the game progress so that I can play in discrete sessions.
- ID Number: 5
- Story Points: 10
- As a user I want a single player mode so that I can play if I don’t have another person to play with. (AI)
- ID Number: 6
- Story Points: 45
- As a user I need to be able to buy properties and gain money from chance and community chest properties so that I get more enjoyment from the game.
- ID Number: 7
- Story Points: 32
- As a user I want to be able to role dice to progress along the board.
- ID Number: 8
- Story Points: 5
- As a user I want to be able to win the game by bankrupting the other players.
- ID Number: 9
- Story Points: 7
- As a user I want to be able to play against at least one other human player.
- ID Number: 10
- Story Points: 42
- As a user I want to see my high scores or the number of wins so I can see how well I have done in the past.
- ID Number: 11
- Story Points: 14
- As a user I want to see aesthetically pleasing graphics when I play the game so that I play it more. * ID Number: 12 * Story Points: 27
- As a user I want to be able to choose different game pieces so that I can customize the experience.
- ID Number: 13
- Story Points: 13
- As a user I want to be able to change the difficulty of the AI in order to tailor the game to my skill level.
- ID Number: 14
- Story Points: 50
- As a user I want to be able to play agianst up to 3 other players.
- ID Number: 15
- Story Points: 39
Agile Process
##RUN:
- Download the git project and extract it.
- In the terminal, navigate to the directory GroupProject-CSCI3308-master
- Run the command: python main.py
- To run a custom theme, add the theme name after main.py. For example run: python main.py high-res for a high res version of the board.
##THEMES: To create a new theme:
- Create a new directory under
./images/themes
with the name of your theme. Eg:./images/themes/MyTheme
- Each theme directory should contain the following:
- 40 images titled
space0.jpg
tospace39.jpg
. Each image corresponds to the 40 spaces on the board, starting at "Go" (space0) and going clockwise around the board, ending at "Boardwalk" (space39). - A
spaces.csv
file with six rows
- 40 images titled
- Each row in
spaces.csv
should be as follows:- The title of each of the 40 spaces, starting at Go, going clockwise. (40 cols)
- The type of each space. There are different 10 spaces: (40 cols)
- "property" - A purchasable property that can have houses on it
- "railroad" - A purchasable railroad space, traditionally four on a board, in the middle of each row
- "utility" - A purchasable utility space, traditionally two on a board.
- "tax" - Income/Luxury Tax space. Non-purchasable. Traditionally two on a board
- "chest" - Community Chest space. Non-purchasable. Draw a Community Chest card.
- "chance" - Chance space. Non-purchasable. Draw a Chance card.
- "go" - The initial space you start at. bottom-right corner
- "jail" - In Jail/Just Visiting space. bottom-left corner of the board.
- "parking" - The Free Parking space. top-left corner.
- "gotojail" - Player goes to jail when on this space. top-right corner.
- The price for each of the purchasable spaces. This includes properties, railroads, and utilities. (# of cols = # of properties + railroads + utilities on the board)
- The rent for each of the purchasable spaces, not inluding utilities. (# of cols = # of properties + railroads)
- The cost for each house. This is not the rent cost with houses, this is the price required to get one additional house. (# of cols = # of properties)
- The color of each property. (# of cols = # of properties)
To run the program with your selected theme:
python main.py MyTheme
If your theme does not work, the game will automatically revert to the default theme. If you remove, add, or modify anything in the ./images/themes/default/
directory, you may have to reinstall the game files.