Staff pick 12/12/16

Inspiration

Usually I do web development, so I wanted to branch out and try something a bit more fun.

What it does

It is a side-scrolling endless platformer. The platforms are randomly generated, and as you go the level starts scrolling faster and faster. To counter your players speed, your player is increasing at the exact same speed as well. I chose to do a simple style, only utilizing flat colors and clean shapes. The first time you contact a platform it changes colors and flashes random different colors as long as your contacting it. Also, you are able to wall jump if you hit the side of platform correctly.

How I built it

I built it using Python, specifically the library pygame. Pygame is a library that offers many game friendly functions. I watched a few tutorials on how to do the basics, was given some barebones starter code, and then I got to work. The documentation for pygame is difficult to understand, so I struggled a lot simply trying to use easy functions.

Challenges I ran into

I spent at-least 3 hours just trying to figure out pygame's way of adding images to the screen. In my opinion pygame's way of doing things turned out to be way more complicated then I could ever imagine it being. Just the action of adding text to the screen takes the combination of several different functions. Overall it gave me a much greater respect for game developement, specifically without using a game engine.

Accomplishments that I'm proud of

I was proud when I got the constant side scrolling to work, when I got the platforms to be random, and when I figured out how to use the clock function in pygame to speed up the level and player as you progress.

What I learned

I learned pygame is insanely difficult, however I am very slowly getting better at it. I honed my python skills and expanded my logic when it came to certain game specific problems.

What's next for Cube Runner

I have outlined a whole lot of things that I believe I can do in the next few days to make Cube Runner a proper game. | Will provide updates to the progress on the bottom

  • Proper start screen with start button
  • Pause when escape is pushed, allowing exit and restart
  • End game screen allowing exit and restart
  • Score mechanic added. Your points accumulate the longer your in contact with a platform, and the faster the level is going the more points you get. DONE
  • Add a score counter DONE
  • Utilize File I/O to output scores, then use it to find the highest score. Will add some button to show what the highest score is when pressed DONE
  • Distance between blocks gets bigger as time goes on.

Built With

Share this project:

Updates

posted an update

Score counter added to in-game. changes colors based on how many points you have accumulated. After you beat the high-score the color of the score counter flickers random colors. Added a prompt at the start of the game to ask if you want to input your name, if you do then it is saved alongside the score in the .txt file, if you don't the name "Unknown" will be saved. Invalid input prompts you to re-enter valid input. At the end of the game a list of top 5 scores are listed including the names of whom got them. If multiple people got the same score, all names will be listed. Added RGB to the terminal output for the try-except errors and TOP 5 list.

Log in or sign up for Devpost to join the conversation.

posted an update

Score mechanic added, sitting on platforms accumulates points and the faster the level gets the more points. For now the score is printed in the console afterwards. I also use File I/O to input the score into a text file every time a game is played, then it finds the highest score out of them currently in the text file and prints it alongside your score.

Log in or sign up for Devpost to join the conversation.