Magical Monarch

Project

Magic: The Gathering (MTG) is a card game created by Richard Garfield. Each game of Magic represents a battle between wizards known as planeswalkers who cast spells, use artifacts, and summon creatures as depicted on individual cards in order to defeat their opponents.

Magic can be played in a variety of formats that involve different numbers of players, different numbers of cards in a single players deck, and variant rules depending on the specific format used. This web application allows users to play Magic the Gathering online following the "EDH" or "Commander" format. Under this format, each deck has a single commander card that must be typed as either a legendary creature or as a planeswalker with commander ability. Two such commander cards are shown in Figure 1. This application will allow users to play MTG using the commander format.

Two Magic the Gathering Commanders

Functional Requirements

The following is a short list of functional requirements for this system. This project will require the student to develop a more complete set of functional requirements.

Roles

There are two roles for this system: admins and users.

Admin

As an admin, I want to be able to

User

As a user, I want to be able to

Only the essential rules of the game will be coded into the server. Rules attached to individual cards will not be managed but there will be a mechanism for players to manually manage all aspects of the game.

Technologies

This project will require development of a server (using either Node or Java/Spring) along with a database (using either MySQL or Mongo). The prototype will be web-based using web-sockets for real-time multi-player interaction. There may also be an Android app if time allows.