1. FISHERY
  2. News

FISHERY News

development update #19

Hello everyone,

It has been a rather intense week and we have been focused solidly on one thing. The plumbing system. Because of this there is no update to the build this week but we can provide you with more info about this feature and show some progress.



Players are frequently asking for filters, gas regulators, power supplies and other utilities to be added to the game. We more or less always wanted to have such items in the game from the beginning but we were hesitant to do so because adding bulky filters and other similar items to a nicely designed aquarium made things look a bit ugly. We do however like the technical aspects of creating the right balance of filtration, c02 and oxygen regulation and temperature controls and more.

The tricky part is putting together these two different game ideas. On the one hand there is the placement of decorations and plants to create a nice habitat for the animals that also looks nice. On the other hand is the utilitarian task of putting in place all the machinery to support this creation. These two concepts cant really exist in the exact same space without stepping over each other. Of course in real life there are perfectly fine aquariums with smallish filters and other devices inside the tank doing their jobs but our vision for fishery is to take things much much further.

The solution that has been discussed in previous blog posts is to have what is called a "Plumbed Aquarium". If you search for that term in a search engine and look at the all pictures you will see that it is a real thing and holds a lot of potential for interesting gameplay mechanics.

In the example you can see we are just joining up a pipe. What this is doing is connecting the pipe that is bringing the water out of the aquarium to the pipe that puts it back into the aquarium. Not very exciting but imagine adding all kinds of devices in between these pipes such as filters and gas regulators and lots of other things that can alter the water chemistry in interesting ways.

Each aquarium will have a plumbing area equal to it's width and depth dimensions. This means that smaller aquariums have a smaller plumbing area than larger ones. This will work as a sort of built-in difficulty factor. The water chemistry is easier to control in a smaller tank because there is just less water to deal with. Small, less powerful devices can easily change the conditions inside a small aquarium but larger aquariums need larger/more powerful devices to make changes to it.

As players become more skilled and experienced they will be able to handle creating and maintaining the plumbing for larger aquariums. In the beginning of the game players will only be able to access the small aquariums until they have made enough progress to unlock the larger ones. However we cannot talk about that until we have some of the career system in place which we will be working on next week.



Here is a picture showing the debug info. Each green ball represents a correct connection made between two plumbing objects. Each plumbing object has an input connector and an output connector. Water enters the object via the input connector, it is then modified, e.g oxygen is added to it and then it leaves this object via the output connector. In this case water is passed from pipe segment to pipe segment without being modified.

You can also see some little coloured lines attached to each pipe segment. These represent the orientation of each pipe. There is a bit of tricky maths happening to get these objects to properly line up and then allow for them to be rotated by the player. furthermore there is some logic that prevents the player from accidentally attaching an output connector to another output connector or an input connector to another input connector. We want players to freely express their ideas without worrying about making technical mistakes like this.

Our next steps are to add logic that detects when an object goes outside the plumbing area or intersects with existing plumbing objects. There will also be some logic that figures out if the water actually makes it's way from the water intake pipe to the water output pipe. Much like an electrical circuit it actually has to all be connected to work.
There are a lot of less interesting bits of code to write and then of course there is the UI. Players will be able to see the current state of the water chemistry and clearly see how each plumbing object modifies the water at every step. This will allow players to finely tune their ecosystem to remain stable and balanced.

Next week we will be working on the plumbing system and the career system. There may or may not be an update to the build but there surely will be a post showing what we have been working on.

The Fishery Team

development update #18

Hello everyone,

This was the first proper week back after vacation and we have a new build to upload. Unfortunately due to a small scheduling problem the build may not be online this evening but it will certainly be uploaded within the next 24 hours.

This release includes quite a few tweaks and bug fixes that were worked on this week and over Christmas. A more detailed breakdown can be found at the bottom of the post.



