I was inspired mainly by the game Punch Out on the Nintendo Entertainment System. I wanted to use this and inspiration from other early Arcade games to make a game easy to pick up with a high skill ceiling, something I think Punch Out does masterfully.

What it does

You play as a mouse with a sword and a shield and your goal is to defeat the onslaught of increasingly difficult cats to get a high score

How we built it

I used GameMakerStudio 2 and the coding language GML, which is a language similar to C#. I used Aseprite to make the art. The player has four possible inputs: blocking, attacking, moving left, and moving right. I used a finite state machine to keep track of which state the player is in. This is essentially just a variable that stores an int that gets set. The behavior of the program is dependent on which value the variable is set to. Most of the project is a use of the state machine and the interactions between these states.

Challenges we ran into

The biggest challenge was definitely the design and balance of the game. I wanted the game to be fun and rewarding to play while providing a challenge to the player. I also wanted to make sure the game was easy to pick up, but hard to master, a trademark of the early arcade games this is inspired by.

Accomplishments that we're proud of

I am really happy with the feeling of the game as well as the visuals I created for it. I'm quite proud of the character designs, the feel of the game, and the technical skill used to make the game.

What we learned

I went into this project with an idea of how to make it, but I had never made anything like it before. I think I really have a good grasp of state machines now. I had made others before, however, they were often clunky, buggy, and inelegant. This is by far the best one I made and I really like how clean and easy to work with it turned out to be. I this project forced me to learn how to build an elegant state machine because the entire project revolves around it.

What's next for Whiskered Warriors

This will likely stay as a standalone project, but if a lot of people end up liking it I would like to add a high score feature and online leaderboards, possibly even host the game on a website for anyone to play in their browser.

Built With

Share this project: