DEV Community

Cover image for Top Cat: A Look Back at an Early Project
El Marshall (she/they)
El Marshall (she/they)

Posted on

Top Cat: A Look Back at an Early Project

This week I thought I'd revisit one of my first programming projects - the second one I completed in my bootcamp, in fact. This was a team project, created with Ruby on Rails.

We made a game called Top Cat - where you compete to be the most beloved stray cat in the neighborhood. It's lacking features, its CSS is far from ideal, and I'm certain it's buggy up the wazoo. There are good reasons this one isn't listed on my resume. But I was damn proud of it when we made it, and I still think it's extremely cute. I thought I'd kind of give it a look over and talk about the things I think need to be improved about it. I must keep in mind thought - this was made over about 4 days when I was only 5 weeks into my coding journey.

First of all, the styling could use some serious polishing. In some places text is centered, in others it isn't, and in some it's just completely the wrong size, or the container for it needs to be limited to a smaller portion of the screen. I've got much more skill with CSS now, and would likely be able to fix it quite well. My next project was much better looking, if I do say so myself.

On a functional level, there were a few things we never had the chance to add in. The core function of the game was that you had a certain number of actions a day to spend visiting houses, scavenging for food, etc. If you ended a day hungry, or encountered one of the random events with something like an angry dog, you lost a life (Cats have 9 lives, and all that!). Unfortunately, we ran out of time to implement any functionality for loving all 9 of your lives! It should be game over, but as is, you'll simply slip into negative lives.

This would have to be a fairly large addition, as it would mean adding logic that cuts off access to that cat, and prompts the user to make a new one. As is, you can only make one cat. We had on our wishlist to add the ability to have multiple cats.

The biggest thing is, this program is just not at all dynamic in the ways it needs to be. Frankly, it needs some dang JavaScript. We were frustrated at the time at the static nature of Ruby on Rails pages, which limited several things we wanted to do. For instance, on the cat creation and edit pages, you choose from a drop down of different cat face avatars. If I were to make this now, with some JavaScript it would be easy to make a preview of those avatars pop up when you select them. As is, you just have to select one that sounds good and find out what it looks like when you get to your home page.

I may make some of these changes my mission for the upcoming week!

Top comments (0)