Skip to content

wells1989/Multiplayer-Battlefield-Strategy-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-player Battlefield Strategy Game

Table of Contents

Description

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

Installation

  1. Clone the repository:

    gh repo clone wells1989/Multiplayer-Battlefield-Strategy-Game
    
  2. Install dependencies:

    pip install -r requirements.txt 
    
    

Usage

Gameplay

  • 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)

Game GUI

  • Welcome screen / rules

Screenshot (596)

  • Game start

Screenshot (597)

  • Mid Game Screenshot (600)

  • Rules Screenshot (599)

  • Game end Screenshot (606)

Project Notes:

  • 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

Future-development:

  • 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.