Adventures In South Park

 

 

Team Members and Contributions

 

Chris Hawk - Main Loop, Game Play, Code Integration

Marc Gibbert - Game Play and Animation

Sara Carroll - Menus, Sound Bytes, Strength Display

Rebecca Flammang - Scoring and Lives Display, Graphics

 

Introduction

 

In this game, you find yourself in the world of South Park, but with a twist. The characters from South Park attempt to catch the onslaught of falling assignments in ECE 291 that are thrown down by the professor from above. The goal is to catch as many assignments as possible without letting your character’s strength level getting too low. The strength decreases as a function of time, but it can be boosted by eating the favorite snack in South Park, cheesy poofs. As in the class, the assignments are all worth different point levels as shown on the menu screen below. Increasing the number of points will move you to a higher level. The first level is 2000 points, 4000 more points are required to move to the third level, and the amount keeps doubling in the same fashion. As the levels increase, three difficulty factors change. The strength level decreases faster, the time between dropping assignments decreases, and the falling speed of the objects increases. If your character’s strength level reaches zero, you will lose that life and come back as the next character. Once Kenny dies, the game is over.

 

Problem Description

 

The main problem in this program is to keep track of all of the independent things going on simultaneously in the game. A matrix structure is needed to hold all of the information of the assignments falling and their current positions in the screen. They then need to be checked continuously to see if the assignment hit the ground or if the character caught it. When an assignment is caught, the score needs to be updated accordingly. At the same time, the strength level decreases as a function of time brought off of the system clock. The strength will keep decreasing until a cheesy poof is caught, then three strength bars are added and the countdown will start again. The random function in MP 3 converged too quickly to be used with the volume of number generations in this game, so a new random function was needed. This time, the system clock was used as the seed to generate the random numbers. Since the assignment types were generated randomly, there also had to be a way to distribute the assignments falling so that the low point level assignments were generated much more often than the higher point level assignments and there would only be an occasional gold star. As the new level was reached, the background image was changed and a sound byte was changed to indicate level change. Also, the three properties were updated as explained in the introduction. All of these individual things had to be updated and moved to the screen each time the object would fall while maintaining smooth animation.