Inspiration

I was inspired by the legend of the tunnels below Iowa State, and the frame-shifting style of display was inspired by the original Legend of Zelda.

What it does

This is a basic dungeon crawling game where you have to navigate the steam tunnels (basically a maze) to find a key, and then leave through one of the exits. There are guards represented as red dots that will chase you, although slowly, and only do so after they're activated. If enough turns are taken, the player will automatically lose.

How we built it

Graphics are done with tkinter and turtle native python3 modules, and I used Visual Studio Community as a debugger for the project. Its not polished, but OOP was attempted to keep the programming contained.

Challenges we ran into

The biggest challenge was creating graphics using turtle. This is because in the turtle module, coordinates are defined on a 2D axis with the origin (0, 0) in the center of the screen. This is different from most computer graphics where the origin is in the top left corner. The matrix I used to draw the screen works naturally with the origin being in a corner, but I had to adapt this to work with turtle.

Accomplishments that we're proud of

I'm proud of being able to create a working product in just a few days. It isn't super flashy, but it does seem complete (even though more features would be awesome!). I also haven't really used python before, so it was interesting using another language.

What we learned

I learned how to use python syntax and modules. I am extremely pleased that I was able to figure out graphics alignment with my game matrix, and this was pretty new to me as I haven't done it before.

What's next for Steam Tunnels

The turtle module seems to be very slow, and I would look for another module to use for graphics next time. This should make the game much more responsive. I'm also looking towards more tile types, such as different kinds of guards and hot steam vents that blast steam on cycles. The level encoding is limited to 10 different data types, but this could be changed to allow for more. It would be could to make the game real-time, so game cycles occur without the player moving.

Built With

Share this project:

Updates