The idea of my game originated from me and my team’s Communications Lab comic assignment, Benny the Fish. This comic narrates the story of Benny, a little fish that got adopted. The game, named as the comic, will follow Benny as he navigates the ocean and avoids obstacles that will hurt him. I want the user to control Benny with the keyboard arrows as “villains,” as I call them on my code, come from the right side of the screen as if Benny was moving trough the ocean.
Update 1: Controls 🎮 (February 24th – February 28th)
I began my process by creating the tittle screen, instructions and the main character. I inserted the logo as an image, the instructions as a text element, and the playable character as a .png image. I then added if statements with Key_Code indications, as learned during class, to make Benny move. I played arround with the speed to make sure it works well. I also added boundaries on the screen so Benny can’t leave and a subtle bouncing effect to make it feel better. My next steps are:
- Building the villains and their interactions with Benny.
- Recording the sounds.
- Building a simple sprite sheet to simulate swimming.
- Remove the instructions and logo when a key is pressed.
Update Villains: Experimenting (March 1st – March 2nd) 👾
When thinking about the idea of the game, I did not realize how much of a challenge it would be to design the villains. [Quick backstory: When I was a kid, I used to call Goombas in Mario Bros villains and my cousins would mock me for it endlessly. Hence, my code :)] I started experimenting a little on the above sketch (from update 1) and quickly wrote some lines that would prevent the rest of the code from running. Thus, I decided to figure out all the details on a separate file, and then, add it to another file.
My first step was to create a class called Villain. I gave it parameters of x, y, width, color, and speed. Then, I created three arrays for the three types of villains I will have. I am unsure if this was the right choice, as I have not been able to have each array have a different number of objects. (See lines 9 and 14). Then, I made them move at different speeds and appear randomly each time they crossed the screen. I spent an embarassing amount of time playing with the speed values to make sure it looked natural and similar to other games I’ve played before.
You will also see in my code that I began adding some lines to figure out the interactivity within the circles. I, however, am struggling to create the distance statement to all the different radii and circle centers.
Next steps in my process and planned timeline are:
- Fine-tune the radii math –> Wednesday
- Combine both sketches. –> Wednesday
- Design the villains. –> Wednesday
- Recording the sounds. –> Thursday
- Building a simple sprite sheet to simulate swimming. –> Thursday
- Remove the instructions and logo when a key is pressed. –> Thursday
Update 2: Integration (Monday March 2nd Class) 🔗
During class I worked with integrating two of the above sketches: the villains and the playable character. An immediate next step I must take is to, through conditionals, make the tittle & instructions part of the opening screen only as opposed to the whole game.
Update 3: Conditionals & Design (March 3rd – 6th) 🏞
This might be one of the, if not the biggest update for Benny the Fish. After integrating the villains & controls during Wednesday’s class I spent a lot of time with the conditionals. During the initial days of this weekend, I wrote in my code a switch statement that would create the modes of (1) intro screen, (2) gameplay, (3) losing screen, (4) winning screen. This allowed me to have a much more structured product. I also added if statements to build the killing of Benny mechanism, while adding a live count. I also added images as backgrounds which make the experience of playing much better. Currently, the game has many elements to be fixed, bugs and improvements, but as soon as I add the designs for the villains and figure out how to restart the bottles.push() & canPlastic.push() for loops, the game will be a playable and great initial product. I still have a lot of work ahead, but believe the game looks very promising.
As always, my immediate next steps are:
- Designing the villains & adding them into the game.
- With the villains’ design, I can make sure that the distance interactions are as accurate as possible to give the game a better feel. (Not looking forward for this step)
- Add Background music, bumping, dying, & eating sounds.
Some overall steps I want to take are:
- Figure out how to win. Time? Eating Mechanism?
- Adding different levels. I would love for Benny to grow & change of scenery as he does in the comic.
- Adding the tail animation for swimming.