Project Specification


Project Description

Our game is a 3-versus-1 reverse tag in which one player possesses a crown and three other players try to steal that crown for themselves. The goal of the game is to possess the crown for the most amount of time; the player who possesses the crown for the longest time wins the game. To balance out the 3-versus-1 gameplay, the player with the crown receives a slight speed boost that helps them avoid the other players. 

What makes our game unique is our theme and special, thematic gameplay mechanics. The game is a beauty pageant, and the winner of each game is the “winner” of the beauty pageant. The characters have a cartoonish, Jekyll-and-Hyde-like cutesy/scary design. Keeping in line with the pageant theme, one interesting feature of our game is the need for all players to periodically touch up their makeup; otherwise, they will suffer a speed slowdown that makes it more difficult for them to win the game. This mechanic adds strategy to the core reverse tag mechanic and balances out the crown speed boost; the owner of the crown might be ambushed by the other players when it comes time to fix their makeup.

The winner of the game is determined by who holds the crown for the longest amount of time to win the pageant.

“Must Have” Features 

Gameplay– Only one character is able to possess the crown
– The remaining characters can take the crown from the crowned player
– The score is based on the amount of time the crown is held
– Increase the points earned per second as the game goes on
– Player holding the crown at the end of the timer gets a small bonus
– Crown-holder moves slightly faster than other players
– Non-crown-holders leave a trail that slows down other players when they walk in it 
– Deteriorating makeup over time with penalty (reduces the visibility of players) 
– Makeup stations for characters to touch-up their makeup (returns their visibility) 
Physics– Basic character movement physics (simulated or pseudo)
– Basic collision detection (to keep players from leaving the map or going through solid objects)
Modeling, Graphics, and Animation– A single character model that can have a minimum of 4 different colorations so that players can be easily distinguished from one another 
– Basic movement for character models
– Run animation 
– “Attack” animation that is used for the exchange of the crown
– Animation for touching up makeup 
– Basic sandbox environment/stage for players to move around in/run into
– Inclusion of vanities/makeup tables so players can touch up their makeup 
– Other assets like clothing racks, chairs, mirrors, bags, and general clutter
– “Health” bars that show players their makeup level 
– A timer that indicates the length of the level 
– The score for each player
Sound and Audio – Basic sound effects for movement
– Basic sound effects for change of possession of crown
– Game theme

“Would be Really Nice” Features 

Gameplay– Character selection screen 
– Instruction screen 
– Unique character models (minimum 4) 
– Additional levels
– Point bonuses for specific tasks (run through a room, get makeup 3 times, etc)
– Controllable third-person camera for each player 
Physics– Players can stand on top of items instead of only being able to collide with them
– Players falling off items 
Modeling, Graphics, and Animation – More detailed cute/scary character models
– Beauty pageant aesthetic
– More environmental objects
– Audience / spectators 
– Different “rooms” 
Sound and Audio– Unique sound effects for each character
– Basic sound effects for makeup and touchup 
– Basic fanfare for the start and end of the match

“Cool But Only If Ahead of Schedule” Features 

Gameplay– Cinematic story introduction 
– Play the game from a first person perspective
– Jumping and more verticality in levels/3D map 
– More character options 2x speed at the last minute mark
Physics– Particle system and particle effects for the crown
– Complex physics (e.g. hair physics on the character), see physics from the game “Moving Out” as an example
Modeling, Graphics, and Animation – Unique movement animations for each character 
– More set dressing
– Modified character textures for different levels of makeup deterioration 
Sound and Audio– Spatial audio so players can hear the sounds made by characters that are left/right or near them/far
– Jump and land sound effects 
– Additional music for menus
– Faster/stressful music as time runs out

Group Management

Our group does not plan on having a management hierarchy within our group. We will make decisions as a group. In instances where a consensus cannot be reached, we will hold a vote where a plurality of votes wins. 

Our main form of communication will be through Discord. An urgent channel will be made for very time-sensitive communication. Otherwise, if individuals need help on a specific feature implementation, that can be done in other text channels. We will use GitHub for code sharing and collaboration.

Once we begin development, we will move all our deliverables to a Trello board in which tasks and items will have an assigned due date. This will be referenced during our group meeting so we know when deliverables are behind schedule, and those will become priorities during our next development cycle. 

Group meetings will be held at 10 AM – 11 AM on Monday and Friday. Additional meetings will be added as needed. Group members can ask for help regarding implementation blockers or for implementation decision clarifications that we should be making as a group. The weekly group status report can also be worked on during these meetings. Each week we will switch off who is responsible for the status report based on the schedule: 

Week 2: Emily
Week 3: Steven
Week 4: Evan
Week 5: Will
Week 6: Aiden
Week 7: Emily
Week 8: Terry
Week 9: Andrew
Week 10: Evan

Project Development

Development Roles

The development roles are as follows:

CategoryAssignees
Art / AudioAiden / Terry
GraphicsEmily, Will
NetworkingSteven, Evan, Andrew
PhysicsSteven, Evan
Game Logic / Level DesignTerry, Steven, Andrew

Tools

We plan on using the following tools:

CategoryFramework / Library / Language
ArtBlender
GraphicsOpenGL
NetworkingWinsock (Boost / ASIO as a fallback option)
PhysicsNative C++ (React Physics 3D as a fallback option)
Version ControlGitHub
DocumentationDoxygen
Project ManagementTrello

We will test our game via unit testing, play testing, and user testing. Each team member is responsible for writing, documenting, and verifying that their code works with unit tests. For the play-testing and user testing phase of development, we will ensure that the integration of all of our project components works correctly by playing the game. Members will also ask another member to cross-check their tests to ensure that their code works as intended.

Our internal documentation will be done through general code comments, Doxygen, and READMEs. We will also have PDFs for our external documentation (stored on Google Drive, for example)

Project Schedule

Date(s)Low-Level MilestonesHigh-Level Milestones
Week 2 (April 4 – 9)Brainstorm art and level design
Basic graphics scene with movable object
Echo server
Week 3 (April 11 – 15)Basic shading and lighting for graphics
Basic physics control and movement
More level design brainstorming
Concept art
Start basic character model
Full server and client
Week 4 (April 18 – 22)Basic sound effects
Loading character models integration
Basic collision checking
Test map created
Finish basic character model, other simple assets
Network-Graphics integration
Week 5 (April 25 – 29)Other simple assets
Animations
Music
Graphics UI and menus
Networking debugging
Basic map finished
Crown stealing and scoring system
Week 6 (May 2 – 6)More graphics animation
Networking optimization (if time permits)
Makeup system
Additional map (if time permits)
Integrating sound effects with game
Week 7 (May 9 – 13)Jumping and advanced collisions (if time permits)
Additional map (if time permits)
More animation
Week 8 (May 16 – 20)Advanced shaders and cinematics (if time permits)
More music (if time permits)
Additional animations (if time permits)
Particle physics (if time permits)
Spec freeze
Week 9 (May 23 – 27)Adjust maps based on testing
Game logic balancing and testing
Beta testing
Week 10 (May 30 – June 3)Adjust maps based on testing
Game logic balancing and testing
Testing + Demo