A lot of the work this week went into cleaning up some ui features. Specifically how we deal with lists of things. It is really quite uninteresting but essential for aiding in the organisation of an aquarium. In previous versions players could only see lists for plants and fish but now everything that the player has created will show up in one of these lists.

It can be useful if someone accidentally moves a rock inside another rock and cannot find or select it. Quite often there are lots of plants and decorations placed in an aquarium which cover up pieces of food or fertiliser that have sank to the bottom of the tank. This will make them hard to see or select but now players can just view all the food or fertiliser and select it from it's list.

The reason we chose to add this now was because the new career mode uses a lot of lists to display qualifications, courses, jobs, mails etc and we needed a better performing and more robust solution for creating ui lists. So it was written from scratch with that in mind and now they work must better than before.

There will be more on the progress with career mode and the plumbing system next week.

If any of you read last week's blog post you will remember that the fish ai was not functioning properly. Essentially the problem was that social fish would not execute the flocking behaviour unless they really really really needed to. Which meant most of the time they were not flocking.

The problem was tracked down to one line of code which checked for conditions to exit the flocking behaviour once inside it. It would check that the social need was above the minimum value and if that was so it would exit to another state like wander or idle. This meant that a fish would enter the flocking state when it's social need was e.g 100 and then the next frame it would exit because it's social need was above the minimum which was 10. This was not ideal behaviour at all and most likely a mistake made while tired. Social fish should just decide to flock when they feel like it so these conditions were relaxed and the way that the social need was calculated has been changed. Now if the fish detects more than itself in it's flocking group then it's social satisfaction is increased.



One simple way to help debug fish ai is to attach some text to each fish that displays the current ai behaviour that it is executing. In the above image it might look a little overwhelming but we get used to it and testing aquariums full of fish really helps us to debug all the behaviour. This will become more and more important as we add more complex behaviours in the future. For instance when a single fish becomes scared and panics we want the behaviour to propagate to surrounding fish.
Think of it as an emotional chain reaction. One fish gets scared and the fish closest to it also get scared and then fish near to them get scared. It is sort of like a stampede effect.

The scale of the fish in relation to each other has been tweaked to match real world scales a little better. A keen eyed player noticed that the scale was way off after we added the Betta fish. This was due to a a bug where the minimum scale of each fish was overridden to be quite small and we had also neglected the correct scaling of all the fish as we have added new ones. We will be paying more attention to this as we make more progress and it becomes more important as we update each species with genders because quite often male and female fish of the same species are different in size so there are multiple levels of scale that need to be correct.

Well that is it for this week. Time for a little weekend rest and then back to work improving everything.

The Fishery Team

// -------------------------

Release Notes:
- (code) fish food and medicine share more of the same code.
- (code)"CreationType" variable now makes things less tedious when something is created.
- (code+ui) more lists of things have been created to allow for more visual feedback of aquaruim contents
- (bugfix) double clicking over a ui no long causes the camera to frame in on an object that is behind the ui
- (tweak) ripples are generated when a object floats on the surface and when a fish breaks through the surface while swimming
- (code) plants now have more varied needs values based on their size. e.g small plants consume less nutrients and c02 than larger ones
- (code) interaction manager has been cleaned up
- (code) all living things share similar code in regards to their status
- (bugfix) conditions for fish to enter the flock behaviour are more relaxed and increases the chances of flocking even when they are not in desperate need to socialise
- (code) the way that social needs for fish are calculated has been modified to make more sense.
- (code) input manager has been simplified
- (code) old objective system has been removed to make way for the new one
- (bugfix) stick object now has better random rotations
- (bugfix) tablets, fertiliser and medicine now save and load properly
- (tweak) ranged needs test if their input values are equal to the upper and lower limits not just within
- (tweak) the size of all the fish relative to each other has been changed to reflect the real world better. Though it is still not perfect and will be changed more
- (code) rewrite of the save system. Code is now cleaner and been reduced by 50%.

development update #17

Hello and happy new year to everyone,

This post will be a bit short but there are more pictures to look at than last week so hopefully that makes up for it. There is no update to the build this week but for sure there will be one next week.

Not everyone is back from holiday so it was just me sitting at the computer and typing for the past two days. I spent today and yesterday fixing lots of little things. Mostly code related. I am always looking for ways to simplify game logic. Every so often I leave myself little notes in the code when I see something that can be simplified or rewritten in the future. I fixed quite a few of these little tasks and it feels really good indeed.



One of these tasks was to add back water ripples to objects that are floating on the surface. This also works for fish now. When a fish swims up to the surface it will cause a ripple. If it pokes it's head out of the water entirely then there will be a little splash. Very small detail but it adds to the magic.



I have also added some more lists in the inspect mode ui. These show all the food and medicine that is present in the aquarium. There will be more lists added as time goes on so players can have full knowledge of all that is in their aquarium. This will help to select things that might be accidentally hidden inside another object or obscured behind thick vegetation.



Here is the latest from the work being done on the plumbing system. It wont be visible like this in the actual game but it serves as a visualiser for us so we can make sure all the numbers are correct. This system is grid based, objects will snap together cleanly so connecting up pipes and devices is simple and not tedious. If any of you have played the game "Besiege" it is similar to how their mechanisms are constructed. There will be lots of progress made with this system this month.

There is not much to show for the career system. Most of the work done for it has been on paper and we have played around with UI design ideas. There has been a little code written too. It is quite different that other parts of the game because it operates similar to some business software. In the way that the player accepts jobs via a sort of website and corresponds with clients and storyline characters. It feels work to work on but so exciting to see it coming together.

I have also been spending far too much time on youtube watching let's plays of games. Specifically the parts of games where it shows the in-game tutorial. I am not sure that there is even a fun way to teach players how to play a game in this fashion without becoming boring. Even when I play a game for the first time I always skip the tutorial and then after ten minutes I go back and do the tutorial because I understand nothing. I hope it is not just me that does this. Stealing Taking inspiration from other games in this fashion is incredibly helpful. It serves to help us figure out what does not work well. Fishery will be a game with a lot of things to learn and it is going to be a challenge to teach players all they need to know without becoming boring. Watching how other games do it is a good way to quickly figure out how things should not be done. Once we eliminate most of the bad ideas what is left should be quite good. It also allows us to try and innovate in this area if possible.

I also managed to break the fish flocking some time this afternoon so I must fix that asap. I am sure it is just one weird line of code that did it. Thank goodness we are not uploading a new build this evening.

Well I hope you are all feeling relaxed and optimistic for the year ahead. I better get back and fix the damage I did to the flocking system.

The Fishery Team

development update #16

Hello everyone,

We hope you have had a very nice and festive time so far. We have been planning lots and lots of work that we will be doing for all of January's updates and we have been enjoying a few mince pies.

As we have said in previous posts there is no game update this week but we will be talking about a very important feature which will serve as the backbone of the game. Also note that all the names and terminology used is just for illustration purposes and the diagrams are just to try and help explain things a bit more visually in some places because there is a lot of text.



Career mode:
It may not actually be called "Career Mode" in the game but using this term is the simplest way to explain this set of features.
In it's simplest form career mode is the "things to do" in fishery. Think of it as the system that deals with objectives/missions/jobs and allows players to make progress. Progress in this mode comes in the form of unlocking more items to use in your aquariums such as fish, plants, decorations and more aquariums etc. While at the same time levelling up your experience so you can take on more complex objectives and earn money.

"Aquarium School"
Players will start off career mode as if it is their first day in "aquarium school". After the annoying but necessary tutorials about how to move the camera and select objects, players will be given a set of assignments which introduce them to the fundamentals of the game's systems. What is Oxygen? How does it affect the aquarium? Can there be too much or too little of it? This information will be taught to the player through a set of assignments.

