Functional Design - spookyboy2000/SproutScape GitHub Wiki
๐ฑ SproutScape โ Functional Design Document
This document describes the design and functionality of SproutScape, a cooperative 2D/3D puzzle-platformer. It includes an overview, gameplay structure, UI/UX design, core systems, assets, and a summary of test footage and feedback processing.
1. ๐งญ Overview
- Name: SproutScape
- Genre: 2D/3D Platformer, Puzzle, Co-op
- Platform: PC (Local + Steam Multiplayer)
- Concept:
A unique asymmetric co-op experience where two players work together: one navigating in 2D and the other in 3D, solving puzzles across layered environments. Their goal is to progress through levels and plant seeds in the greenhouse, with gameplay leveraging both visual planes through a shared camera system.
2. ๐ฎ Core Gameplay
-
Controls:
- 2D Player: Move, Jump, Interact (Buttons/Items)
- 3D Player: Move (3D space), Jump, Interact (Buttons/Items)
-
Goal: Solve puzzles through cooperative actions to collect seeds and reach the final greenhouse.
-
Failure Conditions: Poor teamwork or excessive time spent on puzzles.
-
Gameplay Loop:
Explore โ Solve Puzzle โ Collect Seeds โ Next Level โ Repeat
-
Progression: Unlocking new levels by completing objectives.
3. ๐ Game Flow Diagram
stateDiagram-v2
Main_Menu --> Player_Select
Player_Select --> Level_Select
Level_Select --> level_1
Level_Select --> level_other
level_1 --> Cinematic
level_other --> Selected_Level
Cinematic --> Selected_Level
Selected_Level --> Game_Loop
Game_Loop --> level_complete
level_complete --> next_level
4. ๐งช UI / UX
-
Main Menus:
- Main Menu
- Pause Menu
- Level Select
- Options (with sound slider)
- Player Select
- Cinematic sequences
-
HUD:
- Seed Counter visible during gameplay
-
Input:
- Keyboard and Controller support (Steam-compatible)
5. โ๏ธ Game Systems
-
Asymmetric Multiplayer (2D/3D):
- Two players operate in different planes with coordinated puzzle mechanics.
-
Puzzle Mechanics:
- Buttons, tubes, color-coded switches, and throwable items passed across planes.
-
Teamwork Dependency:
- Progress requires cross-plane assistance (e.g., one player activating objects for the other).
6. ๐ผ๏ธ Assets & Resources
-
Characters:
- 2D sprite-based player
- 3D modeled player
-
Environments:
- Level 1: House
- Level 2: Backyard
- Level 3: Backyard 2
- Level 4: Greenhouse
-
Audio:
- Background music for menu and cinematics
-
UI:
- Menu Buttons (Play, Options, Exit)
- Player Select UI
- Level Select UI
- Sound Options Slider
7. ๐ป Technical Considerations
- Engine: Unreal Engine 5.5.4
- Version Control: GitHub with LFS
- Target Platform: PC (Desktop & Steam Deck compatible)
- Performance: Avoid memory pool overloading and crashes
- Dependencies: Steam API integration
8. ๐น Playtest Feedback Summary
-
Test Footage:
๐ฅ YouTube Playtest Video
๐ GitHub Feedback Page -
Testers: 2 (targeting casual & experienced players)
-
Key Feedback:
- Strong concept and aesthetic
- Lever bug: player walking out of lever broke functionality
- 2D player unsure of jumpable areas
- 3D player feels slightly unpolished
-
Resolution: Feedback implementation details and improvements are fully documented on the GitHub page.
9. โ Open Questions & Notes
-
Open Design Questions:
- How to better enforce teamwork without frustrating solo progress?
- How to accelerate development without compromising polish?
-
Notes:
- Monitor memory usage and platform compatibility closely during late-stage testing.
๐ Additional Resources
- ๐ง GitHub Repository
- ๐ Extended Design Document
- ๐ฌ Playtest Feedback Page