Project Spec

Project Description

About this game:

Recollection is a cozy game about retrieving fading memory. You play as employees of the memory recovery service, where you go into the client’s dreams per their request to retrieve their fading memory, painting their favorite moments back to colors by collaboratively solving little puzzles before the timer strikes and they wake up. Beware! You will have to work together as a team. The demo map features and elderly client, who came to simply retrieve and recollect their good memories in their life. :)

Landscape

The initial version features a map rendered in black and white. The map is divided into 4 regions signifying the client’s elderhood, adulthood, teenage and college years, and infancy. Each region will randomly spawns one memory fragment within its bounds, which is tied to a small puzzle that requires input from all 4 players to solve, though how they choose to collaborate is up to them. After the puzzle is solved, the map will be painted with beautiful color, signifying the recollection of current area being complete.
All players must be in the same region and progress through subsequent maps together, in a “reversed” linear order, in hope of capturing the feeling of “traveling back in time”.

Time of Life Season Time of Day Main Assets Puzzle
Elderly (80 yrs) Winter Starry night with Aurora Winter Trees, winter shrubs, snowly landscape, the moon Maze
Adulthood and middle age (40 - 80 yrs) Autumn Afternoon with Sunset CSE Bear, Autumn red trees, smol mushrooms, yellow grass/ wheat field Typing puzzle
Teenage years and college (20 - 40 yrs) Summer Noon Bone fire, Summer lush Trees, Decription
Infancy and childhood (0 - 20 yrs) Spring Dawn with Sunrise Fallen Star, Flowers, Bushes Tangram, Last main puzzle

Character Design

Our models will draw some inspiration from Overcooked and Webfishing. We plan to have different character models that players can choose from when they play. The character models will be simple, having only a somewhat pill-shaped body, a head, and floating balls for hands for ease of modeling, rigging, and texturing as well as style.

Mini Puzzles

Every memory fragment is retrieved when their associated puzzle is solved. Here is our list of puzzles.

  1. Maze: The memory service customer manifests in their dream in a maze. Each of the four players control one of four cardinal directions. The team must work together to quickly navigate the maze as the customer to retrieve the memory.
  2. Cube: Each player can only see one of four walls of a cube. Three walls have a hint to solve the puzzle on the fourth wall. This can be some permutation of numbers, shapes, colors, or words. The team must work together to figure out the hints and submit the correct permutation.
  3. Type: Each of four players have n words to type. All of them must type their words quickly and accurately to solve the puzzle.
  4. Memory: A randomly generated pattern of cards is shown to all the players for some set amount of time to remember. The cards will have a color, shape, and number on every card. The players will then have to recreate the pattern they were given. They are scored based on accuracy, and can proceed upon reaching a threshold. Otherwise, they’ll have to retry the puzzle.
  5. Decrypt: The team is given an encrypted phrase. They [ are given / must find out ] the key, then successfully decrypt the phrase.

1. What kind of game are you planning to build?

Our game is a 3D co-op experience where a team of four or more players take on the role of employees in a memory recovery service. Players enter a client’s fading dreamscape, a gray, decaying world, and work together to restore it by retrieving scattered memory fragments. As players explore the regions, they collaborate to recover these fragments, gradually bringing color and life back to each area. The team must communicate and coordinate effectively to navigate the dream before time runs out and the client wakes up.

2. What are the goals of the game, how do players win, how do they lose?

Our game is timed, meaning the players must finish solving all puzzles, else it is considered as a fail. A percentage bar will be given to show how much was completed at the end of the game.

Win:

The team successfully recolors the entire client’s dream by retrieving memory fragments and restoring key areas before the client wakes up. Success is measured by overall performance rather than a single condition.

Lose:

The team fails if they are unable to recover enough of the client’s memories before the dream ends.

Replayability:

Each run encourages players to replay dreams to improve coordination, and recover more fragments; The location of fragments will also differ each time, so they will have to find them. This creates both a “beat your previous performance” loop and a dynamic experience driven by randomized memory fragment generation.

3. What are the interesting or unique aspects to your game?

4. What are the list of features of your game? Prioritize them into at least three categories: “Must Have”, “Would Be Really Nice”, and “Cool But Only If Ahead Of Schedule”.

Group Management

What are the major roles in your group’s management?

How will decisions be made? By leader, consensus?

How will you communicate and collaborate online?

How will you know when you’re off schedule, and how will you deal with schedule slips?

Outside of lectures, we will have weekly full-team meetings every Tuesday at 2 P.M. We will roughly follow an Agile/Scrum-like framework:

Who will produce the weekly group status reports?

We will create one full group report based on:

  1. Meeting notes from the weekly briefing.
  2. Each individual will use a weekly report template to reflect on their own progress. The main accumulator will summarize our reflections.

One designated accumulator will summarize our reflections into the combined report. Week 1’s group meeting has been summarized.

When will you have your weekly group meetings (separate from the meeting with instructors)?

Every Tuesday, 2 P.M. Google calendar invite has been sent out to group members.

Tech meeting: Friday, 2 P.M.

Project Development

What are the development roles and who will handle them?

What tools will you use?

Testing

How will you do documentation (both internal group documentation as well as external player documentation)?

Project Schedule

High-Level Milestones

Week 2: server/client synchronized graphics

Week 4: engine feature sufficient; it should be possible to do most gameplay stuff with the engine in this state

Week 7: gameplay complete; it should be possible to “play the game” now

Week 9: feature-complete and hopefully we can do a feature freeze here to focus on reliability

TBD. (Define what each milestone means, what “done” looks like, and target dates.)

Low-Level Milestones

Week Art/Sound Graphics Game Engine/Networking Physics Game Logic
1 Brainstorm + learn Blender basics Display a window Exchange packets between a client/server Think about physics Think about game logic
2 Concept art for character and map models, continue learning Blender Render a cube that’s backed by server-synchronized ECS Propagate more attributes necessary for rendering + come up with the final architecture Determine what is needed in terms of physics, decide on NIH syndrome or library, maybe some basic implementation Plan out concept and pseudocode for game logic
3 Concept art for character and map models, continue learning Blender Import arbitrary models Implement final ECS synchronization architecture Movement and Collision Loot spawning
4 Basic modeling: landscape and character Textures and materials Networking optimizations + Level loading Terrain Loot collection
5 Basic modeling: landscape and character Animations Any additional networking features that don’t go through ECS More precise bounding boxes + game logic enablement Moving between levels/maps
6 Refinement on models Lighting Data use shrinkage/proper delta states game logic enablement Scoring, color restoration
7 Refinement on models GUI? Lobby system? game logic enablement Time limit+timer+level specific mechanics
8 Refinement on models + model integration with code Making everything fast and beautiful + bug fixes cross-platform testing game logic enablement Level specific mechanics
9 Model integration with code + bugfixes and polish bugfixes and polish bugfixes and polish bugfixes and polish bugfixes and polish
10 Model integration with code + Demo prep + testing Demo prep + testing Demo prep + testing Demo prep + testing Demo prep + testing

The schedule for most technical things is probably fake past week 4 since from there we dont know how much time or effort things will require, and work prioritization will more liekly be driven by the needs of people as they implement things.