1. FISHERY
  2. News

FISHERY News

development update #27

Hello everyone,

It has been a very good and productive week and we are happy to say that a new build has already been uploaded.

Now that we are not 100% focused on just getting the plumbing system in the game we have been able to focus on lots of things that have been irritating to us and players over the past few weeks. But we did make a few small additions to the plumbing system too.



We added the first "Nutrient Injector". It adds nutrients into the water via the plumbing system. This means players will not need to rely on adding dissolvable fertilizer balls into the water periodically. Hopefully this will ease everyone's stress. We intend to add lots of these kinds of plumbing devices over time. Each device will do one thing. There will be different versions of each device. For instance this nutrient injector is quite small but perfect for small aquariums. Larger aquariums might require adding more than one in order to add enough nutrients to the water. This is of course fine but it would also make sense to make larger nutrient injectors that can add much more nutrients into the water so things are less tedious.

Power generator:


Heater:


Filter:


We also added the first versions of particle effects and animations to the existing plumbing objects. These will also improve over time, they will get dirty and show signs of wear over time. We really want the plumbing system to feel like a mechanical digestive system. Lots of different devices doing different things but working together to support the ecosystem above it.


Fish selection UI:


Now that we are not focusing 100% of plumbing we really want to knock a few things off the to-do list. This brings us to the UI. There is still a lot of confusion as to why a plant or fish might die. This is because the needs of these organisms are not properly communicated to players via UI. Hopefully this first set of ui changes help.

Water chemistry UI:


Plant item, shop UI:


These UIs have gone through many iterations in six months but each change gets us closer to what works well and helps us make better choices when programming the internals of the simulation. Quite often if the data is too complicated to display to players in a coherent manner then the system is probably overly complicated or missing something important. As time goes on we change it over and over and eventually end up with something that with hindsight is totally simple and obvious but we are not there yet.

We also spent more time finding and fixing bugs. We found a few rather ugly bugs at the beginning of the week and patched them out of the game.

Next week is going to be very interesting. We have another long list of things that we hope to get into the game so stay tuned.


The Fishery Team

Bug Fix Patch #2

Hello everyone,

We found a few serious bugs and some not so serious bugs. We have just uploaded an bugfix update. Here is a quick run-down of what we fixed.

- Game hanging/crashing at the "recreating world" section of the loading screen. We thought perhaps this was due to something in a saved game file that the load system did not like. But after closer investigation it seems it was due to some pieces of game code being executed after it was supposed to. What made it tricky to track down was that it did not always cause a problem.

- Switching to plumbing mode puts all the objects inside the aquarium to sleep. Switching back wakes them up. Sometimes physics objects that are sitting on the substrate do not calculate their collisions accurately when they are woken up. This causes them to fall through the aquarium and keep falling into infinity. This will cause major problems. A simple fix that has been put into place. Detect if these objects is below the aquarium. If so, it is teleported to a position above the aquarium and dropped back into the water.

- deleting a saved game via the aquarium file browser crashes when there was only one file left.

- resource containers for CO2, oxygen, nutrients etc were not refreshed when a new game file was loaded or created from scratch. The values were kept from the previously loaded aquarium.

We have also been able to tweak a few UIs and add a nutrient injector into the plumbing system. These are included in this patch too but full details about them will be talked about in this coming Friday's update post.


The Fishery Team

development update #26

Hello everyone,

We are almost ready with the plumbing update. As usual before a big update we are paranoia testing everything over and over and over and over. It will most likely be uploaded sometime on Saturday. This post will be a little shorter than usual only because I need get back to testing and tweaking of the latest build.

There are still quite a few imperfections and rough edges that we are going to iron out very soon but if we don't upload a new build today then we will get stuck in the cycle of endless changes with no new build for people to play.

We made the first versions of some plumbing devices. We could not fit in all the devices we wanted in this update but they will be added very soon.

Filter:

Heater:

Power Generator:


We have not been able to add all the nice animations and special effects to these items yet. Time has kicked our butts on this update, We still have lots to do for plumbing mode and the rest of the game. There are a lot of loose ends we need to tie up and there is so much good feedback and suggestions from you all that we feel it will be a good idea to just improve the game as it currently is for a while. This means generally making sure things just work properly.
It also means adding more art content such as fish, plants, decorations, backgrounds, substrates and plumbing devices. We also need to make lots of improvements to the user interfaces by showing better data to players so there is less confusion.

