Inspiration

Our game was heavily inspired by one of my favorite games of all time, Hotline Miami. The skill based timings, accuracy, and endurance it takes to fight hoardes of AI was an element we took to heart.

This game is also of course inspired by our school experiences, where forgetting to study for a test seemed like the end of the world.

What it does

Our game takes you into the world of an average American school: Tests, teachers, hall monitors, and everything else. We focused a lot on dynamic gameplay and replayability.

The gameplay is fluid and tries to always keep you in full control of your character, and a fully randomly generated map layout makes every playthrough different from the last. We also wanted to make our game a challenge, so we didn't nerf the enemies too much. They'll get ya!

How we built it

We split responsibilities between us: Jake made all of the visual assets (the rooms, fonts, sprites, everything), and Augustus (me) did all of the programming.

We had to coordinate a lot so everything one of us made worked with everything the other made. We built the whole game in Python using only pygame as a library.

Challenges we ran into

I had never used pygame before this, and I hadn't used Python in a project for a couple years, so when we started this project I had to relearn a lot. I remember having to look up how to write a class. Luckily, I've had a little bit of experience with a C library called Allegro, which is a little bit similar to pygame.

As for assets, we had never worked with sprite sheets before, so formatting our assets took testing. I had to write a wrapper for sprite sheets from scratch, which took a little finagling.

Accomplishments that we're proud of

I am really proud of the collision and line-of-sight algorithms I came up with. I had to solve a lot of challenges I'd never come up against before, like making AI work in a 2D image-based-collision environment.

We're proud of our timely asset creation as well, with all visuals, fonts, and even music created in-house by Jake.

What we learned

I learned a lot about Python and the proper Pythonic ways to write algorithms, as well as 2D game design principles. I've mostly worked with Unity 3D before, so this very educational. Jake learned a lot about pixel art and creating 2D assets. Techniques like dithering, perspective forcing, etc all had to be learned on the fly by him.

What's next for Cram Crawl

If we can polish it up a little bit, we're thinking about listing it on Gamejolt or Steam for free or cheap. We are very proud of our game!

Built With

Share this project:

Updates