Back to work on F!shing this week! I’m not putting out a new release yet, but things are coming along nicely. I’m finally taking some things off the to-do list that have been lurking around for months. 🙂
Firstly, I’m removing the online requirement for the Lake of the Day. Previously, I’ve had a server running on OpenShift, which returns the seed used to generate the day’s lake. In order to prevent people from cheating, I was going to force people to be using the same seed. Eventually I’ve decided it’s not worth it – as all it does is produce a seed from the current day’s timestamp, I can just do that locally. This also avoids the problem where OpenShift was shutting the F!shing server down because it was inactive, and would then take a while to turn it back on when the seed was requested – if you’ve had a long wait sometimes before the level loads, this is why. So, it’s all very quick and done locally now.
There is still the issue that people running different versions will be playing on different lakes and in different game modes despite using the same seed. I’ve not yet decided on a solution for this yet. Probably the game will check for updates on launch, and refuse to submit scores if you’re playing an older version, but still allow you to play. This would also mean I’d have a way of letting people know when there are new things. 🙂
Secondly, I’ve gone through and attempted to optimise some of the code. I apparently didn’t understand Java very well when I began, and so the physics/collision code was creating new objects all over the place, dozens of times every frame. That’s all cleaned-up now, as well as some other places. It’s still not really playable on my old low-spec phone, so hopefully there’s more I can do, but this is a good start, and it’s giving me some practice with code profiling.
Thirdly, an actual game feature! Hooray! 😉 I’ve just today started implementing pearl-fishing. Lakes can now have a number of clams (early artwork is above), which open and close over time. If you’re quick, you can catch a valuable pearl while they’re open! They’re not balanced at all yet, and they need some audio, but I think they’ll be a fun addition. I’m already thinking of adding a game mode where there are only clams, and they all have really short timers.
Other than that, random little things.
- Stopped buttons being chopped-off on the submit-score screen
- Added achievement pop-ups on desktops, finally!
- Made it actually possible to select a controller other than the bottom one, when navigating menus with a keyboard or gamepad.
- Made the volume sliders indicate when one is selected with the keyboard or a gamepad.
- Added a ‘skip’ button to the fish-tank screen, and (hopefully) prevented button-mashing from accidentally skipping through all the menus at the end of a game.
- Made inactive analogue sticks on a gamepad interfere less with the one you’re using.