San Diego State University - Fall 2024
Welcome to my GitHub for my Game Programming Class Projects!
Apple Picker is a tutorial assignment completed as part of the CS583 course. This project follows a guided tutorial from the book "Introduction to GAME DESIGN, PROTOTYPING, and DEVELOPMENT" (Jeremy Gibson Bond, 2022) and covers foundational techniques in 3D game development, including scene setup, player controls, and simple physics.
This project is an individual assignment to recreate the classic arcade game Breakout. In Breakout, the player controls a paddle at the bottom of the screen to deflect a ball, aiming to break all bricks in the game area without letting the ball fall past the paddle. This game involves real-time physics, collision detection, and score tracking, creating an engaging gameplay experience. Additionally, this game includes unique features, such as side paddles that players can activate with the space key to deflect the ball from the sides. Hitting a special star power-up enlarges the ball, making it easier for players to clear bricks and progress through the game.
- Paddle Control: The player moves the paddle horizontally to keep the ball in play. There are also two paddles on both left and right side, the player can hit the ball with them by hitting a space key.
- Brick Destruction: Each collision between the ball and a brick removes the brick and increases the player’s score.
- Ball Physics: The ball bounces off the paddle, walls, and bricks, with angles depending on collision positions, challenging the player to strategize.
- Win Condition: The player wins by clearing all bricks in the game area.
- Lose Condition: The game ends if the player lets the ball fall below the paddle.
- Obstacles: There is a bar in the middle of the screen which moves randomly in a horizontal direction. Enemy near the top screen also moves horizontally, it takes away the player's score by 500 each time the ball hits.
- Clone the repository:
git clone https://github.com/Kenbo0601/CS583_GameDevelopment.git

