What is Squillamorph?
Please consider getting Squillamorph on Steam and leaving a review. It is in Early Access and still very early in development but the more feedback I get now, the more enjoyable the final game will be!
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.
Sorry for no post last week, I was extremely busy and had to deal with some life issues. On the up side, the past week has been extremely good for Squillamorph! I've got lots to cover so let's dive in.
From the very beginning of development, we have been quite ambitious with the goals for this game. As I've previously discussed, the idea had changed from an A to B linear platformer to a wave-based survival platformer. This was due to the time pressure the team is under. This week the idea has evolved again to help ease the pressure. The idea was to have one level per creature type with a boss included. However, designing these levels to include a boss in addition to normal gameplay was proving difficult. I was sinking too much time into this, instead of making the game fun to play. I had a chat with Connor about it and we came to the conclusion that we would change things up again.
The New Game Plan
So, the new idea is to have one set of smaller levels revolving around one creature type. Then at the end of those levels will be a level dedicated to a boss. Level progression will now be driven through a points system. Once you surpass a certain number of points you will unlock an exit which leads to the next level. You won't be forced to go through the exit, which will allow for high score rounds. Oh, and we do still intend to incorporate a story arc but this won't be prominent for some time.
I want to start play-testing the game as soon as possible. However, I don't want to write down the controls for testers because they would be thrown straight into the game, which can be overwhelming and negatively impact their opinion. So, I needed to work on the tutorial level. You can see the simple design for it above. The long drop in the centre will be sealed off for the most part. This level is smaller than the normal levels and has more scripted events than others to teach players how to play. I've got a simple go-to-point system setup to help show the player how to move around. I still need to properly do this for the infested mode but that won't take long. The creatures for this level are the test dummies which I'll discuss further on. This level also uses a different colour palette to the shark level to make things more interesting visually. The next thing to add was something to guide the player and teach them how to play.
The A.I. Characters
In our original university project version, we had simple subtitles and some amateur voice acting done by us to represent the A.I. characters. These characters are the creator of the player character and play a major part in telling the story of the game. The voice acting we had before proved slightly unpopular so this time we've opted for text only. However, I still wanted to make this interesting and more than just static text. So we decided to go with the classic typewriter effect that many games use. I also wanted different colours in the text to differentiate which A.I. is talking. This proved complex to implement.
The way you put different coloured text in Unity's standard UI system is by using HTML inspired tags. What this means in conjunction with a typewriter effect is that you have to have the tag visually appear one letter at a time before the text will be a different colour. This would break immersion badly and just doesn't look good. So, I created my own method to replace certain symbols with a tag. This might sound confusing so I'll attempt to explain it. The script I've made looks at each letter of the text I want to display checking for certain symbols as it 'types' it out. If it doesn't find a defined symbol then it just displays the letter. If it does, it will replace it with a tag I have defined. What this looks like in practice is this: The text "%GHello World -" is converted to "<color=#22D200>Hello World -</color>" by my script as it cycles through the letters. Whenever a % appears it checks the next letter which I assign to a colour, here the G means green, and it then replaces the % and the letter with a defined colour tag. Then it searches onward for a - and places the closing colour tag after it. The normal text is then 'typed out' within the placed tags. You can see the result of this in the above GIF. Changing to other colours after this makes things slightly more complex but the method is the same.
Onto something slightly less technical now! These guys have been a long time coming. I haven't talked about them for ages now because they are only for the tutorial, which I haven't worked on until now. Since last time, they now have sprites to make them look good. I also reworked their jumping because I discovered some major flaws with it, especially when infesting one. They now feel much more fun to control and can attack now too. Making these guys attack fairly was slightly difficult though. As this is for the tutorial, it can't be too harsh on the player. Unlike the Flop-shark these dummies have no visible attack charging state. The sharks move backwards slightly before attacking making it easier to spot an attack. The dummies don't so I had to lengthen the initial frames of the attack animation to give the player a chance to dodge it. This has good results. The attacks are easier to dodge and are also easy to use against the dummies when infested. Perfect tutorial material. They do still need an action ability which we think will be a jousting charge sort of thing but for now, they are fun to play around with!
I'll be ready to show some of the new Flop-shark levels next time. Just so you know, I will not be using the one I've worked on previously but the ideas within it will be carried over to the new levels. I hope this super lengthy post
I'm the game developer for Squillamorph! I'll post here on the devlog as often as I can.