Share your repls and programming experiences

← Back to all posts
The Fishing Game (fixed)
AmeliaBlackwell (1053)

The Fishing Game

Explore your way through the different regions by catching the rarest fish you can. Catch em all to fill up your fishedex!


28th June 2020 Update

Hey everyone. I posted this game last year as part of the game jam; I think it was in May. Well, I didn't maintain it and the site I used to store the accounts data went down. I posted on repl.it again recently and I saw that people had been commenting on the fishing game post! I'm really sorry that it had been broken for so long.

Anyway, I think I've fixed it now, by using a new website, jsonbin.io. I really hope this works.

The reason I sorta gave up on the fishing game is that I was a bit annoyed how I got the most community votes but still didn't win any monetary prize. But it's back now! Please please let me know if you find more bugs guys.


Overview

Hi!! This my fishing game. Here's a bit of an explanation that you also get ingame:

Welcome to my fishing game! The aim of the game is to reach level 100 as quickly as possible. Catch the rarest fish you can and level up! You can sell your fish in the shop. Rarer fish bring in more gold. You can use this gold to purchase bait, which is needed to catch fish, and rods, which make catching rarer fish easier. Careful, bait gets more expensive as you level up. New types of fish are unlocked as you level up, and at higher levels, it's easier to catch fish. You can also see information about all the fish you've come across in the 'fishedex' in the shop. Catch them all! You might also find some treasure when you're fishing! The game saves your progress at the end of each day, so you can just log in again and pick up where you left off. Good luck! Press enter to continue.

Not gonna lie, it's pretty fun.


Backstory

