What is crab-ms?

As the subtitle says, crab-ms is a bullet hell shooter game written completely in Python in which you play as a crab avoiding a swarm of squid that shoot ink at you, stalker fish, and killer jellyfish! Thankfully, you're able to throw pebbles at an extremely fast pace, scaring off the predators that you hit. Unfortunately, you're a crab that suffers from some common symptoms of multiple sclerosis (hence the "ms" in the name) like loss of balance, fatigue, and loss of vision.

What do these ailments mean to the player?

  • Loss of balance - the controls for movement are randomized for a short period of time
  • Fatigue - you move slower for a short period of time
  • Loss of vision - a vignette effect covers the screen, limiting the amount you're able to see

How to play?

To install, follow the link to the GitHub and download the source files. You'll need python and pygame installed. If you have those, just run game_runner.py!


  • WASD or Arrow Keys to move the crab
  • Mouse to aim the pebbles (you automatically throw pebbles)


One of the sponsors for this Hackathon, Norms, is creating an app that enables those who suffer from the effects of multiple sclerosis to better diagnose and understand their illness. While we're not directly supporting them, we thought it would be cool to research the most common symptoms of multiple sclerosis and see how we could incorporate that into a game. One of our first ideas was a game where you controlled a crab trying to accomplish tasks given to you while you occasionally suffered some of the symptoms of multiple sclerosis. This would serve to highlight what someone who suffers from multiple sclerosis might go through on a daily basis. We were planning to have a story and even thought about having a sad ending. However, due to the time constraint, we looked towards something simpler to make and that was how our small little story-based game turned into a bullet hell shooter. It's funny how ideas change like that.

Challenges we ran into

As mentioned in the previous section, we had much grander plans for our creation than what we ended up with, but due to time constraints we were unable to fulfill those plans. Early on in the development process, we designed a system that would allow us to generate large maps based on a text file and allow the play to move around that world. However, we ran into problems keeping the player inside the map and thinking of what exactly the player would do, so, instead of spend an enormous amount of time fixing those problems, we decided to shift gears and make something similar but different. Also, working on one project for such a long period of time slightly fried our brains.

Accomplishments that we're proud of

Honestly, the entire project can be considered an accomplishment that all of us are proud of. This was everyone's first ever hackathon and first time writing a game like this together outside of our programming classes. With that in consideration, the amount of progress that we made on this game as a team is a great accomplishment.

What we learned

We learned a lot about working together on programming projects like these and using GitHub to keep track of everyone's progress.

What's next

As mentioned previously, we were unable to carry out our first idea for our game and instead created a bullet hell type game. While there's nothing wrong with such a game, it lost its purpose of highlighting the symptoms that people with multiple sclerosis experience, and instead turned them into just another layer of challenge for the player on top of normal bullet hell mechanics. That'd be a project to explore someday. That in no way means that our game is a finished product, however. This was just a proof of concept written in the short amount of time that we had. We also had originally planned to have multiple stages with even more challenges for the player to face. Hopefully someday this game will be able to become what we had planned for it.

Built With

Share this project: