Devlog III
Hi guys I have done a lot these past few days including revamping the entire fishing mechanic and the first version of the inventory system.
Whats new?
Revamped fishing mechanic to be more sustainable for the future rather than what I used to have with the prototype
Fishing revamps include:
- actual list and data of fishes stored in
fish.csv - FIRST 25 FISHES!!!
- depth mechanic (more fish the deeper you go)
- revamped RNG mechanic and rarity of the fishes
Depth Mechanic
This has to be one of the first unique mechanics I have added in the game and definitely needs its own header just to talk about.
- This mechanic makes it possible for you to have progression in the game by going deeper to catch newer and exciting fishes!
- So far there are 3 levels for this mechanic:
Shallow,Mid,Deepwaters (might change names later idk, mid as a name is buns). - You can catch all sorts of fishes depending on which level you are in.
- Here’s the catch: the depth level accumulate. Meaning if you want to fish in deeper waters you may also catch fishes in levels above it. This makes deeper fishes rarer despite having common fishes below.
- RNG mechanic is interesting because the rarity increases depending on the depth even if it were common. Meaning there are two things you have to keep in track to be able to catch specific fishes.
I also managed to create the first version of the inventory system! (and it saves too after you leave the game).
The inventory system includes:
- your very own
inv.jsonfile which is where your items and fishes stored in. - a “add to inventory” function that can work for any category of items I will ad in the future
- a way to insert your catches and items inside the
inv.jsonfile. Technically creating the first version of saving in the game.
Those are the big chunks and I would like to add the small updates here too with little detail so skip if you’d like. and these include:
- RNG system uses the
randomlibrary in python to keep track of which fish to take in rarity and which fish to take from the available scope. - creating
display.pywhich has the sole job to start the pygame display. This is then imported fromgame.pyandmenu.py. This overall makes the code not repetitive and circular import errors would happen less. - removing a lot of the fishing action inside
game.pymaking it cleaner. Moving all of it infishingState.pywhere the action does begin. - changed pygame’s time mechanics with python’s
timelibrary. This choice make’s it easier for development and faster when importing to the ESP32. -
inv.pyandfishingState.pyhave their own function coordinator turning each python file into a clean puzzle piece that gets connected at the end. (it is also the function that will be called out ingame.pyandmenu.py. - fixed multiple bugs but ones I remember was the display, proper quitting in the state machine, setup for the UI in
menu.pyand cleaning.
During development
Its honestly just the usual… bugs because you misread something or because your logic turns out to be a fallacy.
Conclusion
I had so much things to say but it was all gone because of the body cap… I’ll just end it here. Goodnight.
P.S watch the vid on mute I had a lot of discord notifs, sorry.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.