Hello everyone, I hope you had all had good Easter! It has been another good week for progress. Again, last week was mostly spent on improving the level designer and documentation but this is now pretty much complete. I won't talk about this much because I covered it in the last post.
One of the documents I worked on was a world guide. This is basically an aid for anyone designing a level. It describes each region of the game world, including information like enemy types and environmental hazards. One of its main purposes is to list the layout of levels within regions. The layout we now have might change, depending on player feedback. Each region will start with a mini level to give players the chance to get used to a new enemy type without the wave based combat. From this level you can access 3 different level pathways. Each pathway corresponds to a difficulty. We're not yet sure if players will be able to switch between the pathways once one is chosen. Again, that will need testing. Of course, each region will have a boss level at the end of the pathways. Bosses will have difficulty levels that correspond to the pathway taken by the player.
I've made a new design for the tutorial level! This is entirely based on feedback I got at Rezzed and research I've done into tutorial methods. I'm quite pleased with how its turned out so far. It definitely needs tweaking but I'm on the right track now. Something new that I've added in to make this new tutorial is destructible objects. These objects can only be destroyed by player attacks at the moment. I will be using these objects sparingly because they can cause problems if overused. This is because I am not using my physics system for them. Instead, they use Unity rigidbodies so that they appear more dynamic; my system does not allow for rotating collision shapes. Another issue with my system is that my physics objects cannot push rigidbodies, but can be pushed by them. This means that I've had situations where enemies have been pushed into the floor and get stuck. While they are a cool addition, they will not be appearing too often. Also, it's probably important to note that I've added in a new wall jump ability, applied with a mutagen pick-up! This was something heavily requested at Rezzed.
Since redesigning the tutorial, and implementing the destructible objects, I have noticed several problems with the Test Dummy enemy. I won't lie, I did throw them together rather hastily so I knew there would be some issues. To get the destructible objects working, I had to change the way combat worked. This is now a much better system but it exposed so many faults in my enemy systems. Sometimes, a dummy will continue to deal damage even after an attack. Other times, they get stuck in their jousting state, unable to follow the player like normal but also unable to deal damage. I haven't had the chance to fix all these issues but I am very tempted to remake them again, given how janky they are!
In regards to the enemy combat, I have started to improve this. Enemy attacks now use a hitbox collider, rather than distance based checks. This is a much needed improvement as it gives me more control over attack shapes. We also intend to make the attack animations much more dynamic so that we can better indicate enemy attacks.
I'm going to be working on a few combat improvements and level designs this week. Hopefully, I'll have some interesting stuff to show in the next post! Thanks for reading!
Hello everyone! There isn't much to show in this week's post because all of the work I've done is on the level designer and documentation. Anyway, as the title suggests, I will be doing the development logs on Mondays now.
I've been working really hard to improve the documentation for the game. Mainly, I've been making documents that allow anyone on the team to create art assets and design levels. It also allows me to double check how to use the level designer if I forget how to use it (I know I made it but this did happen). Not going to write much about this as there isn't much to it! There's also nothing visually interesting about it to show, but I thought I'd briefly talk about it anyway.
I've spent most of my time this week improving this, so that it is much easier to use. The level design process starts with designing a level in Photoshop, where one pixel equates to one tile. The image is then put in the designer Unity project and translated into tiles. This is done with a script that assigns a colour to each tile, reads the colours of pixels in the image, and places tiles in the scene based on it. Then I render the level and the normal map of the level from Unity to a PNG. I talked about this before but didn't cover the full process.
This used to be a laborious process. Each art asset had a single Photoshop file; to render both a colour image and normal map, I would have to edit each art asset file to switch between the green colour and normal map versions of them. Then I had to switch between cameras, one for the colour image and one for the normal map. I also had to change the output file name on the render script to match which image was being rendered. This process caused me to make many errors that cost so much time. Not only that but I have to do this for each layer of the scene; foreground, background, and any parallax layers.
I have now got this process working with a single button press and without having to edit any art asset files. It is so much faster and easier to use. Now the only time consuming part of it is making new art assets that work with it. Each art asset needs a green colour version and a normal map version saved separately. Then a material needs to be made for the asset which takes in both these images. The shader for this material allows me to switch between the normal map and colour image whenever I need to. That is how I am able to render out each layer, with both normal and colour images, using a single button press. The process is shown in the above GIF; it cycles through each layer, switching between the green colour and normal map, of each asset material, and renders both. It has taken all week to get it working properly, but it was worth it.
The only thing I still have to do for the level designer is implement the background assets I showed last week. These are currently added in the final level scenes and, as there are lots of sprites in one space, it ends up making a mess of them. I would also like to make background 'machine' prefabs, so we don't have to build as many new 'machines' out of the small background assets for each level.
It's not as lengthy as the last one but I think I covered everything in this post! There might be some new level designs, or redesigns, to show in the next post. I'll be working on finishing the level designer and some tutorial related things this week so we'll see what happens. Thanks for reading!
Hey everyone, sorry for not posting last Sunday but I was putting all my efforts into preparing for EGX Rezzed! In this post I will be talking about my experience there, which was awesome by the way!
In the last full week before Rezzed, I carried out a final play-test with the students on the University for the Creative Arts (UCA) games arts course. They gave some really good feedback and were pleased to see the changes I had made since the last test. One of the main things they wanted to see was more interest in the environment. So I had Connor make some modular background assets and shown him how to normal map them so I could focus on bug fixing and last minute improvements. I'm not sure if I've mentioned it before but to achieve the crisp lighting style we have to hand draw the normal maps, which I have done up until this point.
The last few visual additions I made were mostly tutorial centric. I added a screen unique to each creature to show the player how to control each one. I also worked on sound effects. I gave the old sound effects a listen, which were used in the original prototype project. It was really interesting to hear them again because it showed me how far the game has developed; none of them fit the game as it is now. So I made a new set of sounds to use which work much better. These sounds still need improvement but they are a much better representation of what the game will sound like.
On the last night before taking the build to Rezzed, I decided to test the game on my old laptop for fun. It ran better than I expected, there were a few framerate issues but it was doing pretty well. However, the leaderboard I added did not update when someone added their score to it. Turns out, I had missed a couple of essential lines of code. Just what I needed before setup day but luckily I fixed it at the last minute!
Wednesday came around and I went up with the games course leader to setup the university stand and the Squillamorph stand. I knew that Connor's artwork for the stand was great but seeing it in person was something else! Cat Tap, another incubator studio game, also had a stand under the UCA banner. I got the game build installed without issue and the game worked. *wipes brow*
So, Thursday came around and I was pretty nervous. I've never been to a gaming event to present a game before and talking to lots of people about it was quite a daunting prospect. However, as more and more people tried out the game and I saw how much people enjoyed playing it, I began to gain some confidence. By lunchtime on the first day I was loving it. Players of the game were so engaging and gave really good feedback! The whole event was so motivational. Meeting a huge variety of players and other professionals was a fantastic experience. I didn't get much time to go round and play other games but the ones I did get to try were awesome!
There was only one thing that didn't quite go to plan. The business cards and stickers I had made for the event didn't get picked up as much as I had expected. So, I had brought 1000 cards and stickers, which in hindsight may have been too many and is a lesson learned. On the bright side, I now have a bunch of them left to use in the future!
What I Learned
Some of you might want to know what I learned from my experience. If I was to give my past self advice it would go something like this:
- Don't stress about the game having bugs or other issues. As long as you explain this to players, they will be understanding of it.
- You will be given lots of feedback by lots of players. Write down as much as you can. Their feedback is important and you aren't likely to remember it without having a note of it.
- Have a personal business card available to hand out to other professionals. Some of them will want to contact you directly without going through your game's social media.
- Invite people over to play your game. You'd be amazed how many people won't play your game or take freebies without being invited to.
- Most people are just as nervous to talk to you as you are to them, don't worry about it. Be as engaging and friendly as you can and you'll be more than fine. Most importantly, be yourself.
I think that's a good way of putting what I learned from the event. Now I'll explain what the plans for Squillamorph are after getting feedback from the public.
We got a large amount of feedback from players at Rezzed. The main piece of feedback was that the tutorial needed improvement. It wasn't clear enough to players what they were meant to do and the game threw them into the combat gameplay too fast. The combat was another main point included in feedback. It just doesn't feel satisfying to attack other enemies yet and the purpose of it isn't clear. I'm glad we've learned this now as it means that we can improve things before we go early access.
I know this has been a prominently wordy post but the next one should be GIF heavy as usual. Thanks for reading!
I'm the game developer for Squillamorph. I'll post here on the devlog as often as I can.