What is Squillamorph?
Wishlist the game on Steam!
Join the official Squillamorph Discord: Squillamorph Discord Server
Below is the development log for Squillamorph. It is GIF heavy and it might take a while to load them all.
Hello everyone, I hope you've been enjoying the last little bit of the summer holidays, or just enjoying the last bit of August in general! I've been busy making lots of progress on Squillamorph, adding features and fixing issues.
If you missed last week's megapost, I looked back at the first year of development. If you want to see how the game has developed, you can find it here!
I've started working on the next region of the game, Reactor K. This region is home to the Kobold enemy. One of the important updates to the Kobold is the leg movement. Leg movement, or arms for the Flop Sharks, is driven by the feet, or hands. Until now, I'd used the same method the Flop Sharks use for their arms for the Kobold's legs. As you can imagine, this doesn't look right because the legs will 'grip' things above the Kobold. Now though, the Kobold prioritises grip positions below the hips and will only go above them if necessary. I've also improved the feet syncing method to get them to try and move one after the other. I'll admit the leg movement is still not perfect but it looks much better than it did.
As for the new region, you can see the current colour palette I'm using for it in the GIF. Not set on this yet though. There's the beginnings of a new tile-set too, which I've given a scaffolding-like design. The general layout of these levels will contrast to the Flop Shark's; those levels had lots of vertical elements, whereas these will be more horizontal. The environment hazard in these levels also contrasts to the previous one. While the existing hazard is hot pipes, that kill the player on touch, the new one is cold pipes, which will slow/freeze the player on touch. I haven't implemented the effect yet but you can see the beginnings of this hazard in the GIF.
I've recently noticed a dramatic increase in the time it took me to save the project. I was seeing save times of up to 10 minutes. I became quite infuriated, especially when I found no similar issues online. What made it more irritating is that it didn't happen every time. I spent a day trying to find the source, which was more like half a day because of the amount of time wasted saving the project. I discovered that the long save only happened if I pressed play, but was none the wiser to the cause. I took a break to clear my head after a mind numbing period and just before I went back to work, something occurred to me.
I remembered that I force the editor to save two scriptable objects related to the current level data. This only happens if I had entered play-mode. For those interested, the function that lets me do this is EditorUtility.SetDirty(myScriptableObject). Thing is, I don't need this to happen unless I've changed the tile placement for a level. I thought I had made sure it only happened when I specify with a boolean, but apparently not because it happened every time. So I changed it and now it only happens when I specify. Oh boy, the save times are now glorious. It now takes only a couple of seconds to save and even when I need to forcibly save the scriptable objects it only takes a minute or so. The amount of time wasted from this is painful to think about, but at least it won't continue to happen!
You will have seen this enemy if you read through the 1 year megapost last week. For now, I am simply calling it the Spit Fly enemy. This is descriptive of its ability, which I have yet to work on. Everything else is setup though. Interestingly, this is the first enemy that I've created the sprites and animations for. I think I've managed to maintain the visual style of the Kobold and Flop Sharks. Connor did make some Concept art for them early this year, which made the process slightly faster. I've recently finished getting its infest mode working and being able to fly around is a bunch of fun! I also find it really satisfying just to watch them flying around the test level. I think this might be my favourite enemy so far!
Working on this enemy revealed a problem that has been in the game since I added the Flopalodon boss. I found out that the air tiles weren't updating properly for the pathfinder system. As I've described before, my pathfinding system works with a flowmap-like method. I have two 'maps' setup; one for ground based enemies, and one for air based enemies. This meant the issue didn't affect ground based enemies. However, it did affect the Flopalodon boss, which has to use the air map due to its size. I'd been having a bug that caused it to get stuck in a corner of its level. Seeing the behaviour of the Spit Fly made me realise the issue and I've since been able to fix it. Now any air based enemies are free to fly wherever they like!
I'm the game developer for Squillamorph! I'll post here on the devlog as often as I can.
I'm currently looking at an Early Access release very soon. Stay tuned for updates!