The help system needs improvements, the fish ai needs more behaviours as well and improvements to existing behaviours. Improvements are needed everywhere. Fortunately we have lots of forum posts and comments from players directing us to what needs improving. We are going to work on that for a while and make the game better in all aspects before we get bogged down again with large new features. The to-do list is a little too long and we have to complete a large chunk of these tasks before we move onto larger things.


To the future!

We wish everyone a good weekend.

The Fishery Team

development update #25

Hello everyone,

Unfortunately we cannot make today's update to the build due to illness. I (Undercover Cheese) have been ill since last weekend with a pretty nasty cold. (No it is not Coronavirus) but even whilst on medication, the symptoms are strong enough to drive productivity way down and after testing and reviewing this week's progress with my colleague we decided that we need another week to get it ready. It is very disappointing to have to do delay this but we cannot in good conscience release this update in it's current form. I am going to take the weekend off to try to get well and then back to work Monday so we can get the update out later in the week.

The Fishery Team

development update #24

Hello everyone,

It has been an interesting week and we have made some quite important progress. This progress may at first glance appear rather underwhelming but it represents the last major coding problem that needed to be solved in order for the plumbing system to work properly and as you will read further down, it is quite important for the rest of the game.

There is no new build again this week but we promise that next week there will be a new build and it will contain the plumbing system. Then after that, weekly builds will return.



Yes, we have added the ability to pause the game. At first you might think it is not worthy of much praise since almost every game has a pause feature. However as with most things in Fishery it is not as straight forward as you might think and there are reasons we have not been able to do it until now.

For most games, but not all, pausing is achieved by making the main update code loop finish it's execution before it actually updates anything in the game. The camera can't be moved, sometimes the music stops, everything else in the game just freezes because the code to update it is never executed. This depends entirely on how the game engine is programmed of course so it does differ between engines but in the abstract this is more or less how it is done.

In Fishery it is not so simple. For photo mode players have requested the ability to pause the game but retain the ability to move the camera so they can line up the camera to get the perfect shot. We also decided that the music should continue playing whilst the game is paused.

Plumbing mode requires us to pause the simulation that is happening inside the aquarium whilst the player is tinkering with their pipes, regulators and filters. It would be extremely annoying if everything dies in the aquarium whilst the player is plumbing. We need to pause the simulation only for things that are inside the aquarium but keep everything in the plumbing area unpaused and updating correctly.

This requires us to have a few different types of pausing functionality.
- Pause everything including plumbing objects when not in plumbing mode.
- Pause everything except the plumbing objects when the player enters plumbing mode.
- Pause everything including the plumbing objects when the player wishes to pause the game from within plumbing mode.

Then of course there is the unpausing functionality that does things in reverse.
- Unpause everything including plumbing object when not in plumbing mode
- Unpause everything but pause the plumbing objects when exiting plumbing mode.
- Unpause only plumbing objects when the player wishes to unpause the game from within plumbing mode.

suddenly it all looks a bit too complicated. It is a bit complicated but these are the outcomes required for this game.

Each type of object functions in a different way. There is code specific for each object type. Fish, floatable objects like food and medicine are all moved via the physics system. Object velocity is calculated based on forces and collisions and then this velocity is used to move the object every physics frame. Stopping the entire physics system from updating would not be desirable because when the player enters plumbing mode we need the physics system to calculate inter-collisions between plumbing objects and detect if the player is trying to select an object or attach a new object to another. We put objects like fish, food and medicine to "sleep". The physics system then ignores objects that are flagged for sleep and only updates the awake objects.

There are still a few small things to polish with pausing/unpausing. We are still debating exactly how much capability players should have during a paused game. For instance when making big changes to the aquarium design or fixing problems it is probably a good idea that players can just pause things and do their modifications before things go super bad if they are in fact trying to fix a problem. The game is after all supposed to be relaxing. No doubt we will tweak things with your feedback as time goes on.

We are extremely excited to finally get this rolled out. See you all next week with the new build!

The Fishery Team