Seeing 2020
{ Sarah Bae } { Sydney Baroya } { Katie Buck } { Jilly Empey } { Nate Trank }
CPE 476 Spring 2020
Zoe Wood
Seeing2020 is a game that combines tidying up the house by picking up your toddler’s toys with having to find your broken glasses pieces before the screen is fully blurred. This game against the clock requires players to decide if they want to prioritize tidying up or seeing clearly and is almost impossible to win. Players must avoid their toddler and dog while also finding their way around the maze of a house.
Controls:
‘W’ = Go forward (you can hold it down)
‘S’ = Go backward (you can hold it down)
‘A’ = Go left (you can hold it down)
‘D’ = Go right (you can hold it down)
‘C’ = Crouch
Space Bar = Collect Item
‘L’ = Toggle light
‘E’ = Command dog
‘P’ = Pause/Play music
Helpful resources
- Assimp: http://ogldev.org/www/tutorial38/tutorial38.html
- Bloom Tutorial: https://learnopengl.com/Advanced-Lighting/Bloom
- Omnidirectional Shadow Mapping Workshop: https://learnopengl.com/Advanced-Lighting/Shadows/Point-Shadows
- Blur Tutorial: https://www.shadertoy.com/view/Xltfzj
- Single Step Pathing: CSC203 Single Step Pathing Project
- Text Rendering Tutorial: https://learnopengl.com/In-Practice/Text-Rendering
- VFC Workshop: CSC476
Image 1 is an example of the dog bumping into the player and causing a fragment to be lost.
Image 2 is an example of the toddler turning off the light in the room.
Image 3 is an screenshot of the creepy toddler.
Image 3 is a group photo of the team, Zoë, and our TA's Kolton and Doug!
Technologies
- A camera/view that changes: The player can freely explore the world and rotate the camera in 360 degrees. However, the camera is locked to a y-value at one of two heights to simulate standing vs. crouching.
- A nice complex environment that the user/player can navigate and interact with: the player can explore the house and interact with various objects like picking them up.
- Animated characters and non-player elements (e.g. physical effects) (high performance) articulated character motion, (arcade) rigid body character motion or physically based animation for some FX (particles etc.): Assimp is used to load in textured and rigged models to allow for skinned-mesh animations for the toddler and dog.
- Collision detection and response using a 3D uniform spatial data structure, which holds our static objects in order to perform collision detection and culling.
- Omnidirectional shadow maps: we have implented omnidirectional shadow mapping or point shadows to add depth to the light and apply point lights in our game. This is done using a depth cube texture and a geometry shader.
- Hierarchical view frustum culling: we have implemented view frustum culling to cull objects not in the player’s view.
Two specialized rendering techniques from: we have implemented a partial blur and hope to implement a bloom shader as well for objects that should be picked up
- Complex pathing (splines) for characters: the dog and toddler use a pathing algorithm that can detect when they are stuck and also navigate the room in order to get to their goal.
- Grab bag of shading: compositing multiple textures using a third as a map
Image 1 is an example of the dog bumping into the player and causing a fragment to be lost.
Image 2 is an example of the toddler turning off the light in the room.
Image 3 is an screenshot of the creepy toddler.
Image 3 is a group photo of the team, Zoë, and our TA's Kolton and Doug!
Technologies
- A camera/view that changes: The player can freely explore the world and rotate the camera in 360 degrees. However, the camera is locked to a y-value at one of two heights to simulate standing vs. crouching.
- A nice complex environment that the user/player can navigate and interact with: the player can explore the house and interact with various objects like picking them up.
- Animated characters and non-player elements (e.g. physical effects) (high performance) articulated character motion, (arcade) rigid body character motion or physically based animation for some FX (particles etc.): Assimp is used to load in textured and rigged models to allow for skinned-mesh animations for the toddler and dog.
- Collision detection and response using a 3D uniform spatial data structure, which holds our static objects in order to perform collision detection and culling.
- Omnidirectional shadow maps: we have implented omnidirectional shadow mapping or point shadows to add depth to the light and apply point lights in our game. This is done using a depth cube texture and a geometry shader.
- Hierarchical view frustum culling: we have implemented view frustum culling to cull objects not in the player’s view.
Two specialized rendering techniques from: we have implemented a partial blur and hope to implement a bloom shader as well for objects that should be picked up - Complex pathing (splines) for characters: the dog and toddler use a pathing algorithm that can detect when they are stuck and also navigate the room in order to get to their goal.
- Grab bag of shading: compositing multiple textures using a third as a map