Sunday, November 9, 2014

Music

I met with Dhruv to discuss music and sfx, and just wrote a script that should take care of layering in the music that Dhruv is creating. Once I get the assets from him we can test and see how well it works/good it sounds.

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.

Sunday, September 28, 2014

Character Animation: Swolesaurus Racks: Run / Run-Idle Transition




Transition Animation from Idle Animation to Run Animation. TennisSwoleRunTransition1-3.png











Simple court with UI elements for scaling and testing.

Game Dev Sunday! ~~~

We got an early start at 11AM before the game dev club work session even started because we're dedicated like that.

After playing around with integrating InControl, and reading through the Best Practices page, we came to a group decision not to use InControl. It seems like more effort than it's worth, and it's suggested we don't use triggers or sticks, two things that are core to our controller gameplay.

Ignore all of the above, I (Deniz) spent 2 more hours than planned working on InControl, was able to successfully integrate it.

We also successfully merged Deniz's branch into the development branch (without completely destroying dev) for the first time today! WE CAN VERSION CONTROL! HUZZAH! THE SYSTEM WORKS!



Thursday, September 25, 2014



Some fun font.

                                                 









Tuesday, September 23, 2014

Git will haunt our nightmares

Deniz:

After some headaches we ended up deleting the entire dev branch of our git repository, integrating the work Jeff and I did manually from within my personal branch, and then pushed all of that into a new dev branch.

This new dev branch has working movement, jumping, racket throwing, and ball physics for 2 players that works with both keyboard and controller input. There is also racket swinging for just keyboard currently.

Now that we have the basic game completed and in version control, it's all a cakewalk from here /s. We're going to look into using UniMerge as a version control solution for merging scenes.

Monday, September 22, 2014

Group Meeting - Game Dev Club

Yesterday we met up at the Game Dev Club's working session to decide on a few things and try fixing the controller input issues.

First, we made a few design decisions as a group - for example how the ball is supposed to behave when interacting with the player (we decided the ball will simply fall past the player and never hit them, making rackets the only important object players care about). We also added a minor game mechanic that enables players to chose what angle they throw their racket at from 3 preset angles (straight ahead, 45 degrees up, and 45 degrees down).

As for the input issues, after about an hour and a half of fiddling with the controller, tools, and the scripts we got both keyboard and controller working for two players, however only the D-pad seems to work properly for movement (joysticks were buggy as hell) and jumping with X affects both players simultaneously. Further testing is needed (especially with two controllers) and we plan on talking to Eric P, as he's implemented dual controller input before.

Sunday, September 21, 2014

Character Animation: Swolesaurus Racks: Idle

Very simple 4 frame animation for when the player is idle.
12
34

Resets to 1 for loop.

Friday, September 19, 2014

Milestone 1

This week we completed a few things:
  • Implemented a basic 2D court with placeholder assets
  • Implemented basic movement and controls*
  • (Mostly) completed the Game Design Document
  • Character design for 1 character
  • A mock-up for the first court design
  • Started research and implementation of 2D Ball Physics
    • Currently, the ball properly stops on contact with the ground, and moves in the appropriate direction when contact is made by a player. Hits haven't been implemented yet, so any contact will send the ball in the opposite direction.
*The keyboard controls have been implemented for 2 players, however implementing 2 player controller input had some issues. We'll be meeting on Sunday at the game dev club working session to hammer out these problems and start work on milestone 1.5.

Character Design 1: Swolesaurus Racks
SRacks.png

Screenshot of the basic 2D court with placeholder assets:















A mock-up for a Roman gladiator colosseum style court:

CapstoneTennisStageColosseum.png