This is a pretty large update. It covers Base Building upgrades and the Pets framework.
Base Building v1
This is pretty much working. Rather than explaining every little feature or what went into this endeavor, here instead is a youtube video that summarizes everything:
Misc updates related to the above
Mouse hovering now has custom functionality, which is why you're able to get entire squares or circles when hovering over tiles. Should be pretty useful for the upcoming combat update as well.
There's a framework in place now for mouse scrolling events -- in the video I'm scrolling up or down to change the size of shapes.
The second part of this update. I'm not done with the Bases project yet, but decided to start working on the Pets update nonetheless.
Fish are extracted for Roe rather than Spawn. This is a way less ambiguous name, courtesy of a random chiarizio post.
There's a domestication research package, and it unlocks all of the features seen in the Pets Framework update. It will also unlock animal eggs or fish roe, if not already unlocked via the farming research package.
The domestication package unlocks the Incubator, Cyborg Station, Stable and Tank fixtures.
The Incubator lets you hatch eggs or roe into mount or scout animals respectively. The number indicated in parentheses is the amount of Base Fuel it takes to hatch them, which can sometimes be unreasonably expensive.
The Cyborg Station lets you turn scout or mount animals into Cyborg versions of themselves, or turn Cyborgs back into the original version.
Both processes cost Base Metal, the amount of which is indicated in parentheses.
You can add more base metal from this menu -- it's identical in function to the metal required to create batteries at the battery station. Essentially, regular metals add (1) base metal and precious metals add (5) base metal.
Cyborg mounts are called "Metallic"/"Robotic"/etc, while Cyborg scouts are called "Digging"/"Burrowing" etc. The point of the latter change is to help remind the player that Cyborg scouts don't have to be summoned in water.
This will load a table that lets you see all the Pets in your inventory, their type, and a button to summon them in the world.
The number in parentheses is the Mana cost to summon them. I haven't worked out the final mana cost of anything, but I do know you won't be able to summon most Pets when you first start out.
When summoned, those items disappear from your inventory/pets menu, and entities get created in the world. Their symbol colors match their item color so they're more distinguishable.
Scouts must be summoned in water, while Mounts cannot be summoned in water.
Regular pets can't be summoned in Caves or Dungeons, while Cyborgs can. However, Cyborgs can't be summoned in the overworld while regular pets can.
Cyborg scouts don't have to be summoned in water. This is why they're given "burrowing"/"digging"/etc names, because at the end of the day they're still fish, they just swim in rock rather than water.
Interacting with a Pet will bring up a menu that tells you their name and gives a button to unsummon them. Unsummoning them costs nothing and does what you'd expect.
The Pets menu also has a button, which goes to the Pet Locator menu.
From here you can see where all of your summoned Pets actually are. If you're in the same dimension, world type, world floor as them, you get a button to locate them directly -- this will show you the direction and how many tiles away it is.
I have added a very basic Wiki framework, which has clickable links. This is currently in use in the Cyborg Station if you have no pets in your inventory. Over time it'll be added pretty much everywhere to aid in overall UX.
I added a keyboard shortcut to hotfix the last hotfixed file. Not really important to the base game but will speed up game development a decent amount on state-driven features (like anything that requires Bases).
The framework for menus has changed -- they're no longer capable of duplicating, and the menus that exist get stored so the Saving feature gives you all the menus you had when saving. Again, doesn't affect much other than fixing bugs and making things work like how you'd expect them to.
I now have enough framework in place to display this update post on shatterloop.com . In time all the update posts will be displayed there and indexed. Future ones definitely will be (so they're linkable) regardless.
State of the Project
I probably have one or maybe two updates left to the Bases project, and probably around 3-4 to the Pets project. I'll continue working on these and maybe the Civilization project here and there (as well as the rapidly growing Loose Ends project), but I'm going to hold off on the Combat and Procgen Recipes projects until after I finish Bases and Pets since it'll probably be pretty time-consuming.
Work has slowed a good bit since I have a full-time job and also other obligations, but I've been hitting at least an hour of work per workday, and 4+ per day on weekends where I'm home, so the project will be done eventually.