Venkat Varun Reddy Singireddy's profileLeonardo Sandim Kretzschmar's profile

Don't Touch Red

About the Game
Don’t Touch Red is a 2-player co-operative game where the players must dodge hazards by moving in a limited space. The players are separated by an electric link, like a rope, connecting their avatars. The players must use this rope to collect points, avoid hazards, and build combos in the game. The link is an extension of the player and if a hazard collides with the link, the link’s charge (health) decreases and the game ends when the charge is zero, or when the Kinect loses track of both the players.
Goal: Score the highest amount of points capable without triggering game-over conditions.
•    Core: Dodging, Collecting and Teamwork.
•    Number of Players: 2
•    Platform: Pc/Kinect
•    Resolution: 1680x1050 (projector resolution)
•    Aspect Ratio: 16 x 9
•    Control: Kinect (skeleton detection)
Game Setup
During the initial stage of the project, we decided to create an interactive game as our final deliverable. We pitched three distinct ideas for games that we can successfully make within the given timeframe. After analyzing the requirements and resource availability, we agreed on designing a co-operative dodging/collecting game.

After coining the core concept of the game, our major challenge was to choose between placing the Kinect in top-down perspective along with the projector to track players using blob detection, and placing it horizontally perpendicular to the projector to track skeleton data of the players. Since we also wanted to detect player gestures and assign actions in the game, we decided to go with the perpendicular placement for the Kinect with the projector.
The Kinect and the projector need to be calibrated with each other to achieve optimum gaming experience. This was best achieved by first adjusting the projector so that the blue screen dimension on the floor is approximately 13ft x 9.5ft. Then, the Kinect must rest on an elevated surface approximately 3 feet above the floor and 3 feet away from the top of the projection on the floor. Horizontally the Kinect should be at the middle of the projection base. To calibrate the screen, start the game and move the Kinect so that the player avatars are directly beneath both players.
Alpha
Using Unity-3D game engine and SDK for Kinect 2.0, we programmed the basic functionality of the control system utilized in the game. The Kinect successfully registers not more than two players every game, and draws avatars beneath them. The engine takes the pelvic point from each skeleton as the point to draw avatars, and connects these two points with a line. We tested the latency of the camera tracking with the movement of players in real-time and concluded that it would contribute to optimal gameplay.

We then created sprites for both collectibles and hazards and placed them in the game. The sprites move from the top of the screen toward the players. Since the line drawn between both players is always a slant line on the Z-axis, because the pelvic points of each player’s skeleton is not always on the same line, we had to increase the sprites’ collision boxes’ scale value in the Z-axis to make sure the sprites always collide with the electric link.
We created different types of collectibles and hazards that come at different speeds in different levels of the game. Their speeds gradually increase as the game progresses that contributes to the difficulty. We also experimented with the health system and damage values for the hazards. Since we decided to have enemy path patterns in our game, we decided to have a set number of hits in order to trigger game over. Each pattern has its own variable amount of damage they deal depending on the complexity of the pattern and the actions they require from the players to avoid them.

The current experimental damage values I experimented to have in the game are:
•    Normal hazards                  5% damage
•    Lasers                              35% damage
•    Laser hand                         5% damage per second
•    Flak                                  15% damage per hit
Beta
The beta includes the functionality of the combo system we implemented in the game. The players basically build a combo by collecting the collectibles successively without colliding with any hazards. The combo allows the players to multiply their score with their skill in order to set a high-score.

Base score per collectible = 5
Score = Current Score + 5 x (Combo Level)
Combo Level = Combo Level + 1

When the combo meter is full, the players unlock an ability triggered by a gesture command. This ability is called the “Shockwave” and instantly turns all the hazards into collectibles for 5 seconds. The gesture requires the players to bend down and touch the ground.
I created the touch-down gesture using the Kinect Gesture Builder SDK. We imported the package that supports and helps integrate these created gestures in Unity. This experiment enabled us to get to a point where we can access and trigger events through the created touch-down gesture command. In this experiment, the Gesture Builder returns a Boolean value which is true whenever both the player’s hands meet above the pelvis, and otherwise the value remains false. So we plan on triggering our power-up event whenever the value is true.
We researched for different ideas for our game’s tutorial. Our primary goal was to avoid text for tutorials because of the projection size and that the players wouldn’t like to read text while playing games. Also, the text becomes blurred when projected on the floor.
The beta build showcases the entire functionality of waves of collectibles and hazards in the game. The game has 5 waves and the players have to achieve a best score within these 5 waves. Following the process of User Experience Mapping, we were able to find solutions for major design points for our game. It is basically the complete flow of the game from start to finish, branching into different sections where we decided to introduce the features of the game to the players.
Sound
I was the only sound designer on the team, so I am responsible for the entire audio used in the game. I experimented with the background music for the game in two weeks. Rian provided a link to a tool that keeps adding layers of music while making the music always stay in the same rhythm, genre and sync. Dragging off from this idea, I created layers of music that will always be looping and no matter when they are added to the existing music, they always blend into the current playing style.

I also decided to have the volume of the background music always be at 80% and the volume of the sound effects always play at 100% so the players can recognize and differentiate between music and sound effect. Also, when the lasers and other dangerous hazards show up in game, the background music volume will be reduced to 25% to cue the players of danger in the game, and after 2 seconds, the music will gradually come back to 80% volume.
•    The player health is visually represented on the rope and an audio cue also supports the same.
•    A 15 second music loop is always played at the beginning of the game. When the game starts the music changes into the original game music loop.
•    During hint cues, the music will be scaled down to a volume of 25% and will gradually increase to 80% (maximum) once the cues disappear from the screen.
•    All the sound effects for collisions and other cues are played at 100% volume.
•    The background music layers are added/subtracted to show transitions between each wave in the game.
This can either be programmed, or created after 20-30 second interval in the music itself, which will require the time between each wave to be the same as to match the music.
Gold
The calibration can only happen on the showcase day so that nobody nudges the Kinect when it is fixed in a place we decide. I created the Game Start screen and with help from the team, we created a rotation animation for player indicators that read “Stand to start”. We also created a Game-Over screen displaying the current score and the high-score in the game. I also created a sound effect to show addition of the score and place it in the game right when the Game-over screen triggers. I immediately made that sound effect and placed it in the game.

Having the Game start and over screens ready, we moved on to work on the lasers and laser levels. I helped create laser feedback visuals and spawned lasers with sound effects I created for them. Lasers now spawn both from the top and right sides of the screen randomly and draws line render tails along their path. Unlike the normal hazards, the laser hazards have a lengthy collision box and they need to be avoided even after the laser’s head moves off screen.
For another experiment during the tutorial section of the game, we made a gesture animation to notify the players of the action they need to perform in order to trigger the super power. This animation is triggered when the players have the super power ready to use. We also inserted a piece of text to let the players know what they have to do and what the super power does after it is activated. Once the players are taught all the functions in the game, the game starts!
Don't Touch Red
Published:

Don't Touch Red

Don’t Touch Red is a 2-player co-operative game where the players must dodge hazards by moving in a limited space. The players are separated by a Read More

Published: