Skip to content

zicotjia/Zeggle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A peggle clone made in Swift for the NUS module CS3217. Physics Engine, Game Engine and Audio Engine is developed from scratch in Swift

Basic

This app is a simple clone of the game Peggle made entirely in Swift. In this game, a player will shoot a ball from a cannon to hit pegs. After the ball is removed from the screen, all the hit pegs will disappear and points will be rewarded.

Level Selector

Screen.Recording.2023-08-30.at.3.45.38.PM.mov

Player can scroll down to pick which level to play. tapping on the any level will load the level in the level designer

There are 3 default levels: "Level 1", "Rock", "Zombie"

Level Designer

Screen.Recording.2023-08-30.at.3.54.35.PM.mov

Player can edit the level to their liking by adding pegs of different types and size. Players can also decide how many balls the player has access to in the level.

Screen.Recording.2023-08-30.at.9.11.44.PM.mov

Player can also pick a game mode here (Go down to "Rules of Game" section for more details). tapping on start will load the level with the selected game mode

Screen.Recording.2023-08-30.at.9.12.58.PM.mov

To create a new level, load a level in the level designer and make edits. Name the level then tap the save button, a new level with the specified name and layouts will be created. If no name is selected, save changes made to the taped level. If a level with the same name as the selected name exist, overwrite the existing level.

Screen.Recording.2023-08-30.at.9.16.17.PM.mov

The 3 default levels cannot be editted but you can create a new level from it by specifying a different level name to be saved.

Load button

Screen.Recording.2023-08-30.at.9.19.24.PM.mov

Tapping on the load button will redirect user to the level selector.

Ball

  1. Standard Ball image
    • A standard ball that disappear when it reaches the bottom of the screen
  2. Zombie Ball image
    • A ball that disappear when it reaches the bottom of the screen and reappear as a standard ball at the top of the screen where it disappeared.

Pegs

  1. Standard Pegs image
    • A standard round shaped Peg of different colors. Hitting a peg will reward points depending on the color of the pegs
  2. Zombie Pegs image
    • A peg that when hit, will act like a ball, hitting other pegs that is in contact with the zombie pegs.

Cannon

Screen.Recording.2023-08-30.at.3.46.47.PM.mov

Press a location in the screen and the cannon will aim and shoot a ball in the direction you tapped

Ball Selection

Screen.Recording.2023-08-30.at.3.48.11.PM.mov

tap on any of the ball to select what ball to be shot by the cannon.

Rules of the Game

There are currently 4 Game Modes that is selectable . They are selectable in the level designer

  1. StandardMode

    • No time limit. To win you have to clear all the pegs (including zombie pegs). You lose if you run out of ammo.
  2. TimeAttack

    • 60 seconds time limit. Similar to StandardMode but you have to clear all the pegs before the time limit end.
  3. BeatTheScore

    • Time limit depends on the target to score which also depends on number of pegs and the total score. Beat the target score before the time ends. You lose if time is over or you run out of pegs.
  4. DodgeBall

    • 60 seconds time limit. You win if you can deplete all your ammo without hitting any peg.

Different coloured pegs will award different points

  • Pink: 10
  • Red: 8
  • Blue: 6
  • Yellow: 4
  • Orange: 2

ZombiePeg does not award points

Create level

Screen.Recording.2023-08-30.at.9.22.57.PM.mov

Create level button will load a level designer with no objects, tap save after naming level to save the created level.

Toggle Music

Screen.Recording.2023-08-30.at.9.37.11.PM.mov

NB: Audio has delay in above video

When music is toggled on, music notes will be played when a peg is hit and when it is removed

About

Peggle-Clone made in Swift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages