Competing in General Track

Inspiration

The inspiration for our project stems from a love of two things, fighting games, and chess. We noticed that the skill set involved in fighting games and chess have a lot of similarities in the context of thinking several moves ahead, and executing strategic plans. Fighting games provide a fast pace environment where people are forced to manage their input decisions rapidly or face the blow of an opponent. We understood that chess and fighting games juxtapose one another, fighting games involve reaction, whereas chess is calculated. Incorporating this dichotomy into our project leads to an interesting dynamic where players are forced to fight on both battlegrounds, leading to exciting gameplay that our team felt was worthy of development.

What it does

Our project is a Unity-based platform that incorporates a top-down chess game, however, when a piece is captured the game transforms into a 2-D sidescrolling fighter. The aesthetic and design direction emulates games like Street Fighter Two and Mortal Kombat.

How we built it

As for the development of the project, the tools that were involved were C#, Visual Studio, Aseprite, and Unity. The steps that were involved in our development procedure for a project like this, were defined by specifying our minimum viable product, designing algorithms for collision detection, chess piece status reporting, architecting solutions for data storage and recovery, and designing graphics, sounds, and other assets.

Challenges we ran into

When embarking on a project of this size and caliber, we were bound to encounter setbacks and challenges. Some of the challenges we as a team faced, surrounded issues such as understanding the workflow with brand-new tools and environments. Unity is an immensely powerful tool for game development, but along with that comes a level of complexity with learning the nuances of certain features and best practices, all while being cognizant of the time bounds that the hackathon environment places on our team. With the great ambitions of this project, we also had to dedicate a considerably large amount of time focusing on asset creation such as sprites, textures, audio, and more. With the sprite sheets in particular, many of the frames had to be meticulously drawn, this forced us to come up with tricks to composite certain chunks of different frames to minimize the amount of novel content that was to be generated.

Accomplishments that we're proud of

Some of the accomplishments that our group is proud of involve learning the intricacies of game development from learning how to make smooth animations, to learning how to debug certain scripts in Unity for game physics, collisions, chess logic, and more.

What we learned

When working with tools such as Unity, these types of game engines provide a lot of user-friendly GUI interfaces to simplify tasks that are otherwise done via scripting. Our group held the connotation that when programming, working with GUI interfaces typically very lacks luster, and scripting provides way more ease of access and customizability, but when working with immense code bases and repetitive tasks, the GUI elements provided by Unity allow for an immense amount of utility. This component of our development cycle is something we now appreciate in our workflow.

What's next for Checkmate

Our project initially had a lot of elements that were scaled down for time considerations. Some things we want to include going forward involve customized sprite sheets, custom move sets, online multiplayer, and controller support. We would also like to incorporate an advanced AI for players to play against in both the chess and fighting component of the game.

Built With

Share this project:

Updates