DeckFix

This project aimed to design a web application that answered the research question: How can constrained
optimisation be used to evaluate and generate Pokémon Trading Card Game decks?

Constrained optimisation is the process of optimising an objective function with respect to a set of decision variables while imposing constraints on those variables. In the context of this project, the function is evaluating and
generating Pokémon TCG decks, the decision variables are the chosen cards, and the
constraints are the game rules and user preferences. The function is
optimised by integrating effective deck principles found in tournament decks from
Limitless TCG, a database containing decks from international Pokémon TCG
tournaments.

Screenshot of deck builder page
Screenshot of generated deck
Project Objectives

The following objectives outline the tasks that were completed to realise the project’s aim:
1. Built a database that contains user, session, card, and deck data.
2. Built an Application Programming Interface (API) that defines functionality for
user authentication, card retrieval, deck building and generating with certain
functionality being restricted to only authenticated users.
3. Built a user interface (UI) that allows users to access the API’s protocols.
4. Built a deck building and generating tool that incorporates effective deck
principles, game rules and user constraints.
5. Answer the project's research question.

Project Outcomes

This project successfully achieved its aim by proving that constrained optimisation can be used to improve the evaluation and generation of Pokémon TCG decks to produce tournament-quality decks. It successfully achieved its objectives to fulfil its aim. It can be viewed here: https://deckfix.onrender.com/

This project was a great opportunity for me to holistically develop my research, technical and project management skills. It is a great addition to my professional portfolio, and I am very proud of it. I feel better prepared for similar projects in the future, where I will apply the experience I gained from this project.

Thesis

This document describes the development of DeckFix. It outlines the project's overview, aim and objectives, the research undertaken to ensure its success within the given time constraints, its requirements and design choices, implementation process, testing, and management.

Photo of Angelina Morris
Angelina Morris
BSc (Hons) Creative Computing

Full-stack developer with a passion for learning and problem solving.

BSc (Hons) Creative Computing