Battlefield: Labyrinth

In autumn 2020, I worked in a group of eight to develop a 2D game in Java, as part of our Year 2 Software Engineering module at Swansea University.

Our game is a local multiplayer tile-based game, inspired by the classic boardgame Labyrinth. Players race, to reach a set goal tile, from their starting positions on a constantly changing gameboard.

Players take turns to draw a random board tile and play it onto the gameboard. This pushes existing tiles out of the way, modifying the layout.
Players may sometimes draw abilities, rather than board tiles, which can be played immediately, or stored for a later turn.
Players may then choose to play an ability, if they have one, which have various gameplay effects, such as doubling a player's movement, or denying movement onto a section of board to all players.
Finally, they choose where to move their character on the board.


For this project, we first planned a project structure and object breakdown using UML diagrams, and estimated the implementation time for each section. We assigned these blocks of work between the team, trying to balance workload and difficulty, based on individual experience.

My primary development areas for the game where in creating the layout and interaction behaviour for the gameboard and to create a controller to interface with the UI and gameplay modules developed by other team members. I also implemented the abilities system.


The source code for this project is available here, along with the latest compiled release versions.

Mirror Download: BattleField-Labyrinth-Java-v1.0