Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

CatchTheFallingObject

CatchTheFallingObject is a small iOS arcade game built with Swift and SpriteKit. The player taps falling food items to collect points before they leave the screen.

I built this project while learning SpriteKit from a Jordan Grant YouTube tutorial, then changed and extended the original version by fixing bugs, adjusting the game balance and improving how the scene scales across iPhone and iPad screens.

How to Play

  • Tap a food item before it falls off the screen.
  • Each collected item adds 1 point.
  • Missing an item removes 1 point.
  • The game ends when the score drops below 0.
  • After game over, the scene restarts automatically.

Features

  • SpriteKit-based gameplay
  • Randomly generated collectible food sprites
  • Physics-based movement using SpriteKit gravity and velocity
  • Score tracking
  • Sound effects when an item is collected
  • Background music
  • Game-over and restart flow
  • Layout adjusted for both iPhone and iPad screens

Tech Stack

  • Swift
  • SpriteKit
  • Xcode
  • iOS
  • SKScene
  • SKSpriteNode
  • SKPhysicsBody
  • SKAudioNode
  • SKAction

How It Works

The main gameplay is handled inside GameScene.swift.

When the scene starts, it:

  • configures gravity
  • creates the score label
  • scales the background to cover the current screen
  • generates several collectible items
  • starts the background music

Collectibles are created from a random selection of food sprites. Each sprite receives a physics body and an upward velocity, while gravity pulls it back down through the scene.

When the player taps a collectible, the item is removed, the score increases and a new item is generated shortly afterwards.

The game also checks for collectibles that have fallen outside the visible scene. Missing one decreases the score and generates a replacement. When the score drops below zero, the game enters its game-over flow and restarts the scene.

What I Changed

The project started as a tutorial exercise, but I used it as a chance to experiment with the game and make my own adjustments.

I:

  • fixed bugs I encountered while building and testing the game
  • adjusted the scoring and timing to make the game easier to understand and more enjoyable to play
  • changed the visual presentation
  • adapted the background and gameplay area so the game works more consistently across iPhone and iPad screen sizes
  • tested different gameplay values while deciding how quickly collectibles should move and reappear

What I Learned

This project was my introduction to SpriteKit and helped me understand:

  • how an SKScene manages game content
  • how SpriteKit's update loop can be used to check changing game state
  • how nodes can be created, named, positioned and removed dynamically
  • how physics bodies, velocity and gravity affect sprites
  • how touch input can be translated into gameplay actions
  • how to use sound effects and background music in a SpriteKit scene
  • how small changes to timing, movement and scoring can noticeably affect how a game feels
  • how layouts designed for one screen can need additional work to behave well across different device sizes

It also gave me another chance to approach development with my QA background: testing different screen sizes, looking for unexpected behaviour and adjusting the game after seeing how it actually felt to play.

Assets

The original background image, food sprites, sound effects and music came from the Jordan Grant tutorial that this learning project was based on.

Future Improvements

  • Add difficulty levels
  • Add a leaderboard
  • Give different collectibles different point values
  • Add animations and visual feedback
  • Add power-ups
  • Add a proper start and game-over screen

Author

Created by Alisa Shuginova.

About

This is a simple iOS game built with Swift and SpriteKit. The player taps food items to collect points before the items fall off the screen.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages