Main contribution: Gameplay / AI
Team: 14 people
Duration: 8 weeks
Engine: TGA2D (C++)
My first main task this project was to create the parallax system for the backgrounds on the levels. I ended up creating a system that used 4 layers and needed two background images for each layer. Then I just moved them at the desired speed and once they were off screen I reset the position. I had some issues with getting them to align perfectly and ended up just having a slight overlap to avoid any gaps in the effect. Our graphics artist Malin did a really great job on using this system to the fullest and we got three very distinct levels despite using the exact same code for them.
Once the tiling was done I stared working on the level transitions. We wanted the game to be a coherent journey and avoid any loading screens. In addition we wanted it to feel like you were flying upwards through each level and towards the sky that was the final level. So I did an addition to the system for transitions were we had a special tile that tied to levels together. To avoid waiting for the tiling to match up we speed up the rate at witch they travel after you killed a boss. This way the tiles got to their prealigned state for the transition faster. It also gave a sence of urgency and added a nice touch I think. In the end I could have skipped this since we added a "defeated" scene that allowed me to change the tiling behind to line up.
I also did a minimap for UI that could track our progress through the levels. A minor addition but one that added an extra indication of the players journey towards the heavens.
We har really good pace this project so I even had time to juice it up the last sprint and do a "boss defeated" scene. It also tied in very well with the transition system and didn't require to many changes. It was a really nice addition and just gave the game that little bit of extra polished feel.
But the most fun part of the project was without a doubt doing the AI for the second boss, Seraphim. With the art design giving it a very distinct and lethal look and Jonas awsome animations for it really reflected this as well. I did not want the fight itself to disapoint. The first boss was a static fight and the last boss hard lots of adds and was more of a bullet hell, so I tried to make this different in feel and pace. In the end it was an iterative process were I started with a simple attack, added some movement patterns and then tried different things until I had some distinct behaviors and attacks that were fun and engaging. Tanya (who animated the first boss among other things) even made some really cool extra projectile animations for me that allowed us to create even more varied attacks. I also assign weights and randomness to each attack to avoid the fight being predictable and added different stages as well. Each phase had different behaviors and attacks to make the fight feel more epic and dynamic. Overall I am very happy with how it turned out and I really enjoyed the process.
Here is the entire fight together with transition and minimap update all at once.