<aside>
💡 https://cse125.ucsd.edu/2024/spec.html
</aside>
Project Description
- What kind of game are you planning to build?
- What are the goals of the game, how do players win, how do they lose?
- Players create rhythmic music that unleash powerful abilities to destroy a threatening beast.
- Win: defeat the beast
- Lose: take damage from boss, player respawns after a time frame, lose when all players die
- What are the interesting or unique aspects to your game?
- 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".
- Must (MVP)
- 1 player class
- HAS A:
- heal ability (with input combo)
- attack ability (with input combo)
- health bar
- 1 boss class
- Musical aspects
- System for judging rhythm accuracy
- Lose on all players dead
- Win on boss dead
- Should
- 2-4 player classes
- 2-4 abilities per player
- Could
- Create more than one song
- Record live instruments / vocals
- Want
Group Management
- What are the major roles in your group's management?
- All individuals are cult members
- How will decisions be made? By leader, consensus?
- Consensus (simple majority, 4 out of 7)
- How will you communicate and collaborate online?
- We have a group discord server and Notion page for collaboration. Text chat for emergencies
- How will you know when you're off schedule, and how will you deal with schedule slips?
- Timeline to define key milestones and tasks, organized into weekly sprints
- Dealing with schedule slips
- Don’t hide it, communication is key :)
- Who will produce the weekly group status reports?
- Collaborative during weekly meetings
- When will you have your weekly group meetings (separate from the meeting with instructors)?
- Tuesdays and Thursdays, after lectures, until 12:30.
Project Development
- What are the development roles and who will handle them?
- Art: Ryan
- Networking: Kira and Shane
- Graphics:
- Character Model Integration: Tim and Wing
- Rendering: Jacob and Adrian
- Game Logic: (collaborative, for now until Milestone 1)
- (subject to change)
- What tools will you use?
- Notion
- GitHub
- GitHub Projects
- VSCode
- WSL
- mingw-w64
- How will you do testing?
- Test individual components
- When merging, do end-to-end/ad-hoc testing by running the game
- How will you do documentation (both internal group documentation as well as external player documentation)?
- Internal
- Architectural Decision Record (ADR) documents
- Comments (Doxygen?)
- External
- Organize on Notion as we develop
- Transfer to popups eventually (nice to have?)
Project Schedule
- Define a set of milestones with a specific definition of what each milestone is, what it means to complete each milestone, and when you expect to complete them. Define the milestones at two scales, a high level set of key milestones like integration and minimal viable game, and a low level set of weekly milestones.
- High-level:
- Milestone 1: Client/Server (4/16, week 3)
- Milestone 2: Music + Input, model skeletons (4/30, week 5)
- Milestone 3: MVP (5/14, week 7)
- Milestone 4: Multiple classes, multiple abilities (5/28, week 9)
- Low-level (Weekly):
- Week 2 (4/9):
- Networking: individual game loops, send/receive packets
- Graphics: render a scene w/ camera
- Art: design/research on game style
- Game logic: input manager (WASD)
- Week 3 (4/16):
- Networking: integration
- Graphics: integration, camera movement
- Art: Character model
- Game logic: ability input, refine input manager to arbitrary inputs
- Week 4 (4/23):
- Networking: Packet infrastructure, synchronized audio
- Graphics: Camera that follows player mover/Combat camera
- Art: Environment
- Game logic: Input accuracy judge, player controller
- Week 5 (4/30):
- Networking: synchronized audio
- Graphics: Environment
- Art: UI design
- Game logic: basic HUD (health bar, timing), hitboxes, reaction to injury (interrupt)
- Week 6 (5/7):
- Networking: Refine networking solution
- Graphics: Player animations
- Art: UI design
- Game logic: Heads-Up Display (HUD), collision detections (with environment)
- Week 7 (5/14):
- Networking: Specialized packets (spawning, damage)
- Graphics: Skinning
- Art: Boss design
- Game logic: HUD
- Week 8 (5/21):
- Networking: Character selection states
- Graphics: Different sized models
- Art: Complete music
- Game logic: Main menu, character selection, end-game screen
- Week 9 (5/28):
- Week 10 (6/4):