This project was a semester long group assignment I worked on with my three other group members. I designed and built all of the architecture which included the finite state machines in the HatGame and Play classes along with the classes that manage the different states, all of the directory classes, and most of the parent classes used to build more content (Ability, Effect, Entity, ect.).