Sunday, October 19, 2014

Refactoring!



When we first began the capstone project, we didn't really address or plan out the system architecture much, which has now come back to bite us in the dick.

Many sub-systems, like the power-up system and the GUI components are very well organized and implemented. The player movement, racket swinging, and racket tossing however, was just plain awful. It was a twisting nest of crossed wires and poorly architected code.



So I spent today's game dev club work session refacotring all of it. Instead of having a boolean switch and dozens of if statements to decide which player we're talking about, I wrote an abstract base player class, and wrote subclasses for Player 1 and Player 2 that inherited the base class. This very basic object-oriented design was something we should have done from the get-go, but since most of the actual work was already done it wasn't too difficult re-writing everything.

Thursday, October 9, 2014

Character Design and Biography 2: She-V4


Character Bio: She-V4

After the success of their "He" line of helperbots, the Russian legendary Cloud Robotics Corp. once again struck gold with the creation of "She." With a sleek new design made evident by an extra S, She-V1 (Sheevee) was a massive hit with consumers everywhere. A year later, She-V2 was released. However, due to the lack of a catchy nickname, V2 was a colossal failure.
Realizing that "She-V3" would just sound like "Sheevee" again, the CRC melted down all of their V3 prototypes and the remaining factory V2s and moved forward with She-V4 (Shiva). A single prototype Shiva was produced before the engineers started reporting strange occurrences in the laboratory. 
When left alone, the then-stationary Shiva model would always be found the next day in a different position. One night, the workers swore that they heard the word "revenge" ring through the factory loudspeakers. The next morning, She-V4 was nowhere in sight. 
Fast forward one year later and the CRC is still top dog in the robotics industries after their breakout-hit "Me." They've gone on to celebrate the launch of "Me-2" by sponsoring the 2015 Dennis Open. Among the hundreds of competitors, one familiar name stands out. Shiva has returned. 

Name: She-V4
Age: 1
Sex: None (Identifies as Female)
Nationality: None (Russian-made)
Height: 5'8
Weight: 190
Eye Color: None (Blue LED)
Hair Color: None (Gray Armor Plating)


Size Comparison with Swolesaurus Racks - Same hit box
Also includes an alternate helmeted head design (She-V1). Will swap for each frame for quick Alt. Costume. Will result in twice as many folders, but simple enough that should really only add maybe a half hour tops to the whole process while giving She-V4 players an extra option for customization.

Sunday, October 5, 2014

Power up system, music style, background art


Today Jeff and I met at the game dev club to work on the power up system and later meet up with Dhruv, the Berklee student working with us.

Jeff and I pitched ideas back and forth on how the power-up system should work, and though we need approval from Sam & Ryan we came to an agreement on how it would work:

A  single power-up will spawn after semi-random amount of time. It will spawn in a random X position (in-bounds) at the highest Y position (in-bounds). The power-up will move in a “falling leaf” pattern, swinging from side to side and slowly falling down. If the power-up reaches the court floor, it disappears and respawns after a semi-random amount of time.
In order to actually acquire the power-up, players must hit the ball into the power-up, requiring some skill and planning to get the power-up.

This might of course change depending on input from Sam & Ryan. However I went ahead and implemented a basic system of power-up spawning and movement, and also added some background art Ryan did. In the screenshot below, the orange ball is the power up.


As for our meeting with Dhurv, we met up with him at Wired Puppy on Newbury St. We introduced ourselves and backgrounds, then dove right in to discussing the music style we wanted.

Dhruv really seems to understand exactly the kind of game we're going for and knows how to tailor music to it. We ended up agreeing on a music track that would have 3 different speeds (tempos). The slowest tempo (speed 1) is the base track that plays at the start of each round. Then, as the players complete more rallies, the tempo picks up. 

For example, after say 6 volleys back and fourth, the music will change to speed 2; then after 12 volleys it could change to speed 3. This will make each point more intense the longer the rallies go on, increasing both the nerves, anxiety, competitive spirit, and excitement of both players. Once a point is finally scored a sound effect will play, the round will reset, and a 3/2/1 timer will count down. From there the music will return to speed 1, bringing players temporarily down from the excitement of the previous point.

Additionally, we thought it would add even more to the excitement of the game if we layered in an extra track when a power-up is obtained. For example, if the tempo is currently at speed 2 when a player gets a power up, a percussion instrument playing at speed 2 will be layered in, adding more to the excitement and intensity of the match.

The overall goal is to do a music track like the one described above for each of the 4 courts, but the initial goal is to just get 1 great track that stimulates excitement and competition and go from there.