Skip to content

pjloury/KeepUp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 KEEP UP! 🎮

A lightning-fast reaction game that'll test your reflexes and drive you absolutely bonkers!

KeepUp Logo

🎯 What is KeepUp?

KeepUp is an adrenaline-pumping iOS reaction game that challenges your reflexes, memory, and multitasking skills! Think you're quick? Think you can keep up? This game will put your reaction time to the ultimate test with a variety of gestures and commands that'll have you swiping, tapping, and pinching like a maniac!

🎮 How to Play

The Basics

  1. Listen carefully - The game will announce what gesture you need to perform
  2. React quickly - You have limited time to complete the action (varies by difficulty)
  3. Don't mess up - One wrong move and it's GAME OVER!
  4. Keep going - Each correct action increases your score
  5. Beat your high score - Challenge yourself to do better each time!

🎯 Gesture Types

The game features 8 different gesture types that will be randomly selected:

Gesture Action Description
LEFT! Swipe Left Drag your finger from right to left
RIGHT! Swipe Right Drag your finger from left to right
UP! Swipe Up Drag your finger from bottom to top
DOWN! Swipe Down Drag your finger from top to bottom
Single tap! Single Tap Tap the screen once
Double tap! Double Tap Tap the screen twice quickly
Zoom in! Pinch Out Pinch outward to zoom in
Zoom out! Pinch In Pinch inward to zoom out

🏆 Difficulty Levels

Choose your challenge level:

  • 🟢 EASY - 1.8 seconds to react (shows direction on screen)
  • 🟡 MEDIUM - 1.5 seconds to react (audio only)
  • 🔴 HARD - 1.0 seconds to react (audio only)

Note: Medium and Hard difficulties rely purely on audio cues - no visual hints!

🎵 Audio Features

  • Background Music - Groovy home screen soundtrack
  • Direction Sounds - Unique audio cues for each gesture type
  • Success Sound - Satisfying "boop" when you get it right
  • Game Over Sound - Dramatic failure sound (you'll hear it a lot!)
  • Reaction Time Tracking - See how fast you really are in milliseconds

🏗️ Technical Architecture

Built With

  • SwiftUI - Modern iOS UI framework
  • AVFoundation - Audio playback and management
  • Combine - Reactive programming for state management
  • Custom Fonts - Bangers & Fredoka for that playful look

Key Components

KeepUp/
├── 🎮 GameManager.swift          # Core game logic & state management
├── 🎨 GameplayView.swift         # Main game interface
├── 🏠 HomeView.swift             # Start screen & difficulty selection
├── ⏰ CountdownView.swift        # Pre-game countdown
├── 💀 GameOverView.swift         # Game over screen
├── 🎵 AudioManager.swift         # Sound effects & music
├── 🎨 KeepUpColors.swift         # Color scheme & gradients
├── 🔤 FontExtension.swift        # Custom font definitions
└── 🚀 KeepUpApp.swift           # App entry point

Architecture Highlights

  • MVVM Pattern - Clean separation of concerns
  • ObservableObject - Reactive state management
  • Timer Management - Precise reaction time tracking
  • Audio Pooling - Efficient sound effect playback
  • Gesture Recognition - SwiftUI gesture handling
  • UserDefaults - Persistent high score storage

🚀 Installation & Setup

Prerequisites

  • Xcode 14.0+ (iOS 15.0+)
  • macOS 12.0+
  • iOS Device (recommended for best experience)

Quick Start

  1. Clone the repository

    git clone https://github.com/yourusername/KeepUp.git
    cd KeepUp
  2. Open in Xcode

    open KeepUp.xcodeproj
  3. Build & Run

    • Select your target device or simulator
    • Press Cmd + R to build and run
    • Enjoy the chaos! 🎉

Audio Setup

The game includes several audio files that need to be in your bundle:

  • keep-up-home-screen.mp3 - Background music
  • boop.wav - Success sound
  • game-over.wav - Failure sound
  • swipe-*.mp3 - Direction sounds
  • single-tap.mp3 & double-tap.mp3 - Tap sounds
  • zoom-*.mp3 - Pinch gesture sounds

🎨 Design Philosophy

Visual Style

  • Vibrant Gradients - Eye-catching neon blue to hot pink backgrounds
  • Bold Typography - Custom fonts (Bangers & Fredoka) for personality
  • Smooth Animations - Spring animations and scale effects
  • Color Psychology - High contrast colors for maximum impact

User Experience

  • Immediate Feedback - Instant visual and audio responses
  • Progressive Difficulty - Three difficulty levels to suit all players
  • High Score Tracking - Persistent score storage for motivation
  • Accessibility - Audio cues for visual accessibility

🏆 Game Features

Current Features

  • ✅ 8 different gesture types
  • ✅ 3 difficulty levels
  • ✅ Real-time reaction time tracking
  • ✅ High score persistence
  • ✅ Immersive audio experience
  • ✅ Smooth animations and transitions
  • ✅ Random game over messages
  • ✅ Launch screen with logo

Planned Features (from code comments)

  • 🔄 Scream sound on game over
  • 🔄 Gesture feedback on screen touch
  • 🔄 Victory noise for new high scores
  • 🔄 Game Center integration
  • 🔄 Instructions screen

🎯 Game Rules Summary

  1. Listen to the audio cue or watch the screen (Easy mode)
  2. Perform the correct gesture within the time limit
  3. Score points for each correct action
  4. Fail if you perform the wrong gesture or run out of time
  5. Challenge yourself to beat your high score!

🐛 Known Issues

  • Audio may not play in simulator (use physical device for best experience)
  • Some gesture recognition may be sensitive to touch pressure
  • Background music continues playing after game over (intended behavior)

🤝 Contributing

Want to make KeepUp even more chaotic? Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🎉 Credits

  • Developer: PJ Loury
  • Fonts: Bangers (Google Fonts) & Fredoka (Google Fonts)
  • Audio: Custom sound effects and music
  • Inspiration: The eternal struggle of keeping up with life! 😅

Ready to test your reflexes? Download, build, and see if you can KEEP UP! 🚀

Warning: This game may cause addiction, frustration, and the occasional scream of victory. Play responsibly! 😂

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages