Hey everyone, I hope you all had a good Christmas and are feeling ready for the New Year! I've actually done more with Squillamorph than I expected to and most of it is visual, yay!
I've been wanting to find a way to add more visual interest into the current tilemap without actually using more assets. We do still intend to add scenery assets. The method I've come up with is still a work in progress and I'm not going to use it if I can't get it past its current state. I use a custom distortion shader to warp everything behind a mesh that fills the level. The shader takes into account an image to control the strength of the effect at different parts of the level. If a pixel is completely green, the effect is applied at a maximum strength. If it is completely black, the effect will not be applied.
The problem this shader has at the moment is that the only thing that limits the distortion to the solid areas is the low res filter image; meaning things excluded from the distortion can still appear in the distorted area. Ideally, I would put the scenery I wanted to be affected on a different camera and then have the camera render to a texture. Then I would put the texture on a mesh in the final scene. I did try this but I couldn't get the texture resolution the right size. I will attempt it again but as it isn't a massive priority it won't be for some time. If I do fix its issues, the shader could have many uses.
A Smol Shark
I want to make a few variations of the shark to create more interesting gameplay. Nothing extreme, just slight alters to the existing shark to make gameplay more interesting. If I hadn't used a scriptable object method to assign the base stats of creatures then making a variation of the shark would have been much harder. All I had to do was duplicate the existing shark scriptable object, alter the speed and health values, and change the size and spacing of the sprites. I also altered the tint of the sprites temporarily to make it easier to differentiate the shark types. Now there is a smaller, faster, but weaker shark. I still need to test it properly but just messing around with the prototype was a lot of fun.
Making this faster shark made me realise how janky the arm movement is. I knew I would have to revisit it but I hadn't quite realised how inaccurate it was. Limb movement is driven by the appendage on the end of it, such as a foot or hand. The elbow is then moved depending on the position of the appendage and the position of the segment of creature it is attached to. To keep it short, the method I've been using to tell the appendage where to go was a total mess. So I've rearranged and altered it. Although not perfect, it is now much better at making it seem as though the Shark is using it's arms to move. Whether the same appendage will work for legs is something I'll have to discover later.
So that's it for this week! I hope you all enjoy the New Year's Eve celebrations!
The past week has been a tough one. I really wanted to get something done for the Unity 2D Challenge which meant less time for Squillamorph. I also got ill again, that helped. In short, there isn't too much to talk about again. Nevertheless, there is something. :)
I've reverted back to my heatmap method again, what a surprise! I'm doing things differently now though. Rather than pathing straight to the player. Enemies now path to one of a number of stationary points near to the player until they are close enough to use a much smaller dynamic heatmap that the player now generates. This means I can pre-generate heatmaps for each of those points. This is much better for performance but still needs work. Ideally, I would have a heatmap for every single tile. What a surprise though, generating an array of every tile for the total number of tiles crashes Unity. Yes I did try it. :D
What I am probably going to do is increase the number of pre-generated points and make the dynamic heatmap much smaller, or even find a completely different solution for close range pathfinding. While fixing these performance issues will take time, if I fix them now it will result in better features down the line.
Well I hope you don't mind the shorter update. I don't expect to have much to talk about in the next one as it is coming up to Christmas. Thanks for reading!
If you are interested in the game I made for the Unity 2D Challenge you can check it out here:
Hey everyone, this week's post will be shorter than normal. I'm currently working on 3 projects, one of them being Squillamorph, and its proving difficult to progress them all as much as I'd like.
So the level has had to shrink in size, again. The main reason for this was we felt it was too large to work with and was still too easy to get lost in. I am still tweaking the design but we are now much closer to a final version. I have also removed the lights I was experimenting with last week. We felt that they weren't thought out well enough and detracted from the overall design. I will revisit the lighting but not until we have made significant progress with scenery assets.
Oh boy, this was inevitable really. I am having to revisit the pathfinding, again. The current heat map solution I previously discussed is causing performance issues in larger spaces. As such, I have attempted to rework the A* pathfinding method I was originally using. However, despite the improvements to this method I am getting worse performance than my heat map method. Unfortunately, I have yet to solve this problem but I am enjoying the challenge of it. What this might mean for the project is less visual updates until I can properly finish the core features like the pathfinding.
I apologise for the lack of visual content in this post. I will attempt to have more for the next one. Nonetheless, I hope you found this interesting!
I'm the game developer for Squillamorph. I'll post here on the devlog as often as I can.