Week 5 – Midterm Intro – Kamila Dautkhan

The Concept 

I’ve decided to create an interactive game called “Star Catcher.” The core idea is a fast paced arcade game where the player controls a collector at the bottom of the screen to catch falling stars. Since I wanted the interaction with the game to feel smooth, I have decided it to be mouse driven. The user starts at a menu screen and has to click to enter the game. My goal is to at the end add more layers but for now, I’m focused on the core loop: fall, catch, score, repeat.

Designing the Architecture

I’ve already started laying the foundation of the code using object oriented programming. 

  • The player class which handles the paddle at the bottom.
  • The star class which manages the falling behavior, the random speeds, and resetting once a star is caught or hits the ground.
  • State management where I implemented a gameState variable to handle the transition from the Start Screen to the Active Game and finally to the Game Over screen.

The “Frightening” Part 

The most scary part for me was asset management and collision logic. I was really worried about the game crashing because of broken image links or the sound not playing.

In order to minimize the risk I wrote a “fail safe” version of the code. Instead of relying on external .png or .mp3 files that might not load, I used: createGraphics() to generate my own star “images” directly in the sketch and p5.Oscillator to implement a synthesized beep instead of an audio file. This helped me to test the collision detection algorithm (using the dist() function) and get immediate audio feedback without worrying about any file paths.

 

 

Leave a Reply