Topic was automatically imported from the old Question2Answer platform.
Asked By
adler55
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
First Read The Fine Manual to get how Godot works.
To make the fish into Godot you’ll use Sprites. And for their movement AnimationPlayer.
The line is the same deal. Or use Line2D stead of Sprite
Now to make it all work you’ll need to use script. That’s where lies the problem.
If you know how to code, there are C# and GDScript.
GDScript is a good choice to beginners.
Also try some tutorial in Youtube about doing fishing games.