This tutorial demonstrates how to create a fish frenzy game in Scratch by building a fish sprite with directional costumes, implementing mouse-controlled movement with smooth speed transitions, creating a scrolling camera system, adding animated water waves that follow the fish's position, implementing fish jumping mechanics with collision detection against water level, and creating floating bubbles that move with the camera. The game uses variables for speed, animation, camera position, and water level, along with mathematical functions like sine and cosine to create realistic wave movements and directional movement.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
How to make a Fish Frenzy Game in Scratch | Part 1 | Scratch Tutorial!Added:
Hello. Today I'll show you how to make a fish fish frenzy game in Scratch. And this is part one. As you can see, this is a fish. And this fish can be controlled with the mouse pointer.
And it can jump in the nice realistic water. So, let's get started.
First, delete the cat and paint a sprite. Name it fish player.
Then use the circle tool and with it make a nice orange color or any color you want and make it a good size.
Then with this use the box tool create a rectangle like that. Then use the reshape tool to change the size or to change these points so that it looks like a fish fin. and go to back and you can change the size to how you like.
Now with this use the brush tool, make the fill the outline and make it smaller for the eye.
And you can change the size of the fish to how you like.
Now you have a fish.
Now forward a movement when green flag is clicked forever.
And now point towards mouse pointer.
But now one problem is that for here it's upright but over here it's upside down. And to fix that we use two different costumes.
And let's make the animation as well.
Let's name this right one so that we know that this is when it's pointing to the right side.
Now duplicate. Make the fin smaller.
Then duplicate again. And make it slightly bigger, but not as big as one.
And now for the other side. Duplicate this. Name it to L1.
Duplicate R2. Move it down. Name it to L2.
Then duplicate art R3 and name aim it to L3. Now in L1 flip vertically and same for the others.
So that's L1 L1 should look like that and L2 I mean R1 should look like that.
So now if or if else and then direction is greater than zero which means that it's on the right side then switch costume to R1 else L1.
Now, if you test it, as you can see, it will switch sides or flip sides so that it's always upright.
And now with this to add an animation, create a new variable called animate for this sprite only.
set animate to zero and change animate by let's say 0.2.
And now instead of just R1, we join.
And we join uppercase R.
And then the round of animate + one because we also say animate to animate mod zero or mod 3 because every time animate gets to a three it resets back to zero like that.
and we place it in here. And for left just a uppercase left like that.
And now as you can see the fish can swim in an animation.
Now since the fish will move, create two new variables called scroll X for the sprite only and scroll Y for this sprite only and create a variable called speed for the sprite only and Y for when the fish jumps for this sprite only.
And now for this before we do the scrolling part, we calculate the speed.
And if we want to have a slight delay when changing the speed or basically smoothing out the speed, we do change speed by a divide and subtract speed here and three here. And let's place it here.
And now that is based on the distance to mouse pointer divided by 50 subtract speed divide by three.
And now if you show the speed variable as you can see when I change it won't instantly change to the speed calculated but instead smoothly change to that distance.
Now instead of change animate by 0.2 two change animate by speed divided by 10.
And now if you test it, as you can see, when it's close, it's a slow animation, but when it's farther, it's a lot faster.
Now with this for the movement we create two new variables called cam X for this sprite only and cam y for this sprite only.
And I just noticed that scroll X and scroll Y should be for all sprites.
So make sure that scroll X and scroll Y is for all sprites.
Now with this with this change cam x.
And now we calculate the speed and then that times the sign of direction.
And I would find how fast the fish is moving only in its x axis.
And now for y, we change y by speed times cosine this time. So that's only the y axis of direction.
And now if we also change scroll X by duplicate this, delete this part and remove speed and replace it with scroll X.
And in here do cam X and change it to 20.
And do the same for Y. Scroll Y.
Cam Y. Scroll Y.
And now also add in a go to.
And then camx subtract scroll X and scroll Y or cam Y subtract scroll Y.
And for this as you can see this will create the basics of scrolling.
And basically cam X is the position of the fish in the scrolling world. And scroll X and scroll Y is kind of the camera position.
Now also up here set cam X and cam Y to zero.
Now create a new variable called water level for all sprites.
And in here create a new var or new sprite called water. And for now we won't have any costumes.
Now in here when green flag is clicked hide.
Then set water level to 150.
And now forever create a block and name it create water or create waves and run without screen refresh.
And before that click here and click pen and place erase all before create water.
And now in create water, we want to start at the very edge and move up and create the water.
First, we set Y or actually set X to -239, which is where we want the water to start.
Then set pen size to four and create a new variable called waves for this sprite only and set waves to zero.
Now repeat to 40 times and change x by two.
And before that, set the pen color to a nice blue color like that.
Then set transparency to 70.
And now with this based on the wave or how high the wave is, change the pen color by.
And now we calculate how high the wave is. sign of then a multiply and then another sign.
And now we do sine of wave waves plus scroll x times 3.14 So that when the mo when the fish moves the wave also moves with the fish and that and for the waves to oscillate in this multiply we add another multiply and by three and then do sine of timer* 350 50 and actually remove that times three.
And with this we times all of it by 30.
And now for creating the actual wave, we set Y to - 180.
Then we pen down and then set Y to let's first duplicate this part without the time 30.
And with this we also add water level and plus scroll Y times -1.
And with this we then pen up change wave by let's say three and change X by two.
And now if you test it, as you can see, you will have water that follows the X speed or X pos X scroll X.
And this time we can add in a times three for how severe you want the waves to be.
And also remove this sign.
So that you only have these like that.
And now if you test it, as you can see, you will have waves.
And so if you are struggling with this, make sure that it's water level plus scroll y * -1 plus the sign of waves plus scroll x * 3.14.
And that's times sign of timer time 150.
And that's together times by three or any number you want for how high the waves are like that.
Now with this for when the fish jumps.
First, let's remove that. And now we change y by1.
put if else.
And now we check if cam y is less than water level.
Then we create a new variable called can jump for this spray only.
And set can jump to one.
and set Y to zero, meaning that the fish is under the sea or underwater.
And now else and we check first of all if if the fish is pointing from here to here.
We check cosine of direction is greater than zero.
And if so since cosine of 90 equals zero that means 45 or negative - 455 will work so that it checks that the fish isn't moving down but still jumping.
And in the end, we must check if can jump equals 1.
And if so, set can jump to zero.
And we change y by the cosine of direction.
and that times 10 or any number you want for how high the fish jumps.
And for this to work for the scrolling as well in change cam y add in by add in a plus y.
And now if you test it, as you can see, every time you try to jump like that, you'll have a nice jump.
Now, the last thing is bubbles and the stage.
First, in water and in costumes, use the circle tool. Make the outline a nice light blue and the fill a even nicer and lighter blue like that.
And make it a good size.
Now back in fish in if cam y is less than water level we add in a if and now we check if speed is faster than two then ka clone of water.
And now in water when I start as a clone show then go to fish player and also set ghost to 50.
And now for the bubbles to move correctly with the scroll, add in two new variables called X pause for the sprite only and Y pause for the sprite only. And these variables act similarly to cam X and cam Y.
But now in here set X pause to it's X position plus scroll X and then so that it isn't just directly at the fish add in a pick random five to five. Now duplicate this and make it for Y. So Y position plus scroll Y and then pick random five to five.
Now repeat 40 times and we change ghost by 1.25. to five.
Then for it to follow the scroll X, add in scroll X * -1 plus X pause. And same for Y pause.
Y scroll Y + Y pause.
And since bubbles are more buoyant than water, change y poss by one so that the bubbles slowly go up.
And if y paw is greater than water level, then delete this clone and delete this clone after it all repeats.
And now if you test it, as you can see, you'll have bubbles.
And for them to be more visible, you can change the saturation to a even lower number and make them go to back layer.
And now if you test it, as you can see, you have nice bubble tray.
And lastly, in stage and in backdrop, use the box tool. Make sure there's no outline and use the horizontal gradient.
And for this side, the right side, make it a darker or a more blue color, while this side a slightly lighter blue.
drag it out like that and adjust as needed.
And now if you test it, as you can see, you have a nice fish frenzy game part one in Scratch. Thank you for watching and have a fantastic day.
Related Videos
VALORANT's Latest 'Exclusive' Tier Bundle is Rough...
KangaValorant
17K viewsβ’2026-05-28
Flight Attendant Mocks Poor Looking Black Woman β Mid Air Announcement Exposes Her Real Power
SkyboundStories-b4r
184 viewsβ’2026-05-28
I FIXED My Friendβs Blown Turbo RX-8β¦ Then Sold It
Cameron-RX8
134 viewsβ’2026-05-28
NewsWatch 12 at 5: Top Stories
NewsWatch12
1K viewsβ’2026-05-28
Simon Jordan & Danny Murphy deliver PREDICTIONS for Arsenal's Champions League FINAL with PSG
talkSPORTArsenal
6K viewsβ’2026-05-28
Botting is OUT OF CONTROL in Classic WoW (Again)...
SolheimGaming
108 viewsβ’2026-05-28
The "AI Job Apocalypse" is CANCELLED!
WesRoth
9K viewsβ’2026-05-28
STREET FIGHTER 6 - INGRID Story Walkthrough @ 4K 60αΆ α΅Λ’ β
RajmanGamingHD
12K viewsβ’2026-05-28











