# Need guidance for a fishing game

Attention Topic was automatically imported from the old Question2Answer platform.

I want to create a simple fishing game with simple mechanics

• a straight fishing line that goes up and down (no physics)
• a random chance to catch fish based on depth (exp : 1/25 chance to catch a golden fish at 10m depth )
All I need is to know what to learn to make this game
And thank you.

What you need to learn depends on how complex you plan your game to be. If the game is purely simulation based, you might be able to get away with avoid physics all together and just using some sprites, animations, and a nice HUD to indicate the fishing progress.

• I imagine you will need sprites and animations, so I recommend looking into SpriteAnimationPlayer.
• You might want some special effects (like what droplets/splash) from fish, so I recommend looking into Particles2D
• for the RNG catching chance, I recommend looking RandomNumberGenerator. This RNG-based logic could mostly be script-based logic. You can generated random numbers between 0 and 1, and then emulate probabilities (e.g., 1/25 chance) by signaling events whenever the random number is less than or equal 1/25. To have chances of catching fish a various depths, again you could achieve this using scripting. You could define a dictionary or array that stores all catch-rate probabilities for every fish type at various depths. You may want to think about this one, since there are many ways to do this. My suggestion is just an idea I thought of.
• You will need to define the tick-rate your game runs at. E.g., is a fish’s catch rate 1/25 every frame? That wouldn’t be very rare, since you would on average catch 2 per second. Maybe your tick-rate (every check for probabilitic events) be every second? You will want to look into the _process (or _physics_process) and keep track of the duration using the delta parameter (time ellapsed since last frame tick)
• You may also want to control the depth of the fishing rod using controls like up and down. A simple way to visualize depths without complicating things would be to use a depth variable and then visually represent the depth variable using a progress bar (look into TextureProgress).

These are just quick ideas. There are probably many other things to consider