I made this game last July. The reason I choose fishing was mainly because it makes plurals easier - the plural of most types of fish is the same as the singular ;) (This doesn't work for anchovies though... or mythical creatures. Oh well). To make it I did have to learn a little about using classes and objects - I find them really useful now though. My coding's definitely developed a bit since I made this (it's a mess), but I can't really be bothered to make the code any neater (I did a tiny bit). I have edited it a bit since I originally made it to make it ready for the game jam. Here are some of the additions (spoiler for past level 100!!) :

  • There are new "mythicals" which are extremely rare fantasy creatures, like mermaids. They can only be encountered after level 100. You can't sell them, though the game remembers which ones and how many you've seen. You need the special new moonstone rod.
  • The game's harder now, in that the XP needed to level up increases exponentially as you go up the levels. I really should have had that from the beginning, because levelling up was way too quick.
  • Some new types of fish!
  • Highscore board for how many days it takes to reach level 100. I'm not sure if this was in the original fishing game that I posted in July, but I don't think it was. It's empty currently because the new XP-level scale has made all the previous highscores made by me and my family during testing unfair. Let's see who get's the lowest!
  • Rarest fish stat. Within the rarity boundaries like common, uncommon, rare ect, there are varying rarities based on a number. If you catch a fish with the same rarity number as your rarest fish stat, it counts as rarer if it's unlocked at a higher level. Basically, higher level is used to decide rarity in a couple of cases. The point is, I wanted to add something that made the game more orientated to getting the rarest fish - kinda like pokemon. Anyone got the blue whale?
  • Changed the rod names from "default, alright, decent, good, great" ect. to "wooden, bamboo, copper, iron, steel" ect, just for added character. The only one that stayed the same was the awesome golden rod ;)

Thanks to...

Techgamer, for catching a bug
Mavrick, for helping with the fish rarity colours
cats_ur_cool77, for doing a cool little picture that you can see in the settings inside the game
leon332157, for helping me out with the intial jsonstore
ebest, for helping with account security
jsonbin.io, for providing the place to store the accounts data!
ironblockhd, for helping me to hide the API key


Well that's it. I really hope you guys like it. If there's any bugs let me know, and if you want any improvements, let me know too! Thanks so much for trying it out! (also sorry that it doesn't fit the cash theme. I edited it to make it more appropriate to the cash theme, but it kinda sucked. I prefer the cutesy fishing element)

On a final note, let me know if you encounter all the mythicals! That would be seriously cool!

Edit: don't really care if you don't like that it's in all lower case. I think it looks nicer.


Change Log since posting

  • Input validation for a, b, c at the start of the day, to avoid the "press enter and run up your days" error
  • Input validation for logging in or signing up
  • More input validation for selling some fish, plus added capability for selling multiple fish at a time (not all fish) and fixing a bug that would've prevented fish with spaces in their name - eg electric eel - to be sold.
  • Fixed the printing of high scores so that it's in actually in the correct order, plus accounting for ties.
  • Disallowed "-" characters in the username, which would've messed up the accounts file, had it been working anyway.
  • Lowered the power of the rods and raised the prices for a more difficult game ... sorry if the highscores are now unfair but I can't let it be the same game forever :(
  • More input validation in the shop... it never ends
  • Weirdly, more input validation in the shop, I thought I caught it all, but nope. thanks for catching that, TechGamer
  • Added the "fishedex"!! It's amazing! It's literally just a pokedex. Go to the shop to see it. If you do manage to catch em all then tell me if my code works and you get a congratulations. Hope you all like the fishedex, thanks to Hamloid for the idea!
  • Accounts and highscores saving error fixed!
  • You don't get as much info about a fish each time you catch one now, only the first time you do. I think it looks a lot nicer.
  • The code now has the grammar knowledge of a 6 year old and can appropriately use "a" or "an" now.
  • If you put in "log in" but you should've put in "sign up", you no longer need to refresh, the code will sort it out for you.
  • Fixed password security thanks to ebest!
  • Added treasures and treasuredex!
  • Fish are now coloured based on rarity, inspired by Runescape!
  • Different biomes with different fish, different treasures, harder xp gradients, and dangers [dangers are so cool]! Level resets to 1 in these biomes. You can travel between biomes by ships (your old levels stay the same, don't worry). Biomes are only unlocked past level 100. I only have the ice biome now, but more are coming (unlocked at ice level 100, ect.)
  • Biome specific rods! [only 1 per biome, but they're both great at getting rare fish, and allow mythicals (at the moment mythicals can only be caught in normal, but I'm going to add ice and desert mythicals)
  • Desert biome added!! I know, the names suck. I'm working on it.
  • Bait price increases as you level up. It's also more expensive as you go through the biomes.
  • Dangers added for normal.
  • "One use" items! These are pretty cool and last for 1-2 weeks, increasing your chance at either: catching a fish, catching a treasure or catching rarer fish, or keeping you safer. There's 2 "levels" of item for each, with the better being rarer. They can't be bought in the shop and are instead found when fishing.
  • Added weathers, which are specific to biomes. Most fish can only be caught in certain type(s) of weather.
  • Added settings page with options to reset account, see highscores, see total number of accounts signed up, see game info and see game help. Going to settings doesn't use up your day, unlike the shop.
  • Improved fish rarity colours suggested by Mavrick and each line in the fishedex is coloured according the what biome the fish is found in.
  • Fire biome, which is the last one! Highscores page for when you complete it.
  • Mythicals for different biomes.
  • Biomes are no longer called biomes and are now named after locations in game of thrones.
  • Massive bug exodus just before deadlines oops
  • Inputs except user and password are now not case sensitive
  • Slight edits to reaching level 100 & ship functions
  • cats_ur_cool77's awesome fishing game tribute can be found in settings!
  • Credits when you reach endgame!
  • 28/06/2020 - Fixed huge jsonstore bug
  • Now saves are done manually in settings NOT automatically at the end of each in game day. This is to prevent too many requests being sent to the accounts data, which caused the data to be blocked
  • API key now hidden

Don't forget to upvote if you enjoyed the game!


I recommend playing in a new tab

EDIT: Right guys I'm sorry about this but the website that stores the accounts info keeps getting overloaded with requests. That's why the game's glitching. It's a certain number each day, so you'll probably be able to play the game in the morning. Don't worry, you'll only lose the data since your last save [which now needs to be done manually so as to minimise the requests]. I'm considering paying for more requests to be allowed. Sorry everyone.

EDIT 2: I'm really sorry that it's still not working. It seems that my account on the database is blocked. I can't really permanently fix this without paying the owner of the database some money to compensate for all my requests, so I'm gonna leave my PayPal here. If you guys want to donate some money you can but of course I'm not expecting anything. I'm just really sorry that it's not working.

PayPal: https://paypal.me/ameliablackwell?locale.x=en_GB

Commentshotnewtop
mathiasaboye (63)

Whenever I try to sign up it freezes! I was kinda disappointed since this looked like a really fun game...

SreePaladugu (9)

@mathiasaboye It worked for me until the username part

adl212 (126)

@mathiasaboye I think this happens because @AmeliaBlackwell maxed out on requests to her jsonbin api, so she can't get, put, and post data to here api.

KimiTian08 (10)

@adl212 @AmeliaBlackwell yup and the same thing happened to me.

adamseider2009 (25)

i have the same problem

adl212 (126)

This is only going to work if @AmeliaBlackwell chooses to buy more requests to jsonbin or she gets another api for the game. If she gets another api, all of the data won't be saved.

Nettakrim (381)

https://repl.it/@Nettakrim/no-sign-up-fishing-game
forked it and removed all ability to save so it now works, you just need to do it all in one sitting
note: i havnt fully tested it and i may have removed something vital

mathiasaboye (63)

@Nettakrim It's good except that when it says I have to shop for bait when I press enter it doesn't work

AwesomeArnav (0)

@mathiasaboye i agree, u it worked the same for me
ree

neronesh (20)

@mathiasaboye same with me. I sign up, put's a username and then does nothing

LTI2 (62)

@Nettakrim When I press a it takes me to the store

Nettakrim (381)

@LTI2 that happens when you need to buy bait

NoNameByProgram (42)

@neronesh

I think when the

while not tflag:

starts, it always returns an error in the
try statement. In short words, it's a bug.

LTI2 (62)

@Nettakrim Later in the game nothing happens normally once you reach day 150

DynamicSquid (3228)

@AmeliaBlackwell I never knew console text-based games could be this good

AmeliaBlackwell (1053)

@DynamicSquid aww thanks. I've never really tried to do real games with pictures tbh

DynamicSquid (3228)

@AmeliaBlackwell oh that's fine, text based games are still cool

also I just noticed,

squid, 35, 500, 7, the riverlands, raining

yay! I never caught it though...

AmeliaBlackwell (1053)

@DynamicSquid hahaha come on you gotta get it

AmeliaBlackwell (1053)

@DynamicSquid ayyy you did it!! glad you're enjoying :)

dillonjoshua68 (70)

@AmeliaBlackwell I think there’s an error.... it’s not letting me sign up

dillonjoshua68 (70)

Just to confirm... do u use a mobile device... ( tab, iPad, etc...) @BotProgrammer cuz for me it wouldn’t work on the ipad

DynamicSquid (3228)

@dillonjoshua68 too many people are sending requests at the same time

DynamicSquid (3228)

@dillonjoshua68 the server is getting overloaded with requests, so it slows down

dillonjoshua68 (70)

Oh, so the buffering process takes place? @DynamicSquid

DynamicSquid (3228)

@dillonjoshua68 well, if too many requests come in at once, then yeah, it takes a while

dillonjoshua68 (70)

Btw, you should share ur python game... Diamond Risk , it’s nice @BotProgrammer

BotProgrammer (5)

@dillonjoshua68 That is someone else's program. It was in trending so I looked at it.

dillonjoshua68 (70)

Fork is an option in repl... it allows you to copy other users programs @BotProgrammer

VulcanWM (2067)

By the way, it's 2020, not 2021, unless I've missed a year.

AmeliaBlackwell (1053)

@VulcanWM I knew there was something off with that date lmao
thanks
Edit: i made the same mistake twice ??? maybe i came from the future

bigchungusmc (79)

instead of using "input()" you could use the module getch and then replace "input()" with "getch.getch()"
edit: this would make it so you would have to do "a" then enter and just have to do "a"
another edit: great game though

AmeliaBlackwell (1053)

@bigchungusmc woah!! That's really cool. I'll try implement it. thank you!

avibeskrowni (131)

thank you so much for fixing! i have to say, this game is extremely well made.

AmeliaBlackwell (1053)

@avibeskrowni wow thank you so much! Comments like this make it worth it :) hope you enjoy and please let me know if you find any bugs

Nettakrim (381)

can you please either fix your current save system, use replit db or just supply a saving free version like this https://repl.it/@Nettakrim/no-sign-up-fishing-game

CodingRobot12 (186)

This is a great variation of the game. @Nettakrim

ChezTacoz (296)

@AmeliaBlackwell it gets saved but my computer says:

Changes you made may not be saved

AmeliaBlackwell (1053)

@ChezTacoz don't worry about that, I think that's an issue that sometimes happens whenever I change page on repl.it
Your progress is saved within the game, if you see that "your progress has been saved" message then it's definitely been saved

ChezTacoz (296)

@AmeliaBlackwell I know I just thought it was funny that my computer didn't

ironblockhd (333)

@ChezTacoz replit added a onbeforeunload event, its compleetly unrelated to this repls saving process

ChezTacoz (296)

@ironblockhd I am already aware of this plz read my previous response to @AmeliaBlackwell

lightningrock (53)

? how is common better than super rare?

KimiTian08 (10)

@lightningrock prob cuz blobfish is kinda weird and ugly
also crab is delicious

DynamicSquid (3228)

@KimiTian08 I can confirm, crab is delicious

dillonjoshua68 (70)

Logically thinking, what’s the other users said is correct... despite the fact that it’s super rare, people would wanna go for better taste, etc... according to their preferences @lightningrock

TAL0S (5)

hehe its me arkanic
try using a .env file for the bin key

BobTheTomatoPie (1066)

I made it to level 60, is that good?

DynamicSquid (3228)

@BobTheTomatoPie that's like saying: "I'm the first person to go to Mars, is that good?"

CatsAreCool21 (0)

I can't sign up I enter in an account name and it just breaks on me
what can I do to fix this?

PythonCoderToad (1)

it is still freezes when you try to sign up.

Peyt (0)

i cant sign up for this game it just freezes after i enter my sign up username

Peyt (0)

this is broken

DSAMaximilian (9)

ssssaaaammmmmeeeeeeee

parth800 (1)

it keeps on asking me to sign up

KenKimura (0)

can you fix the error

KenKimura (0)

DynamicSquid how did you get past the sign in part

plutonull (0)

accounts = saved not accounts = saved["accounts"]
thats the fix for the sign in crashing

AmeliaBlackwell (1053)

@plutonull it's not, the error is due to the database. the dictionary stored in there has multiple keys, "accounts" as well as "hiscorers" and "endgame" so saved["accounts"] is needed to access the "accounts" value unless the info in the json bin has been changed.

plutonull (0)

would you like to log in or sign up?
sign up
enter username
ilikeleaves
Traceback (most recent call last):
File "main.py", line 1390, in <module>
player = log_in()
File "main.py", line 172, in log_in
player = create_account()
File "main.py", line 130, in create_account
accounts = saved["accounts"]
KeyError: 'accounts'

it takes forever for the error to pop up

athenaluo (34)

It's starting to freeze when I try to log in

tcscerncarnow (3)

This game doesn't work it it freezes on username part

LeoSekour (6)

maybe set up a donation link, im sure people would like to help fund more requests!

Kaotic (0)

It is broken, when i put in my username it kept on asking me for it.

neronesh (20)

You may want to fix the registration part. You can use JSON to make the registration and login easier. If not that, you can enter the link and you can see a login system. https://repl.it/@neronesh/Login#main.py

NoelB33 (314)

That’s a python dictionary, not json, and files don’t persist on repl.it. @neronesh

AwesomeArnav (0)

same thing , u got to fix it

KimiTian08 (10)

I think a way to fix this error would to be to add a variable to the jsonbin api that counted the daily number of requests, and if the requests go beyond a certain number, print that the max daily limit of signups was reached @AmeliaBlackwell

KimiTian08 (10)

also im no good at programming so its just a wild guess