We were inspired to make this game from Steams 2015 Summer Sale event. In this event you were assigned a "team" and had to take down a boss with a lot of health. That game was a completely idle game, whereas ours is designed to be more active.
What it does
Our project allows you to create an account. When you create your account, we needlessly use the CPU, GPU, and time of the machine hosting our API to generate a unique API key for you. We also hash your password before inserted a new record with your information into CockroachDB. You can then play the game, and take down bosses together with your friends.
How we built it
We delegated teams to ourselves before starting to develop Cursed Clicker. Clayton was assigned the game UI/UX and hooking up actions to API calls. Eric was assigned Sprite Creation, as well as styling on the non-game pages of our app. Josh was assigned the API portion of the app, and Zane was assigned Database Administrator. As we started developing we all were flexible and ended up helping each other out, but we generally tried to stick to our roles.
Challenges we ran into
The first, most continuous, and largest challenge we ran into was that Josh was most familiar with Python, and therefor decided to make the API in Flask. However, Flask is a very strict library that has features that you don't generally use in a day-to-day Python workflow, so there were small, but numerous, bugs that would pop up and were very workflow intensive to squish. The API was definitely the limiting factor for the amount of project we were able to make.
Accomplishments that we're proud of
We are very proud of our unnecessary complication with generating an API key. Zane was the contributor for this feature, and overall it is a pretty entertaining part of our back-end. When it comes to front-end Eric is very proud of the sprites that he made. Overall, drawing and art is not anything that any of us really commit to often, so for the sprites to come out the way they did is something for us to be proud of. Clayton is proud that the game screen was surprisingly approachable, despite all the API hooks not being present.
What we learned
What we learned over the course of this project is that sometimes it is better to pivot when a technology doesn't seem to be working out early, instead of suffering through it. If we had pivoted to a language that one of the other team members was more comfortable with, and had switched tasks then the application might be in a healthier state than it is in now.
What's next for Cursed Clicker
Cursed Clicker is near to completion, and given a couple more days would have definitely been gold. What we would need to do to continue it is to add the missing API hooks to utilize on the front-end and implement web sockets for continuous communication between client and server. Since these are something that we are comfortable with, we would have definitely gotten them done given just a little more time.