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)

UI Mockup

pic

pic


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