This has been another good week for progress! The first thing I'd like to point out is the website; it now has a proper domain name. I'm very excited about this and it also means I can upload longer GIFs! In other news, I've got stickers and business cards prepared for EGX Rezzed now! Anyway, onto this weeks update.
One of the most noticeable changes this week is the cursor I have implemented. This has been needed for a while as it drastically helps the player direct certain abilities in-game. I'm also starting to use it to represent when the player can use abilities through a colour change in addition to the border colour of the player character.
To help with the feeling of progression in the tutorial, I have limited the space the player has to begin with using large doors. This really helps to create this feeling and makes the tutorial room feel more dynamic. As such, I might experiment with this in future levels. I haven't yet updated the tutorial 'script' accordingly but I will be doing that over the next week. I also hope to have some visual control images implemented soon too.
I have finally implemented the Test Dummy's ability, a joust-like charge. This is an important milestone for the tutorial as players are now able to learn the complete control layout for infesting a creature. In regards to this, I was introduced to a new problem in the last play test. Players found it weird that the Flop-Sharks did not use the space-bar for anything. They don't jump like the blob and Test Dummy but I wanted to find something for them to do with it. To resolve this, we decided that giving each enemy 2 abilities would be a good idea. The Test Dummy has the joust and a jump. So the Flop-Shark will have the leap and an ability Connor and I have discussed a few times before now, a tail swipe. This ability does no damage as it is very hard for the player to dodge but it throws all creatures away from its origin. I'll admit, it does take a while to get used to but I have found several gameplay scenarios where it is beneficial and fun to use.
In the last post, I discussed a new idea to give the player three different pathways of varying difficulty. To help visualise this to the player, I've created a small pipeline asset. It makes use of the colour palette shader to use different coloured lights. Next to each level exit is a small infestable port. When the player infests this, they can deposit points they've earned. When they've deposited enough, the exit will activate and the player can move onto the next level. As well as serving a gameplay purpose, the new pipes make the environment look more interesting. We might make some less prominent versions of these pipes to add more interest into the environment background in the future.
Since the demo of the original version of the game last year, I had decided not to limit the amount of time the player can infest an enemy. This was because, in the demo, players found that it was detrimental to their enjoyment. In hindsight, this was only because enemies did not respawn whereas now we have enemies that spawn infinitely. So I have now reintroduced the timer. My main reason for this is that it makes gameplay more interesting. It forces the player into keeping note of where they are in the level. For example, you don't want to be kicked out of an enemy surrounded by deadly environmental threats. It also allows us to make use of the Mutagens I talked about in the last post. I am currently representing the timer by slowly changing the colour of the cursor and the border around the infested enemy.
The mutagen idea I discussed last week is now fully implemented. There are currently three planned ways for the player to collect these in the game: Enemies have a small chance to drop them, bosses are guaranteed to drop at least one, and there will be specific levels where the player can find them. There will be different types of mutagen assigned to each of these to make sure that they are varied and interesting.
I hope you still like the way things are going. There is now less than two weeks to go before Rezzed! I am doing my best to get as much done before then. Stay tuned for more exciting content!
A lot of good things have happened this week! I mentioned in the last post that we were going to do some play-testing. We did and have got some great feedback from it. Also, I've made a few changes to the website. I've updated the title logo, background screenshot, and colour to be more up to date. I hope you like it!
We wanted to get a few things out of the play test we did this week. Firstly, we wanted to know if the game was satisfying to play. This included how the controls feel to use but mainly if combat is fun. Most players found it relatively easy to control and enjoyed the combat. However, there was a general consensus that the game was lacking in content; not in the form of levels but in the form of gameplay and or mechanics. The combat is very simple at the moment, there is only one attack and that is triggered by clicking. A few players had some suggestions, which we have now had time to discuss and adapt to best fit the game.
One of the suggestions was a change to the way players advance through levels. The idea is to have multiple routes out of levels, with each route being a different difficulty. We have decided that we will try out this idea. The first level of a segment of the game will have three exits, each one being either easy, normal or hard. There will be a series of levels on each of these routes with different enemy variations and level designs. We will still be including small lore based levels but these will now be affected by the difficulty of the path the player chooses. We may also hide secrets throughout certain levels which could lead to hidden levels or collectables, but we're still discussing that
Another thing a few players suggested was power-ups, which we struggled have contemplated before. We weren't sure how we could use them because the player never stays in one form for very long. After some discussion, Connor suggested that we try out something similar to item systems in rogue-like games. I really like this idea because it allows for much more variety in gameplay and, if done right, opens up for more replay-ability. So we now have a collectable power-up/upgrade/item system which we are calling mutagens. We will limit the base power level of the player character. They can then unlock new abilities through the collection of mutagens found throughout levels. We haven't yet decided how we will give these to the player but it opens up all sorts of fun gameplay possibilities. For example, there could be a mutagen that makes enemies explode when you stop infesting them. The one in the GIF increases the jump height of the player. (The visual design is placeholder)
As I expected, the tutorial is a little bit boring. Players pointed out to me that this is because there is little feeling of progression. In our original demo version of the game, we had a tutorial that spanned across multiple rooms. Back then, it was boring because it took too long to get across them. Now it is the opposite. It feels like it takes too long to finish it because there is nothing to do before the main gameplay starts. To resolve this I am going to compartmentalise the tutorial level. It's design won't change much, but the whole space won't be open from the start. Large doors will control where the player can go to begin with. This also allows us to visualise the A.I. characters' control over the world and the player in a more direct way. I am quite excited for this change but it will take a bit of time to perfect.
I've talked about the way we design and make levels several times. The level image system has been great up until this week when I wanted a moving scenery asset in the game. I can't put it in the scene image we render because it has to move but I want to use the same asset with different colour palettes to limit the number of sprites we have. The only solution is to adapt the colour palette post effect shader I made to work with normal mapped assets. I'm no shader wizard, especially when it comes to lighting as I've only made unlit shaders before, but thanks to the Unity documentation and forums I've been able to add normal map support to the shader. This also gave me an opportunity to make another variant of the shader for the enemies, who can now use colour palettes. Yay!
Wow, another long post! There are another few things I've done since then, such as putting some sharks on the menu screen and making some music for the shark levels, but I think that's enough for this post. I hope you like the progress we're making and if you have any feedback feel free to leave a comment!
Hello everyone, the progress I've made over the past week has been great. I've had to ramp up the development speed of Squillamorph for a really cool reason.
Thanks to our university course leader, who is in charge of the incubator program we are a part of, we have been given a stand at EGX Rezzed in London! I will be there on all three days with Squillamorph available to play! However, this means we have to have a decent chunk of gameplay finished to a playable point. As we have less than a month until it needs to be ready, I am going full on with development and we are now at a point where we can do some proper play-testing. We now have a half decent tutorial and the first level for the Flop-sharks. I've also created a top ten player leaderboard system to create some replay-ability and competitiveness which I hope will work well. I would like to get a boss done but this is unlikely at the moment because we have to fix the major issues and make sure that the main levels are fun.
I've previously talked about the issues the game has had and how these can be game and/or immersion breaking problems so I spent a few days trying to get them fixed quickly. You can probably guess that it was mostly the custom physics and collision that caused the most issues, based on the number of times I've talked about it previously! I found out that the last solution I implemented to fix the collision was actually causing a whole new set of problems. So I've tried to add in a solution to stop those problems. As expected, I haven't managed to eradicate all the issues but I would say they've been mostly fixed. The game also seems to perform well now despite the tendencies it has previously had not to. The only side effect of fixing some of these issues is that the enemies are a tad floppier than before but I will tweak this if needed.
So after last week's post, I implemented the new points based level progression which works nicely. However, I need to discuss a better way of executing this with the team. This is mainly because we want to make the exit to the next level an optional path so that players can try to reach a high-score in levels if they want to. As of right now, an exit trapdoor opens in the centre of the level and enemies or the player can accidentally fall down. This isn't ideal but for a quick implementation it's alright.
I've been telling myself I'd do some of these for ages but haven't done so until now. The first visual addition I made was the player spawn animation. I've had the electricity particle system in the game for a while but it was a bit bland. I spiced it up by making it emit more particles as time goes on and using a particle force field to focus the particles onto the spawn area. I also used another particle system, with the force field and also the metaballs effect I use for the player, to create the dripping blobs effect. The next effect I added is a flash on the enemies to show when they take damage. This has been needed for ages and, although simple, works really well. Lastly I added a small visual cue to show when the player dash ability can be used again. This may not be needed so I will change/remove it after testing if requested.
Overall, progress lately has been great. We are now on track to have a decent playable build ready for Rezzed. Hopefully, I'll have time to implement a boss but we shall see. Anyway, thanks for reading and I'll have more to share with you next week!
I'm the game developer for Squillamorph. I'll post here on the devlog as often as I can.