It's been a while since my last update here on IndieDB, but that just means that you get to enjoy of new gifs and screenshots as a huge batch now! I've been working on mostly content, and I have a ton of new features and elements to share with you guys.
The winter environment uses blades a lot, so I wanted to add a basic blood effect to blades that have damaged the player. Not perfect, but pretty good.
While working on the big blades, I got this cool idea to add smaller blades that can be shot from cannons that I introduced to the game a while ago.
Also, I wanted to add these giant hammer-like entities that serve a simply purpose: to crush the player.
With these new elements I was able to make quite a lot of awesome winter levels that are a nice combination of fighting and platforming! But, of course, this wasn't enough for me. I wanted more spinning things. So, that's when I implemented better rotation support to the game and added blades that are spinning around on an arm to the game.
With these blades I was also able to make some nice and clever levels. Dodging these blades is far from easy!
After that I wanted to start actually working on the desert environment. It's still very far from completed, but I have been able to get the base look and flow going as well as new desert-themed elements and hazards added to the game. Here's a screenshot of the basic theme the desert-environment will be following. Currently the plan is to set the whole environment inside a huge ancient pyramid that has been taken over by the enemy soldiers.
As an all-new desert level element I wanted to add lava to the game. I think it fits the theme of the desert environment quite nicely. I ported some of the water code that I had laying around to support different liquid types, and added a particle emitter on top of the lava pools that spawn particles on the surface of lava.
The desert environment also features a variety of moving and spinning platforms. One of the first things I programmed was actually a ferris wheel with four platforms that move around in a circle pattern. After those, I tweaked the platform code and boom, I had moving platforms in the game. These allow some nice vertical and horizontal traversal possibilities in upcoming levels. Now I don't always have to use ladders!
The desert levels also feature large doors that are opened by touching the pressure switches in the levels. You can see one in the top left corner in the screenshot above. The usage of buttons is nothing new as the prison environment already features a few levels with buttons that unlock doors, but I feel like these switches nicely divide the levels and make the player explore the levels more.
The desert levels have new rising blocks/pillars. Nothing new or unique, but adds some further platforming challenges to the game.
While fixing some of the bugs I had discovered in the prison levels, I had to obviously test the changes I made to the code. However, in my old one-dimensional level selection menu it took me a good while to navigate to the prison levels, as they are alphabetically sorted to the end of the menu list. So, I decided to redo the level selection menu, and I think the end result looks pretty nice. It also allows for a lot faster navigation, and I implemented it so that it is resolution-responsive.
I then decided to take a break and finish off the prison environment. I had around twenty levels made for the environment, so I needed about five levels more to hit the target of twenty-five levels. I knew that I needed new content so that the levels don't get tedious or repetitive for the player. I had a laser-spinner on my idea list, so I thought to myself "what the hell, let's give this a go". And I'm really happy that I did. The spinners look awesome, and add again some new and nice challenges to the prison environment.
I had added missile launchers to the game a long while ago, but during a small playtest session I noticed that the launchers aren't very polished. So, I replaced the old static sprite with a rotating launcher barrel that now actually properly spawns the missile with the correct rotation and speed. Overall, the new missile launcher is a huge improvement over the old one, and it inspired me to add a bunch of new levels that base around dodging missiles.
With the lasers and missile launcher I was able to conclude the prison environment content-wise. I may perhaps have to tweak few of the levels later, but in general I can now consider the environment done.
Next up on the list is the jungle environment. It's missing more levels (eight), but with new elements and ideas I'm sure it won't be too much work to finish it. I got started with flame traps, that I decided to add already a long while ago when working on missile traps. These flame traps can be oriented on any of the four surfaces. The implementation uses the techniques that I used to implement a flame thrower a while back.
While making a few levels with the flame traps, I noticed that I had added rainfall to the game a long time ago when initially working on the winter environment. However, the old rain looked pretty awful, so I decided to redo it. The new particles use a line renderer to create the smoother look. I'm really proud of how the rain turned out.
You can check out a video of the rain at my blog post in the game's development blog.
That's it for this update! I've of course done a bunch of smaller tweaks and fixes both gameplay and codebase wise. There's still a lot to do but I'm slowly getting there, level by level and fix by fix.