Week 5 – Midterm Progress

Concept 

For my midterm project, I am developing a game called Balloon Popper, which incorporates everything we have learned so far. In this game, balloons fall from the top like rain, and the player must pop them before they reach the bottom. The more balloons the player pops, the faster they fall and the more balloons appear, increasing the challenge dynamically. The score is based on the number of balloons popped.

Code Structure

The game will be structured around object-oriented programming (OOP) principles, utilizing classes and functions to manage different elements:

Balloon Class: Defines properties such as position, speed, size, and color. Handles movement and collision detection.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Balloon Class
class Balloon {
constructor(x, y, size) {
this.x = x;
this.y = y;
this.size = size;
this.color = color(random(255), random(255), random(255));
}
move() {
this.y += 2; // moving ballon downwards
}
display() {
fill(this.color);
noStroke();
ellipse(this.x, this.y, this.size, this.size * 1.3); // Oval balloon shape
// Balloon Class class Balloon { constructor(x, y, size) { this.x = x; this.y = y; this.size = size; this.color = color(random(255), random(255), random(255)); } move() { this.y += 2; // moving ballon downwards } display() { fill(this.color); noStroke(); ellipse(this.x, this.y, this.size, this.size * 1.3); // Oval balloon shape
// Balloon Class
class Balloon {
  constructor(x, y, size) {
    this.x = x;
    this.y = y;
    this.size = size;
    this.color = color(random(255), random(255), random(255));
  }

  move() {
    this.y += 2; // moving ballon downwards
  }

  display() {
    fill(this.color);
    noStroke();
    ellipse(this.x, this.y, this.size, this.size * 1.3); // Oval balloon shape

 

Shooter Class: Represents a player-controlled shooter at the bottom of the screen, used to aim and pop balloons.

Game Manager: Handles overall game logic, including score tracking, difficulty scaling, and user interactions.

Interactivity: The player moves the shooter left and right and fires projectiles to pop balloons.

Challenges and Uncertain Aspects

One of the most complex aspects of this project is implementing multiple difficulty levels (Easy, Medium, Hard). I am unsure of how feasible it will be within the project timeline. Additionally, I was initially uncertain about whether to allow players to pop balloons using a shooter at the bottom or direct mouse clicks.

Risk Mitigation and Adjustments

To ensure feasibility, I decided to focus on dynamic speed increase as the main difficulty progression instead of distinct levels. This allows the game to scale naturally in difficulty without the need for predefined level transitions. However, I may still explore the possibility of adding a multi-level aspect if time permits. Additionally, I have chosen to implement shooters at the bottom rather than mouse clicking, as this adds an extra layer of interactivity and skill to the game.

Leave a Reply