CSE 125

Project Specification

A4J2S (Group 4)

Alex Hawker

Ara Jermakyan

Arno Gau

Austin Sun

John Pallag

Justin Chou

Stephen Trinh


Table of Contents

Table of Contents

Project Description

Game Description

Goals (Win/Lose)

Interesting or Unique Aspects

Feature List

Minimum Viable Product

Must Have

Would Be Really Nice

Cool But Only If Ahead Of Schedule

Group Management

Major Roles

Decision Making

Communication

In person

Online

Managing Setbacks

Production of Weekly Reports

Project Development

Development Roles

Tools

QA Testing

Handling Documentation

Project Schedule

High-Level Milestones

Low-Level Milestones


Project Description


Game Description

Our game is a 3rd-person, cooperative, horror-themed survival game in which up to 4-players attempt to make their way through a labyrinth in order to drive away a terrible evil that hunts and pursues them throughout the game.

Goals (Win/Lose)

In order to win, players must survive and traverse the labyrinth to the end.

Players lose when they are caught too many times by the evil.

Interesting or Unique Aspects

Feature List

                

Minimum Viable Product

  • Control over their character
  • Can move
  • Can manipulate camera
  • Can sing
  • Multiple players able to play together online
  • Hostile AI that will chase players (NavMesh)
  • Maze layout with lock-and-key progression

Must Have

  • Models
  • Character
  • Hostile AI
  • Level geometry
  • Graphics
  • Lighting
  • Textures
  • Skybox
  • Audio
  • Tone generation for singing
  • Footsteps
  • Hostile AI sfx
  • Level
  • Design/Layout
  • Interactable elements
  • Doors
  • Players
  • Movement
  • Camera manipulation
  • Songs
  • Hostile AI
  • Movement (pathfinding)
  • Attack
  • Physics (collision)
  • Networking
  • Full state transfer
  • Menu to host or join games

Would Be Really Nice

  • High Quality Graphics
  • 3D models
  • Effects
  • Animation
  • Nice particle effects
  • Nice lighting
  • High Quality Audio
  • Sound Portals
  • Responds to space
  • Controller Support
  • Beautiful Menus

Cool But Only If Ahead Of Schedule

  • Real-time Cloth Physics
  • Client Side Prediction and Interpolation for Lag Compensation
  • Prerendered Intro Cutscene
  • Cinematic game cameras
  • Procedurally generated levels
  • Shallow pools of water
  • SFX
  • Graphics (SSR & Refraction)

Group Management


Major Roles

Project Management: Alex Hawker

Networking: Justin Chou & Ara Jermakyan

Graphics Engine: Alex Hawker & John Pallag

Gameplay: Stephen Trinh & Arno Gau

Audio: Austin Sun

Art (3D/2D): John Pallag

Decision Making

High-level and/or important decisions will be made through group consensus. Low-level decision making that does not interfere with other modules or roles can be done independently.

Communication

In person

We plan to meet in the CSE lab room B220 MWF from 10am to 2pm.

Online

We will be using:

Managing Setbacks

Each person will be responsible to complete their weekly/daily tasks.  Every person in the group is competent in multiple fields and can therefore be temporarily re-assigned to help anyone who falls behind.  We are focusing on communication and hope to have an enjoyable, on-time team. In major cases, we will drop features from ‘cool but only if ahead of schedule’ or ‘would be really nice’.

Production of Weekly Reports

Everyone will do a weekly write-up and submit them to one person by Saturday morning. This person will be responsible for making sure everyone has completed their weekly write-ups before collating them into a single blog post.


Project Development


Development Roles

Project Management: Alex Hawker

Networking: Justin Chou & Ara Jermakyan

Graphics Engine: Alex Hawker & John Pallag

Gameplay: Stephen Trinh & Arno Gau

Audio: Austin Sun

Art (3D/2D): John Pallag

Tools

Since this is a WebGL game, the game will be programmed in JS.  Most of us plan on using WebStorm for our primary IDE.  NodeJS will be required server-side. The code will be tracked via git, keeping track of version history and handling merges from multiple sources. 3D art will be created primarily in Blender and 2D art will be created primarily in Photoshop.

QA Testing

Each member of the team will be responsible for writing unit tests for the code that they developed. The unit tests being written will be for code that we are confident is not going to change. For each major release we will do integration testing to ensure various parts of the project are working as desired. Continuous integration could be an option to speed up and streamline our development process. To test graphics, we will attempt to replicate the results of a raytraced version of the scene.

Handling Documentation

Each member will be responsible for writing documentation for each of the components they create under a standard set format. Documentation will be in the form of high-level documents depicting the overall flow of the systems and inline code comments depicting how each section of code works. High-level documentation will be stored on the google drive for everyone’s viewing.


Project Schedule


High-Level Milestones

  1. Server-client communication/coupling
  1. Client can send messages to the Server, and Server can send messages back to the Client.
  2. Communication standards defined and implemented
  3. Completion time: Week 3

 

  1. Full graphics-engine implemented
  1. Graphics engine work is complete such that basic graphics features are working and we can render the scene.
  2. Completion time: Week 2 or 3

  1. Game-look decided
  1. A general idea of the look of the environment, characters, and general art is decided on.  A general theme and feel exits.  
  2. Completed: large amount of concept art, color scheme, general level layout, character descriptions
  3. Completion time: Week 2 or 3

  1. Primary gameplay
  1. The basic gameplay interactions including victory condition
  2. Completed: Players can run around and interact with the environment, and hostile AI chases the player around.
  3. Completion time: week 5

  1. Design freeze
  1. Game design is finished.
  2. Completed: No more added features, and the design is done.
  3. Completion time: week 5

  1. Level layout
  1. The level created in 3D.
  2. Completed: The final game space created (does not include interaction) and rendered in the game.
  3. Completion time: week 6

  1. Detailed game-play
  1. Fully fleshed out level design with appropriate difficulty curves. Make it actually fun!
  2. Completed: The full level in the game engine with all the interactions in place.
  3. Completion time: week 8

  1. Full models/textures/sound
  1. Integration and testing of full models
  2. Addition of sounds
  3. Completion time: week 9 or 10


Low-Level Milestones

Week

Gameplay (& Physics)

Networking

Graphics

Art

Audio

1

  • Feature decision
  • Research technologies
  • Primary graphics engine
  • Look dev
  • Engine Research

2

  • Design gameplay
  • Add basic controls
  • Prototype a working client/server connection
  • Primary Graphics Engine
  • Look dev
  • Build Audio engine

3

  • Design gameplay
  • Implementing physics
  • Hostile AI
  • Add interactable objects
  • Define and implement communication standards
  • Primary Graphics Engine
  • Update GPU Particle System
  • Modeling
  • Build Audio engine

4

  • Tune gameplay
  • Develop primary gameplay
  • More physics
  • Level design
  • Optimize networking
  • SSAO
  • Deferred Decals
  • Modeling
  • Build Audio engine

5

  • Finalize primary gameplay
  • Integrate physics
  • Level design

  • Crepuscular Rays
  • Foliage Rendering
  • Modeling the level
  • Sound design

6

  • Test primary gameplay
  • Build final level
  • Client side prediction and interpolation
  • Cloth Simulation
  • Modeling
  • UI
  • Sound design

7

  • Develop replayability (w/ Art) (randomization, generation)
  • Client side prediction and interpolation
  • Real Time Irradiance Probes (or other indirect lighting)
  • Modeling
  • UI
  • Procedural?
  • Sound design
  • Record voices

8

  • Develop scaling gameplay

  • Optimizations and other features
  • Modeling
  • UI
  • Procedural?
  • Sound design

9

  • Test detailed gameplay

  • Optimizations
  • Modeling
  • UI
  • Procedural?
  • Sound design

10

  • Finalized gameplay

  • Optimizations
  • Finalization
  • Sound design