An example of one of these assignments would be that the player must raise the oxygen level in an aquarium so it can support a few fish. It will also explain how players can tell if fish are unhappy with the oxygen level and give tips to achieve a good balance of oxygen creation and consumption.

Once the player has a basic understanding of the core systems in the game they can then access the more complex assignments that teach them more complex and specific features of the game which will allow them to acquire"Qualifications".



"Qualifications"
In real life people cannot operate a vehicle, perform heart surgery or imprison someone without owning a piece of paper that says they are allowed to do so. It will be the same in Fishery. Players will unlock new fish, plants, decorations and more after they acquire qualifications specific to those items.

There will be a lot of qualifications and players can choose which qualifications they want to acquire. Some players may only be interested in breeding fish. Therefore they would need to start by acquiring the "Beginner fish breeding qualification" which could consist of a set of assignments such as:

- create a small freshwater aquarium and decorate it with rocks, bog-wood and small grassy plants.
- maintain an oxygen level of "medium high".
- feed your fish with high quality fish food until their diet status is "superb"
- create an nice area for where your fish will lay their eggs. (this depends on the species, some lay eggs on the floor, others create a bubble nest, other methods are...classified)
- increase the temperature to allow for better egg incubation.
- separate the baby fish from parents to prevent them being eaten. (some fish do this but not all)
- raise the hatched babies to be juveniles.

After all these tasks have been completed successfully the player then acquire the chosen qualification and they will unlock more items and receive money. There will also be scenarios where the aquarium is already set up and players need to modify it in order to pass their qualification exam.

Players can then choose to go onto the next level of qualification in that subject which might be "Intermediate fish breeding qualification" which can be accessed only if the previous qualifications of that subject have been acquired.

Some of the more advanced qualifications may require other qualifications not directly related to the one players are trying to access. For instance there might be an "advanced fish breeding qualification" that requires "Intermediate Botany" or "beginner fish care"
There will be lots of qualifications that cover a large range of subjects like fish health, plant care, decorating, habitat maintenance, plumbing, automation using machines, algae control, waste management, breeding, aquarium specialisation and many more.

All the qualifications will be displayed in a nice window so players can keep track of it all and it will be very clear what each qualification unlocks. There will also be a sort of encyclopedia that gets updated with all the important information about a qualification after it is acquired so players only need to do a bit of reading instead of re-doing the assignments if they have forgotten some of the knowledge.

"Job Portal"
Just like in real life when people complete a degree at university or an apprenticeship they are then able to find work based on that qualification. The same is true for Fishery. When players have qualifications they can then seek and accept jobs from the "Job Portal". The job portal is the in-game version of a freelance job website. Players can browse and accept jobs they are qualified for in exchange for unlocking new items and money to buy them.

For instance if a player has the "Intermediate Fish Health Care" qualification they would be able to accept a job that is titled something like:
"My fish has an illness and it needs medical help". If the player accepts it, they then receive a sick fish that they must nurture back to good health. Depending on the type of illness the fish has, the time taken to cure it will vary. This might require the player to build a specialised medical aquarium fit for curing a particular illness. If the fish gets better then the job is complete and they receive money and a positive review. If the fish cannot be cured or dies then no money is received and they get a negative review. But we don't want every outcome to be the same. It might be that the person the player is doing the job for realises that their fish would have died anyway and still gives the player money and positive review.

"Storylines"
We really want to avoid a situation where every job of a certain type is more or less the same with a few changes in text so a lot of work will go into making sure there is a lot of variety in everything. There will be storylines associated with some characters in the job portal. Perhaps players do a small job very well and the client comes back with more work that is more work interesting allows players to unlock more items that are rare.
For instance if you do a job for a high-end fish seller, at first you might be asked to breed some fish that are quite simple to breed and then after several successful job completions the fish seller comes back with a very rare species of fish that needs breeding. As part of the reward for successfully completing the assignment the player unlocks this rare fish, and this may be the only way to unlock this fish.

