Save the Holy Potato by destroying the imposters! But don't eat the holy potato!

Move: WASD, Mouse Look

Jump: Space

Pickup: E

Throw: R (Definitely not G)

Jetpack: J, once equipped, also: broken. 

OnlySpud - Game Design Document

Introduction

OnlySpud is a 3D action-puzzle game where players protect a sacred "Holy Potato" by collecting and eating imposter potatoes in wave-based challenges. Players must strategically manage a Fullness meter, sacrificing movement speed to clear imposters, while navigating obstacles and upgrading abilities to survive increasingly difficult waves.

I worked on this game with my 7 year old son, and this is our first time ever building a game. We learned a ton about Godot and how to playtest game mechanics. We are excited to keep working on this game and make it awesome. I can’t wait for you to be able to buy the demo on Steam!

Inspiration

  • Super Crate Box: The fast-paced, wave-based survival gameplay inspired OnlySpud’s structure of clearing imposter potatoes under time pressure. The need to collect items (crates/potatoes) while avoiding hazards shaped the core loop of collecting, eating, and managing resources.
  • Vampire Survivors: The concept of upgrades between waves, enhancing player abilities, influenced the random upgrade selection system. The escalating difficulty and strategic choices inspired the balance of sacrificing fullness for progression.
  • Portal: The first-person perspective and environmental interaction (pushing potatoes, navigating 3D space) draw from Portal’s puzzle-solving in a 3D environment, encouraging creative movement and object manipulation.

Player Experience

Players embody a guardian in a perpetual 3D arena, tasked with protecting the Holy Potato by eating imposter potatoes across multiple waves. Each wave spawns imposters that must be cleared before time runs out, requiring careful management of a Fullness meter that slows movement when full. Between waves, players choose one of three random upgrades (e.g., faster digestion, jetpack) to enhance their abilities. The experience is a mix of tense action, strategic resource management, and satisfying progression, with sacrifices (e.g., eating to slow movement) leading to strength via upgrades.

Platform

The game is developed for Windows PC.

Development Software

  • Godot Engine 4.4.1: For programming and scene management.
  • Audacity: For sound effects (e.g., eat_sound.wav, impact.wav).

Genre

Singleplayer, action, puzzle, survival.

Target Audience

Casual players seeking accessible yet challenging gameplay, and action-puzzle enthusiasts who enjoy strategic resource management and escalating difficulty. Aimed at ages 13+ for its simple controls and moderate complexity.

Concept

Gameplay Overview

Players control a first-person character in a 3D arena with a central Holy Potato. Imposter potatoes spawn in waves (5+ per wave, increasing with difficulty). Players must pick up (E), eat (F), or throw (G) imposters to clear them before the wave timer (60s, decreasing per wave) expires, while avoiding eating the Holy Potato (game over). A Fullness meter prevents players from eating too many potatoes and slows movement by 20% when full, requiring players to wait for regeneration or unlock/use alternate methods of destroying potatoes. Between waves, players select one of three random upgrades (e.g., Faster Digestion, Jetpack) to improve stats or gain abilities, sacrificing immediate mobility for long-term power.

Theme Interpretation (Only One)

There can be only one potato - the Holy Potato. All others must be destroyed.

Primary Mechanics

Mechanic

Description

Movement

Players move using WASD, sprint with Shift (stamina-based), and jump with Space. Movement is restricted by a 20% speed penalty when the Fullness meter is maxed, requiring strategic timing.

Pickup (E)

Collect up to 3 potatoes within a 2-unit radius, stacking them on the player’s camera. Picked-up potatoes are frozen and don’t collide, sacrificing inventory space for mobility.

Eat (F)

Consume the top potato in the stack (1.5s cooldown), increasing Fullness by 25. Eating the Holy Potato ends the game; eating imposters clears them, sacrificing speed for progress.

Throw (G)

Throw the top potato in a forward arc (10-unit impulse), restoring collision and allowing environmental interaction. Useful for clearing potatoes without eating, sacrificing inventory for tactical positioning.

Push

Automatically push nearby potatoes (1-unit radius, 0.1 strength) when moving, triggering impact.wav (0.5s cooldown). Sacrifices precise control for area management.

Secondary Mechanics

Mechanic

Description

Fullness Meter

Tracks fullness . At max, imposes a 20% speed penalty, pulsing red in the UI. Players sacrifice mobility to clear potatoes, balanced by upgrades like Faster Digestion.

Wave System

Waves spawn imposters with a timer. Players must clear all imposters before time runs out, sacrificing safety to collect them.

Upgrades

After each wave, choose one of three random upgrades (e.g., Faster Digestion, Jetpack). One-time upgrades (e.g., abilities) are removed after selection; stackable upgrades (e.g., Bigger Stomach) persist. Sacrifices immediate action for long-term power.

Upgrades

  • Faster Digestion: Reduces fullness_delay_duration by 1s (stackable).
  • Bigger Stomach: Increases max_fullness by 25 (stackable).
  • Stronger Push: Increases potato_push_strength by 0.05 (stackable).
  • Sprint Boost: Increases sprint_speed by 2 (stackable).
  • Quick Eater: Reduces eat_cooldown_duration by 0.3s (stackable).
  • Jetpack: Grants 2s flight (J key, 5s cooldown, one-time).
  • Gun: Shoots projectiles to destroy potatoes (K key, 1s cooldown, one-time).
  • Stomp: Pushes nearby potatoes (L key, 3s cooldown, one-time).
  • Magnet Pull: Pulls potatoes within 5 units (M key, 5s cooldown, one-time).
  • Super Jump: Increases jump_velocity by 2 (stackable).
  • SO MANY MORE TO COME!

Art

Theme Interpretation

The game adopts a minimalist 3D art style with a limited color palette (white, gold, brown) to emphasize the Holy Potato’s sacredness and imposters’ neutrality. The Holy Potato glows with a gold OmniLight3D, contrasting with plain imposter potatoes, reinforcing the theme of distinguishing sacred from mundane through sacrifice.

Design

  • Environment: A simple 3D arena (40x40 units) with a flat ground (StaticBody3D) and basic textures (white base, brown accents).
  • Player: A first-person character with a camera, holding stacked potatoes (bobbing animation).
  • Potatoes: 3D sphere models (RigidBody3D), with the Holy Potato glowing gold and imposters plain brown.
  • UI: Pixelated style with high-contrast white text/buttons, red pulsing FullnessBar when full, and a SpudBar for imposter count.

Audio

Music

Currently unimplemented due to time constraints. Planned: Minimalist, retro-style synthesized tracks with soft reverb, using bass and subtle melodies to create a tense yet engaging atmosphere, complementing the survival-puzzle vibe.

Sound Effects

  • eat_sound.wav: Crunching sound when eating a potato (F key).
  • too_full.wav: Groan when attempting to eat at max fullness.
  • throw.wav: Whoosh when throwing a potato (G key).
  • impact.wav: Thud when potatoes collide or are pushed (0.5s cooldown).
  • Planned (unimplemented): Pickup sound for E key.

Game Experience

UI

  • FullnessBar: Progress bar showing fullness (0-100, red when full).
  • SpudBar: Tracks imposter count (max 20, game over if reached).
  • WaveTimer: Displays remaining wave time (60s, red when <10s).
  • PotatoCounter: Shows “Potatoes Remaining: X” for wave progress.
  • GameMessagePanel: Shows “Victory!” or “You Died” with upgrade menu (3 random options) or restart button.
  • AbilityPanel: Shows eat button (F) when holding potatoes, with cooldown visualization.

Controls

  • Keyboard:

    • WASD: Move
    • Shift: Sprint (stamina-based)
    • Space: Jump
    • E: Pickup
    • F: Eat
    • G: Throw
    • J: Jetpack
    • K: Shoot (Gun)
    • L: Stomp
    • M: Magnet Pull
    • Esc: Pause
  • Mouse: Look (captured mode, freed on pause/loss).

Development Timeline

Minimum Viable Product

#

Assignment

Type

Status

Finish By

Notes

1

Design Document

Other

Finished

July 31, 2025

GDD for submission

2

Create potato and player assets

Art

Finished

June 20, 2025

Thanks to GibsAndPieces for being a potato

3

Main menu

Coding

Finished

June 21, 2025

Basic pause menu with resume/restart

4

UI

Coding

Finished

June 22, 2025

FullnessBar, SpudBar, WaveTimer, PotatoCounter

5

Player movement

Coding

Finished

June 23, 2025

WASD, sprint, jump, mouse look

6

Potato mechanics

Coding

Finished

June 24, 2025

Pickup, eat, throw, push

7

Wave system

Coding

Finished

June 25, 2025

Spawning, timer, win/lose conditions

8

Fullness meter

Coding

Finished

June 26, 2025

25 per eat, 1/s regen, 5s delay, speed penalty

9

Sound effects

Audio

Finished

June 27, 2025

Eat, too full, throw, impact sounds

10

Upgrade system

Coding

Finished

July 20, 2025

Modular upgrade system

11

Ability implementation

Coding

Partially Finished

July 25, 2025

Broke the game!

12

Level design

Other

Finished

July 26, 2025

Single arena with dynamic wave spawns

13

Polish

Other

Partially Finished

July 28, 2025

UI animations, needs more effects

14

Submit

Other

In Progress

July 31, 2025

Itch page upload

Beyond (Unimplemented Due to Time Constraints and Not Knowing What we are Doing)

Assignment

Type

Status

Notes

Hot/Evil Potatoes

Coding

Not Started

Damage-dealing or extra-fullness potatoes

Music

Audio

Not Started

Retro-style tracks with reverb

Pickup Sound

Audio

Not Started

Sound for E key pickup

Extra Upgrades

Coding

Not Started

Additional stat or ability upgrades, goal of 100+ 

Settings Menu

Coding

Not Started

Volume, fullscreen toggle, resolution

UX

Coding

Not Started

Add theming, logos, prettiness.

Controls

Coding

Not Started

Add Controller support

StatusPrototype
PlatformsHTML5
AuthorSirRuncible
GenrePuzzle
Made withGodot
Tagspotato

Leave a comment

Log in with itch.io to leave a comment.