This PyGame based project is a variable 2-4 player game, occuring on different map sizes. The game consists of taking over / attacking enemy cells / upgrading current cells to control the battlefield and eliminate other players.
Project Areas: OOP and event-drive programming with Python, complex data types, abstraction and encapsulation, function decomposition
-
Clone the repository:
gh repo clone wells1989/Multiplayer-Battlefield-Strategy-Game
-
Install dependencies:
pip install -r requirements.txt
- Players control their HQ cell to start the game, with random selection determining the first player.
- Each player has 3 turns in a round, which they can use to take over new cells, upgrade current cells or attack enemy cells.
- At the end of the round the player gains points based on the cells they control at that point.
- Certain Terrain cells will require extra upgrades to occupy them, but they also offer benefits when being used to attack other cells.
- When a cell is attacked:
- The attacking and defending cells attributes are compare to determine the winner.
- Comms allows you to attack with multiple cells simultaneously.
- If the attacking player fails in the attack they also lose the remainder of their turn.
- The players can view the rules / restart the game at any point / reset the game (i.e. changing the number of players etc)
- Welcome screen / rules
- Game start
- The goal of this project was to develop a more dynamic, variable game with more advanced functionality. I also refactored a lot of the code to incorporate modularity and abstraction throughout the process
- A future development would be to incprorate a different map style, for instance having a global map instead of the grid structure, also allowing player logins to track their win history.