Skip to content

๐ŸŽฎ SquareGame โ€“ a minimalist arcade challenge built with Python and Pygame. Click squares, earn points, and react fast before time runs out. Bonuses and effects spice up the gameplay โ€” from time slowdowns to extra score multipliers.

Notifications You must be signed in to change notification settings

lotoos0/SquareGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Square Game ๐ŸŽฎ

A simple arcade game written in Python using Pygame.
Click on the red squares to score points, avoid missing them, and collect special squares for bonuses.

Demo

Features

Gameplay

  • Combo System: Multiplier for consecutive hits within time limit
  • Special Squares:
    • Healing squares (blue) to restore lives
    • Slow-time squares (cyan) to temporarily slow the game
  • Dynamic Difficulty: Faster spawns and moving squares as score increases
  • Highscore: Persistent local save

UI & Polish

  • Modern Menu System: Animated background with falling squares, gradient backdrop, smooth hover effects
  • Settings Menu: Tabbed interface (Audio/Video/Controls) with live preview
    • Audio: Master toggle, Effects/Music volume control (0-100%)
    • Video: Window mode, Resolution selection, V-Sync toggle
    • Controls: Mouse sensitivity (0-100), Invert Y-Axis option
  • Shared UI Components: Consistent button styling with hover/click sound effects
  • Keyboard Navigation: Full menu support (arrows/WASD + Enter/Space)

Requirements

  • Python 3.10+
  • Pygame 2.5.0+

Installation

  1. Clone the repository:

    git clone https://github.com/<your-username>/squarepy.git
    cd squarepy
  2. Install the package (editable mode):

    pip install -e .

How to Run

After installation, run the game using:

squaregame

Or alternatively, without installation:

PYTHONPATH=src python -m squaregame

Controls

In-Game

  • Left Mouse Button - Click squares to score points
  • ESC - Pause / Resume game

Menu Navigation

  • Arrow Keys (โ†‘/โ†“) or W/S - Navigate menu buttons
  • Enter or Space - Activate selected button
  • Mouse - Hover and click buttons directly

Settings Menu

  • Audio Tab:
    • Master Audio: Toggle sound effects on/off
    • Effects Volume: 0-100% (step 10%)
    • Music Volume: 0-100% (step 10%)
  • Video Tab:
    • Window Mode: Fullscreen/Windowed
    • Resolution: Multiple presets available
    • V-Sync: Toggle vertical sync
  • Controls Tab:
    • Mouse Sensitivity: 0-100 (step 10)
    • Invert Y-Axis: Toggle inverted mouse movement
  • Save - Persist changes to settings.json
  • Cancel - Discard changes and return to menu

Developer Mode

If debug_mode is enabled in settings.json:

  • F3 - Toggle debug overlay (FPS, spawn rate, combo, lives, god mode status)
  • ~ (tilde) - Toggle god mode (infinite lives)
  • F9-F12 - Additional developer shortcuts

About

๐ŸŽฎ SquareGame โ€“ a minimalist arcade challenge built with Python and Pygame. Click squares, earn points, and react fast before time runs out. Bonuses and effects spice up the gameplay โ€” from time slowdowns to extra score multipliers.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages