1. FISHERY
  2. News

FISHERY News

development update #35

Hello everyone,

Apologies for the delay. The game update will most likely be uploaded on Monday. We usually spend all day Friday testing the game before uploading it but we were unable to do so this time due to things going wrong that were out of our control. But we can tell you about what has changed in the update.

We spent the whole week working on bugs and quality of life improvements. The automatic error reporting feature did it's job very well indeed and helped us identify areas of the code that are not as robust as they should be. The whole week has been dedicated to fixing these and other issues.

First lets start with the most embarrassing bug we found. Pressing the up arrow key whilst something was selected would cause an error. There was a small bit of code that would execute to try to find out if the selected object was grouped under another object. But that system had been turned off a while ago and I had thought that this code was also turned off but of course it was not. Fortunately this error does not cause the whole game to crash and there were not a lot of instances of this error recorded by players. So it seems a lot of players use W,A,S,D to navigate instead of arrow keys. Which is of course why we did not find this bug until now. We don't use arrow keys either and forgot that they are enabled for navigation.

The grouping code that was disabled was supposed to be a way for players to select, move, rotate and scale multiple objects together at once. It was too fiddly and annoying to use so it was turned off. In it's place we are working on a nice and simple multi-selection system that will allow players to select multiple objects in the same way that objects are selected now. It will also allow for all objects in the selection that can be moved, rotated and scaled to be manipulated in such a fashion. The selection can also be saved so players can quickly re-select a large amount of objects with a single mouse click if needed. Multi-selection is actually quite tricky to get right but we expect to show you progress soon.



Here is the most important part of an error report. The stack trace. This tells us exactly where in the code the problem has occurred. Unfortunately there is a bug in the error reporting system itself. The 0 at the right end of every line should not be 0. They should be the line number in the code file at the exact point where the error occurs. This is a bug I cannot fix. It is up to the Unity people to get this to work properly. However we do know the exact function where the problem occurred and can therefore deduce what has gone wrong.

In this case a player has clicked on an object in an attempt to select it, but that object cannot be selected because it does not have the proper code assigned to it to be selected. This is odd because the code execution should not have gotten this far in the first place if this object could not be selected. The tricky part for us is to try and re-create the circumstances that would cause such an error. We have not been able to reproduce this. So as a temporary fix there is an extra bit of logic that detects the problem and goes around it without errors.

A few smaller, less complicated issues were fixed.
- The main UI that shows the water chemistry levels was updating twice every second instead of once a second.

- Brush creation tool would error when brushing with the treasure chest.

- Brush creation tool was placing objects at positions within it's diameter rather than within it's radius.

- Some vertices of the substrate would get caught below the minimum sculpt threshold when they should always be above it. Resulting in small areas of the substrate that would not change when sculpted.

A few more quality of life changes were added.



- The shop/inventory ui was organised a bit more. Players can toggle visibility on settings they want to modify instead of having them show all the time.



- The small ui for showing manipulator coordinate space options used to be toggled on by clicking a small arrow inside the manipulator buttons themselves. It was a bit too fiddly and sometimes requires too much precision to press. The UI now appears when a manipulator is made active.



- Water level controls have been added back into the game.


A few more tweaks and fixes might be done over the weekend. More progress has been made with the new fish swimming shader that we showed last week. More fish have been added to the incomplete list of fish that will be in the game over in the forums. Thanks to everyone who has been making suggestions. We encourage you to keep doing so. It now includes a second incomplete list consisting of non-fish animals that we are going to add to the game a bit later in development.

Hope you all have a good weekend!


The Fishery Team

bug fix patch #4

Hello everyone,

A new version of the game has been uploaded with some bug fixes.

- [Fixed] Infinite loading bug

We have more information on the bug that causes the infinite loading problem for some players. It is caused by the saved file somehow being corrupted when it was last saved. We have now put in some checks which can detect if this problem has occurred and the file will be deleted and players should not encounter any infinite loading.

This is of course only a temporary solution. To actually fix the cause of the bug we need to prevent the saved file from being corrupted in the first place. More work and research will be done this week to figure out and fix this.

There were also a few quite minor things fixed that could cause errors in the right/wrong circumstances.

We hope you all have a good start to the week!

The Fishery Team.

development update #34

Hello everyone,

It is the end of another very busy week. There is a new build but it has only a few changes to it.

There is now a main menu that will greet you when the game first loads. It is a little ugly. We are going to have fish swimming about with a nice arrangements of plants in the future.

We are getting ready to add the aquarium school feature and it will be accessed via this a main menu, as will career mode. We added the main menu now to help combat a rare bug that keeps popping up from time to time. Some players have reported incidents where the game gets stuck in the "recreating world" stage of loading.

The simplest way for us to recreate this error is to try and load the same file that is causing the problem for players. We have only ever been sent 1 such file by a player which allowed us to fix a bug. Players are of course busy or not in the mood to go searching their hardrives for files to send to us so we have found other solutions.

The new main menu serves as a workaround of the bug because players can now choose to try and load a different file instead of the automatically trying to load bad file. This wont fix the bug but allows players to avoid it until we fix it.

We have also enabled a very nice feature in the game engine that will detect a crash/error and send detailed data about this error to us for analysis.

As I am writing this a new crash report just came in which sheds light on this problem. The game crashed because it was trying to load a game file that was empty. I never encountered an error like this in all the time spent testing the game. But the world is a much larger testing lab. Even if you save a scene with only an aquarium inside it will save some data. Perhaps there was a power cut at the exact moment the game was being saved. The good news is that I should be able to fix this quite simply.



More progress has been made with fish. Above is the almost finished version of the new sunburst platy. Painting is hard for me and requires a lot of concentration. So much so that this week I have strained my neck and hurt my fingers. Next week I have to have a bit of a rest from painting and focus more on programming related tasks. No doubt There will be lots of bugs to fix now that we can have bug reports automatically sent to us. There are also lots of smaller features waiting to be tweaked and worked on.



Next week I will also continue to focus on making the next version of the fish shader. Here is a sneaky peak at our new sunburst platy flapping about in an odd manner. It looks weird because we are still putting the shader together and testing parts with exaggerated values.

At the moment all fish the animation is done by hand animating a skeleton which drives the skin. This is standard way of doing animation for games and feature films and is quite fun but it takes time.

Usually it takes 1-2 days of work depending on the complexity of the fish which is a quite reasonable amount of time. What we are doing with the new shader is using pure mathematics to animate the fish instead of animating them by hand. If we can have all animation work purely in the shader without the need to hand animate the fish that will save the 1-2 days of work but get the same or better result.

That does not sound like much time but we want to have 100+ fish in the game eventually which means this technique will save us 100-200+ days of work. It will also increase the in-game performance of fish because the data is handled on the Graphics card instead of the CPU which will enable us to have more fish on screen or the same amount of fish as now but using less power.

I am off to fix that horrible bug. I'll see if I can get a patch uploaded by monday at the very latest. I want to test it hard before victory is proclaimed. We wish you all a lovely weekend.


The Fishery Team

development update #33

Hello everyone,

It is Friday once again and we have a new build. It is more of a cleanup/quality of life update but as you will see further down we have been furiously working on lots of other more interesting things.

The code for all UI buttons types is some of the oldest code in the game. Code this old is usually made at a time when we are not 100% sure about how the game should function and there is usually a bit of over-engineering done because we assume that certain types of functionality will be needed later on. Now that things are a lot more clear, all button code has been cleaned up. The code has been vastly simplified and reduced in size. There is also less logic that must be processed in order to determine what the player is doing to the button so the correct actions can be executed. Again this not very glamorous and exciting but craftsmanship in software is important and often overlooked.

Another small UI bug fix. When in windowed mode some parts of the ui would appear in the incorrect place for one frame and then snap to their correct position on the next frame. This would happen to ui elements that appear at the position of the mouse and are activated when the mouse is over an object or another ui element such as a shop button. This was very annoying and is now fixed.

Switching to windowed mode is now simpler. Rather than players cycling through a list of window sizes they can just resize the window like any normal window.

Tiger Barb Work In Progress:


Progress has been made with painting the tiger barb fish. They are not finished just yet but I think they are going in a good direction. Special consideration has been made to keep them stylized but also feel like they are referencing the real animals as much as possible. Male Tiger barb fish have more red in their colourings than females. We exaggerate it a bit here only because we don't want to cause confusion when players need to identify the genders of their fish for breeding etc. Critique is always welcomed but do keep in mind we are still working on them.

A few other small things have been worked on that will probably make it into the game very soon. Such as small quality of life fixes like objects created with the brush are not always created inside the radius of the brush. We also are trying to get the brush to feel less clunky and clumsy.

Pausing the game will actually be possible. We added it into the game when the plumbing system was first added but there is not a separate control that players can use if they need to. We were actually going to have pause ready for the very first release but it had a bug where fish would become invisible and not become visible again unless the game was restarted. Something in the fish shader did not like what was happening so we did not add the pause feature initially. However Pausing was entirely re-engineered for the plumbing system and now works 100%.

More progress has been made with the career/campaign mode. For those who are reading about this for the first time career/campaign mode is going to be the part of the game that is actually the "game" part. You start off in aquarium school and learn the basics of how everything works in the game. Then graduate and begin a career based on qualifications attained in aquarium school.

You then interact with various characters in the game that hire you. The jobs you get might be something as simple as "Please look after my fish while im on vacation" or something more complex like "Design a self-sustaining aquarium for my rare Betta fish and keep it within a budget of $8000" or "My Cichlid has a strange disease and needs to be nurtured back to health".

As you complete jobs you gain money and unlock new fish, plants, decorations etc. This also increases your rating so you can complete more complex jobs. You could also take some of this money you earn to go back to aquarium school and gain more advanced qualifications. Most jobs in the mid-late game will require players to have certain qualifications so it is important to gain as many qualifications as possible over time.

We want each career path to be very interesting and not feel like a repetitive grind to earn some random points that unlocks more items. This means each task the player has to complete should be as unique as possible. I have played open world games where the main story missions become very repetitive and are clearly the same mission types over and over again with different character names and slightly different objectives. However the side missions were a lot more engaging and more interesting outcomes sprang from their conclusions.

We want career mode to be like a game full of interesting side missions where players are actually interested to complete the task they are given and look forward to the next one. This also means there can be plenty of secrets. An interesting series of interactions with specific characters may lead to unlocking special items.

As you can imagine this requires a lot of writing and a lot of planning but we are getting it done. Aquarium school will serve as the way we teach players how to play the game which essentially means it is the tutorial system and it will be the first part of the career mode that we add into the game. If everything goes to plan the first iteration of aquarium school will be in the game before the end of May (2020).

Be sure to check out the forums. A new post has been made and pinned that shows an incomplete list of all the fish we are planning on adding into the game. Feel free to reply to it with your suggestions, we will add them to the list and at some point add them into the game.


As usual we wish you all a great weekend.

The Fishery Team

development update #32

Hello everyone,

It has been a slightly shorter week due to the easter break and there is no update to the build this week. However some really important progress has been made with the fish.

As has been mentioned in some previous posts we have been working on improving existing fish whilst preparing to add new ones. This also includes making the male and female versions to be used later when we implement the breeding feature.

For example here is a look at the old model of the Tiger Barb that is currently in the game:



Like the other fish models it is fairly simple but works quite well. As was said before what we need are to have gendered versions of each fish. For Tiger Barbs, the differences between genders are more subtle than other species in terms of body shape. Females are overall larger and their bellies are larger as they have to accommodate lots of eggs. The other differences are in colour but we wont be showing that in this post.



Their size is set to be the same so they fit nicely in the image. The important things to notice here are that there is more definition around the head. The fish actually has gills now and overall there is more of a feeling of volume and form. Much more detail has gone into the fins so when seen in silhouette they are more distinctive. The higher polygon count and distinctive features allows us to add more detail into the animations. The lower resolution versions did not look good when the body bends during it's swimming motion because there are not enough polygons to make the bend look rounded.

It also makes painting the fish easier because we paint on top of a surface that has more definition. This actually helps it feel more three dimensional. The old version tends to feel a bit flat because there is more detail painted into the texture but it sits on top of a simple featureless model. Essentially it comes down to us wanting to improve the quality. There is nothing particularly wrong with the old versions but they can be better and it is important to make them the best that they can be.

Here is a look at the other fish we have worked on this week:

Round Tail Guppies:

Old:


New:


This is the first proper guppy type we are adding. We will slowly add the other guppy types such as fan tail, sword tail, spear tail etc but for now we will stick with the round tail type. We will be adding as many colour variations as we can over time. By the end of development there will be quite a lot of guppies.

Platy:

Old:


New:


like guppies, Platys come in many different colours and we are going to add as many if these into the game as we can because too they are quite lovely.

We are also going to add Mollys. Mollys and Platys are quite similar to each in terms of body shape but there are distinct differences and variations. Mollys will get their own distinct models and colourings.

Betta:

Old:


New:


We added the first betta fish around christmas time and players seemed to really like it. This one is a female. The male is still being worked on because it's fins are quite a lot larger. The hard part is figuring out a good way to animate them. Their fins are so large and behave like cloth. This requires a bit more problem solving to get right.

Rainbow fish:


This is a completely new fish type that we have not been shown before. It needs another few hours of modelling work and then we can starting painting.

Next week we will post a list in the forums of the fish we are going to include into the game. as well as some information on their state of readiness. We will keep adding to the list so fear not if you don't see your favourite fish on it but feel free to tell us and we will add it. We will also try and show more fish related progress every week now that the ball is rolling.


We wish you all a lovely weekend

The Fishery Team