Art from Code: Crazy Bouncing Ball

As a future game designer, I plan to do a simple interactive game at my conference. I spend quite a time on what game should I do.  Originally, I am inspired by my city-skyline assignment. In that check-in, I imitated the classic background of game Super Mario Bros. Therefore, a platform game was my plan at first. However, although able to have interactions, Processing is not a tool designed for game production. It will be extremely difficult to have a platform on Processing. So, after having some discussions with Angela, I changed my direction to be practical. I want to do a game that cooperates with the techniques that I learned in class. I tried different combinations and ideas. After some experimenting, I came up with the idea of doing a ball-bouncing game with the sound element.

To begin with, the basic function of the ball bouncing game is movement, one of my favorite parts in the class. Motion, or animation, is a great advantage of computer art compared to traditional art mediums. Traditional arts are static while computer arts provide the rhythm and pattern through energetic motion. To make my conference a game instead of animation, I combined the motion with mouse interaction, letting users participate in the change of motion. The ball will bounce whenever it touches the plate that is controlled by the player. To make the ball bounce in different directions instead of a fixed routine, I modified the angles the ball bounces differently each time. There are a lot of experiments on the angle control. The game will be boring if there is less variability of angle while the game will be too hard to keep track of the ball if there is too much randomness. Additionally, I increased the speed to make the game more fun to play. Each time the ball bounces, the speed will increase. Therefore, the speed of the ball will increase to the extent that it is too crazy to follow by the player. Also, because the ball is bouncing crazily, it seems that there are many balls on the screen visually. The pattern and the rhythm of the ball are extremely cool to observe.

After having the basic function of the game, I wanted to add something fresh to the game. Therefore, I applied sound elements to it. First, I planned to insert a background into it. However, after discussions with my friends, I changed my idea. In the final version, players can have more choices on the music by just pull out their phones and play some music as the background. Instead of generating sound itself through processing, there is a sound detector to catch the sound. The amplitude of sound controls the size of the ball. Louder the sound is, the bigger the ball will be. The changing size of the ball makes the game more fun to play with. Fast pace music is the best suggestion since the speed of the ball will be faster and faster.

Moreover, although the game is simple and straightforward, I took time on design details. For example, I considered the color scheme. Personally, I love the black background and colored elements on top of it. The black background gives a special color contrast compared to white ones. In order to make the ball eye-catchy, I made the color of the ball randomized and changing every second. I tried different sets of color scheme and this is the one satisfy me the most. The color is vibrant and energetic. Besides color, I also considered the instruction: what kind of font and font size should I use? Where should I place the instruction? All these small details make a huge difference.

Speaking about improvement, there is a problem that the ball keeps bouncing if the plat is not moving in a long time. It is because the size of the ball is not fixed. However, it is an interesting accident that I like it somehow: it perfectly fit the “crazy” theme! To keep the craziness sphere and making a better experience for players, I will create a time condition that it didn’t bounce too many times to distract the game as an improvement. Another way to improve is by adding more sound elements to the game. For example, I can add a sound effect each time the ball collides with the plate.

Lastly, this is the first individual game I made. I am really satisfied and proud of my conference work. It is a great experience and first toward my dream. It is not easy to make a game. From inspiration to coding, each step has its own challenges. In this conference, I learned how to conquer these challenges with the techniques I learned and designing my own game step by step.