Ball is the brain child of Andrew Liu and Luis Lopez. It is a vertical endless runner game with randomly generated map, where the user navigates a ball down through a maze that is constantly moving upwards and speeding up. The goal is to avoid being caught by the top edge of the screen.
Our game uses the PyGame library within Python and was developed using PyCharm and GitHub. The goal is to get the game up and running on a webserver for the entire interet to play (possibly with the usage of a cloud platform like Microsoft Azure). But for now, it is intermittently being worked on locally and finetuned.
One day, Andrew was reminiscing on his childhood and he had a very fond memory of a mobile game he played that involved navigating a ball through an endless vertical map, just like Ball. Luis said to him, "We could totally build that, like right now."
As any developer knows, the hardest part of any project is starting. While finding the inspiration to start was easy, the motivation, not so much. Learning to use GitHub as a beginner was not easy, and setting up an environment that we could both use (as Windows and MacOS users) was also challenging. We had to research effective PyGame programming techniques and even look up some past material from classes (a short PyGame unit). Thankfully the PyGame community is large and the documentation is in depth, allowing us to familiarize ourselves quickly.
- Object Collision - Finding out how objects collide, their speeds, and things of that nature is very hard to code. We are still looking for an absolute solution or fix for object collision. For that, there are many useful guides and already existing pieces of code we are learning from.
- Random Obstacle Generation - Something that computers struggle with is randomness. While there are many libraries for handling that, they're not perfect and learning to use them can be hard. Random, yet beat-able map generation has a whole host of issues.
- Fairness - A game can be all random, but that would not really be fun. There needs to be some sort of grounding for the player. And along with that, a general expectation of length and difficulty when starting a game. We are looking for ways to make the game challenging, yet fair for any player, and still rewarding.
First, we need to get over all the hurdles that are holding us back right now and finish the game's main functionality. From there, we must add some more life to the game (sprites, music, etc.) Finally, we want to host the game online, even if for a short while (Cloud is expensive), so that our friends can play it and see our work.
Luis is a Computer Science student and Andrew is a Data Science student. They both currently attend the University of California - Irvine, and they share their aspirations in becoming software developers and data scientists, as well as their love for video games. With this project we hope to have fun and learn some new things!