Introduction
As of July 6th, 2026 the game is very much in it's infancy. At the moment a list of basic features have been implemented. I will go over some of the features and give my thoughts about them in their current state.
Why version 1.5?
I've decided to call this version 1.5 is because the original version of the game had all of the server side handled using Flask and Python. I think its fitting to give a higher version number as the Server API was rewritten from the ground up by me. However as consequence I currently lack a few features from the original build of the game. which is partly due to the fact that I decided to build my own Server API (As explained on the initial post
Tiles
The user is able to purchase tiles and add eggs to tiles that they have purchased. The color of the tile depends on the user who owns the tile (unowned tiles have the blueish color). The player is able to see what fish are on a tile (enemy's or their own). At the moment purchasing is actually not functional as I am still porting a few features from the original Flask / Python build of the game
The Tile Map
Gif showing the tile map.
Currently the tile map is being rendered as a 3D WebGL scene as a series of squares. The user is able to select tiles by positioning the tile in the center of the viewport. When a tile collides with the ray positioned in the center it sends a request to the server for the data on the particular tile. (This was tricky to get working but I figured it out haha). Originally I planned to have it so the raycast is controlled by the mouse's position within the canvas element, however this proved to be tricky and something I will have to return to later. The map currently consists of an 8 x 8 tile grid (64 tiles in total) in which users can buy land for. The board size is very much a placeholder if I ever get to releasing the game it will be much larger but this was mainly to get stuff working for the basic gameplay loop. The color of the tile is determined by the player's color, which is chosen randomly on account creation. This is discussed farther in the profile section.
Tile Manager
Gif showing how the tile manager works.
The tile manager currently is in a pretty basic state, you are able to purchase eggs to raise on a tile. Currently I am yet to properly implement the money system so at the moment all of the eggs are free. Each egg takes a certain amount of time to hatch, which when hatched will result in a fish with a few random stats (This is discussed more later). Other tiles that a user owns can be accessed using a dropdown menu (I need to make it look better but this is still a alpha build so that isn't my priority.) I hope to in the future have a display on the side that shows the tile and the fish you have on it swimming around in it, but I still need to learn more about WebGL first. You're also able to check each fish's stats by hovering over their "bio". I am quite happy with how this feature has shaped out!
Fish
Currently there exists 5 main fish types each with a specialized stat which they are best in. Of course these numbers are not intended to be the final values and will be adjusted later on, these are mostly just test values. The fish's stats can be seen by hovering over them while looking in your fish inventory or managing one of your tiles
| Fish Type | Attack | Defense | Health | Cost | Intended Purpose | |
|---|---|---|---|---|---|---|
| Salmon | [10, 50] | [5,10] | [100, 250] | 100 | Intended as a low cost basic troop | |
| Cod | [20, 60] | [10,15] | [90, 200] | 200 | Intended as a slightly stronger troop | |
| Bass | [30, 50] | [20,35] | [120, 260] | 300 | Intended as a weaker more tanky troop | |
| Gar | [50, 80] | [5,10] | [100, 190] | 400 | Intended as a low health but high attack troop | |
| Tuna | [40, 70] | [20,25] | [250, 270] | 500 | Intended as a stronger tank troop | |
Eggs
Realizing it took a month to re-add the egg timers.
The less exciting feature but integral to the game is the fish eggs. Currently each fish has it's own fish egg associated with it (naturally) and each fish has a hatch time. As you may notice the fish and eggs are using the same icon, This is done so it's easier for me to determine if the right image is being applied when loading the display (So yes these are placeholders). The idea behind the egg sprites is that the fish next to the icon gives more clarity as to what fish they will hatch into. (As most fish eggs just look like colored spheres). You can probably also see that the Tuna currently has not egg sprite and instead uses a 404 error sprite. This is a feature of my custom web framework which if a specific image cannot be found it will send over the 404 texture to more clearly indicate that the image was not able to be found.
| Fish Type | Hatch Time | Sprite | |
|---|---|---|---|
| Salmon | 1000 sec | ![]() | |
| Cod | 2000 sec | ![]() | |
| Bass | 3000 sec | ![]() | |
| Gar | 4000 sec | ![]() | |
| Tuna | 5000 sec | Currently has no sprite | |
Profiles
The barren user profile.
Currently the user profiles are very basic, as it mainly just displays a few stats, your tile color, and presents the logout button. Im not entirely sure what I plan to add to this part of the game at the moment, it's something I plan to figure out as I go. I believe adding features to the profile section will be much easier once more features are in place. I am debating whether or not a user should be able to reset their color. I can see how it could potentially cause problems if 2 users used the same color it would be hard to distinguish them, but at the same time I'm not sure if I will keep color as the main distinction I feel like there possibly better ways to do so.
One thing I am debating is whether or not I should implement a account recovery service (where you input your email so you can request password changes and stuff). I don't want to potentially compromise people's emails for a silly game like this but at the same time I can understand how frustrating it would be for people to get locked out of their accounts. I can also see there being issues where a person creates a bunch of accounts to ruin the game for others as there would be no way for me to confirm that a user has created an account before. This is however a later me problem, I will deal with it when I have more of the game complete
Final Thoughts
I am both excited and overwhelmed by the prospects of this project, but it feels to me something that is relatively possible for me to accomplish. I've learned a lot over the past couple of months about how HTTP works, how client and servers operate, how websites communicate with servers, etc. I also have enjoyed the process of learning all of it, I just don't want this project to end up as a failure or I give up half way through. I don't expect this to be my greatest work ever or even a last project, just something to kind of keep my programming mind working. Its hard work but I enjoy the process! I hope that before the end of the summer I do at least get around to implementing basic combat, as that is something I have procrastinated on for a while now. I still need to figure out the Cryptography method I will use for the server as well, but I plan to figure that out later on.
Thank you for taking your time to read this! I am yet to figure out how to implement a comment section on here so I do apologize for that, (maybe one day haha) but I hope you found this at some capacity interesting or inspiring. I am very much excited to share the proccess of making this game and hope for you all to join me along the way!



