1. FISHERY
  2. News
  3. development update #22

development update #22

Hello everyone,

This post is being written earlier in the day than usual because we are on such a role this week with adding features and functionality that we want to spend as much time as possible making more progress before the weekend, although we will probably find some time to get work done on the weekend too. So this might be a little shorter than usual but its due to our excitement for making things better. We did say that we would show some more designs for filters and other devices this week but we just got carried away with improving the plumbing functionality. That is also the reason we have no new build this week, everything is in various states of being finished and tested and it would not be wise to release it just yet.

Here is a quick rundown of some of the things we added so far this week.

Plumbing area bounds:


There is now a proper graphical representation of the plumbing area which is beneath an aquarium. The graphics are not final of course and the background environment has not been made yet but it is coming together. Players will never actually see it like this in game. The plumbing area is only visible when actually modifying the plumbing system.

Out of bounds testing:


Objects placed outside the plumbing area will become invalid and stop working. The whole point of this is to encourage creative problem solving. Fitting things into a small-ish space that has to function is always interesting. Of course with larger aquariums there is more space so the challenge varies depending on the chosen aquarium's size and the players idea for what is actually in the aquarium.

Water flow overlay:


It is important that players can actually see the direction that water flows through their plumbing system. For example if a filter needs maintenance or runs out of power it needs to be very easy to see exactly where the water flow is obstructed. The overlay can be turned off. This is the first of many helpful diagnostic features will be added in the plumbing system and in the aquarium itself that will help display important information quickly and simply.


Collision testing:


Objects that are placed either partially or fully inside another object will cause them to become invalid and stop functioning. This will make it easier and faster to identify where players have accidentally moved an object into another object.


Camera framing:
When switching between the plumbing mode and an aquarium mode the camera will quickly and automatically orient itself accordingly. It is a small detail but important to prevent tedious camera movements from players. When hitting the reset camera button it will automatically reset to frame either the aquarium or plumbing area depending on the current mode.

Saving and loading:
We also started adding functionality for saving and loading plumbing objects. The data is quite similar to all other object data in the game with a few differences in how it is interpreted. The position and rotation data goes through a small process to ensure it stays precisely in a 3d grid for instance.

Manipulation:
The input and output pipes can be moved but constrained to the ceiling of the plumbing are. This is done automatically so the player does not need to worry about keeping them in the correct position.

Bug fixes and robustness.
The usual small bug fixes and code tweaks have been done to prevent instability. A lot of time goes into making sure that certain operations happen in a very specific order.

Alerts:
The 2nd version of the alert system is coming together and that is what is making some of the test pipes in the above images go red. Some objects can have more than one reason to alert the player to some problem. For example a pipe could be out of the plumbing bounds and be out of power. A similar thing will happen with plants and fish but players can turn on or off the diagnostic overlay so plants and fish dont turn red unless players want to quickly see what has problems.


The next set of features and functionality that we start working on today are related to actually modifying the water chemistry and making the user interfaces that allow players to see exactly what each plumbing object does to the water. There is a lot of data that needs to be displayed to players so they can make tweak the ecological parameters to perfection.

A lot of work also needs to go into freezing the simulation in the aquarium and sending a snapshot of that data to the plumbing system when players switch to plumbing mode. This is done so players can experiment and tweak their plumbing without worrying that the aquarium above is descending into chaos.
It is not just as simple as telling everything to pause updating because we need things like the physics system to continue updating in the plumbing area, why?, because we piggyback off the physics system to detect connection points between pipes and other objects and collision detection for when a player might move an object inside another. It is a little complicated to say the least.

The Fishery Team