Just as an example of a few other example job titles. "Design a tropical aquarium for a hotel lobby" "I'm going on vacation please look after my fish" "my fish wont breed, help me make my aquarium more suitable for breeding" "I have too much algae, HELP!"

Each job will come with a description, success or fail conditions, reward/payment info etc.

Hopefully this gives you all a glimpse of what we have been cooking up behind the scenes. The entire system is much larger but this should give everyone an overview of the sort of thing that is planned. It is quite enormous and we will be adding it into the game piece by piece. The first release of this system will hopefully be sometime towards the end of January. It will have some basic assignments and qualifications and we will just keep adding to it from there.

Players will of course still be able to make sandbox aquariums.

There is a lot of text for everyone to digest. Hopefully it makes sense. If some parts are confusing then write a comment and we will try to explain it better. As was said before the exact naming of things has not been decided just yet so the naming may not make much sense or seem not well thought out.

Next week's development update will most likely not include an update to the game itself but we will post more information about upcoming features we are working on.

We wish you all a very happy new year!

The Fishery Team

development update #15

Hello everyone,

This is the last update for this year (2019). The eleventh update we have done so far since the release in late September. The game has changed quite a lot since the initial version and we have ironed out a lot of the problems the game had in those versions, especially with the UI.
The biggest thing the game is missing at the moment are objectives. This will come in the form of a "career mode". Players will start with a small amount of items and money and over time objectives will need to be completed so that the player gains more knowledge of Fishery's game mechanics and systems and unlocks more things. You know, like an actual game.

This will be the highest priority feature that we will be working on next and we are aiming to release the first version of this in January 2020. At the same time we will be working on the new plumbing system which we also are aiming to add to the game in January 2020.

Over the Christmas break we will be doing a lot of planning and probably a bit of programming to get ready for it. Fishery is going to change a lot in 2020 and we thank everyone so far who is supporting our efforts. Especially those of you who have given the game a positive reviews. We know the game is missing a lot and it means a lot to us that you have a lot of faith in us to get the job done. We intend to prove that faith is not misplaced.



This week we have added a new fish. A Siamese fighting fish, also called a Betta fish, which is also our first properly gendered fish. It is a female. This is significant because we are preparing for when we have the breeding features. Quite often male and female fish are quite different in size, proportion and colour. All new fish we add will take this into account.

There are a huge variety of Betta fish. Lots of different shapes and colours. We intend to put lots of variations into the game. This particular type of Betta is meant to resemble a halfmoon Betta. We decided to make this one mostly blue because most of the fish we have at the moment are warm colours like red and orange and we do not really have much others so for the sake of colour variety we painted it blue.

The somewhat aggressive/anti-social behaviour of this fish has not been added just yet but there will be some work done on the fish AI over the holidays because it needs a few tweaks.

The in-game help has been updated with more informative text. We are working on a much better and more detailed version of the in-game help. It will fully explain the ins and outs of all the features. There will also be a detailed in-game Encyclopedia added which players will need to use to research things about fish and plants in order to complete objectives but more info on that will come soon.

Quick Release Notes:
- Added a female Betta fish
- Fixed a UI bug in the shop where the sub-category menu would stay visible after changing the game mode via a hotkey
- Update to the help text
- Update to the inspect mode rollover panel's text. More detailed data will be coming soon.
- A delete button has been added next to the manipulation buttons
- Text labels for certain buttons have been turned on again
- Added new eye textures for all the smallish fish
- The way that shadows are calculated and rendered has been changed to prevent flickering and increase quality

Remember next week there will no be a game update but there will be a news post like this one. It will serve as a sort of feature/roadmap post which will talk about what we have planned for the upcoming career mode, so be sure to remember that if you are interested.

We would like to thank you all again for the support. It has been an exhausting few months. Many more hard working months are ahead but as the game improves we feel better and better about working all the long hours. We will be checking the forums and reading messages daily over the next 2 weeks so keep asking questions and making suggestions.

The Fishery Team