Skip to content

banghuazhao/panda-nap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿผ Panda Nap

A delightful iOS puzzle game where you help a sleepy panda reach her bed by removing obstacles. Be careful not to wake her up!

iOS Swift SpriteKit App Store

๐Ÿ“ฑ Download

Available on the App Store: Download Panda Nap

๐Ÿ–ผ๏ธ Screenshots

Panda Nap Screenshot 1 Panda Nap Screenshot 2 Panda Nap Screenshot 3

๐ŸŽฎ Game Description

The panda is taking a nap, don't wake her up! In this physics-based puzzle game, you need to strategically remove obstacles so that the panda can fall smoothly onto her bed. The challenge is to ensure the panda doesn't fall to the ground, as that would wake her up and end the level.

Key Features

  • 10 Challenging Levels: Each level presents unique obstacle configurations
  • Physics-Based Gameplay: Realistic physics simulation using SpriteKit
  • Intuitive Touch Controls: Simple tap-to-remove obstacle mechanics
  • Progressive Difficulty: Levels become more challenging as you advance
  • Beautiful Artwork: Charming panda character and relaxing visual design
  • Sound Effects: Immersive audio with background music and sound effects
  • Multi-language Support: Available in English and Chinese (Simplified & Traditional)

๐ŸŽฏ How to Play

  1. Objective: Help the panda reach her bed safely
  2. Controls: Tap on obstacles to remove them
  3. Challenge: The panda must not fall to the ground (she'll wake up!)
  4. Success: Guide the panda to land gently on the bed
  5. Progression: Complete each level to unlock the next one

๐Ÿ›  Technical Details

Built With

  • SpriteKit: Apple's 2D game framework for physics and rendering
  • Swift: Modern iOS development language
  • CocoaPods: Dependency management
  • Google Mobile Ads: Monetization through banner and interstitial ads

Dependencies

  • Localize-Swift: Internationalization support
  • SwiftyButton: Custom button implementations
  • SnapKit: Auto Layout DSL
  • Then: Object initialization utilities
  • Google-Mobile-Ads-SDK: Ad integration
  • SwiftySKScrollView: Scroll view for SpriteKit

Architecture

  • MVC Pattern: Model-View-Controller architecture
  • SpriteKit Scenes: Separate scenes for menu and gameplay
  • Physics Engine: Realistic collision detection and physics simulation
  • Audio Management: Background music and sound effect handling

๐Ÿ“ฑ Requirements

  • iOS: 11.0 or later
  • Devices: iPhone and iPad (Universal app)
  • Orientation: Landscape mode only
  • Xcode: 12.0 or later (for development)

๐Ÿš€ Installation & Setup

Prerequisites

  • Xcode 12.0 or later
  • iOS 11.0+ deployment target
  • CocoaPods installed

Setup Instructions

  1. Clone the repository

    git clone https://github.com/banghuazhao/panda-nap.git
    cd panda-nap
  2. Install dependencies

    pod install
  3. Open the workspace

    open "Panda Nap.xcworkspace"
  4. Configure Ad IDs (Optional)

    • Update Constants.swift with your Google AdMob IDs
    • Configure ad unit IDs in the project settings
  5. Build and run

    • Select your target device or simulator
    • Press Cmd + R to build and run

๐Ÿ“ Project Structure

Panda Nap/
โ”œโ”€โ”€ Controller/           # View controllers
โ”œโ”€โ”€ Model/               # Game objects and physics bodies
โ”œโ”€โ”€ Scene/               # SpriteKit scenes and level files
โ”œโ”€โ”€ Sound/               # Audio assets
โ”œโ”€โ”€ Tools/               # Utilities and extensions
โ”œโ”€โ”€ View/                # Custom UI components
โ”œโ”€โ”€ Assets.xcassets/     # Images and app icons
โ””โ”€โ”€ Localization/        # Multi-language support

Key Components

  • GameScene.swift: Main gameplay logic and physics
  • PandaNode.swift: Panda character behavior and animations
  • BedNode.swift: Bed object and win condition
  • BlockNode.swift: Removable obstacle objects
  • MenuScene.swift: Main menu and level selection
  • Constants.swift: Game configuration and constants

๐ŸŽจ Assets & Resources

Game Assets

  • Panda Character: Multiple states (normal, scared, sleeping)
  • Obstacles: Various block types and configurations
  • Background: Relaxing visual design
  • UI Elements: Menu templates and buttons

Audio

  • Background Music: Relaxing ambient soundtrack
  • Sound Effects: Victory, lose, and interaction sounds

๐ŸŒ Localization

The game supports multiple languages:

  • English (en.lproj)
  • Chinese Simplified (zh-Hans.lproj)
  • Chinese Traditional (zh-Hant.lproj)

๐Ÿ“Š Monetization

  • Banner Ads: Displayed during gameplay
  • Interstitial Ads: Shown after losing multiple times
  • App Store Integration: Links to other apps by the developer

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add 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.

๐Ÿ™ Acknowledgments

๐Ÿ‘จโ€๐Ÿ’ป Developer

Banghua Zhao


โญ If you enjoy this game, please give it a star on GitHub!