Hop around through a dangerous crypt using the recoil of your blunderbuss and retrieve the king's crown to cleanse the crypt of its corruption
Engine: TGA2D, The Game Assembly's 2D engine
Development time: 8 weeks half-time
Team: 13 first year students at The Game Assembly
Camera movement: The camera moves from room to room following the player. In most cases it smoothly changes focus to the next room when the player enters it, but our level designers wanted to make bigger, continuous chambers for the last rooms in each level. That meant that the camera would follow the player all the time when in these areas. The biggest challenges were finding a way to recognize which areas needed this type of camera and making sure the camera followed the player freely but never showing the area outside the level.
Floor tile rotation: The floor tiles in Krypta have a smooth surface on the outer edge. I created a system that found the correct tile to place depending on the surrounding tiles. This was really appreciated by the graphical artists as it freed up a lot of time for them since they didn't have to do this manually.
Mouse and controller aiming: We had a small arrow pointing in the direction the player was aiming. Getting it to move and rotate in a satisfying way took a few tries with different methods but the final results were pretty good and it feels very comfortable to look around and aim with both the mouse and controller. The cursor is restrained to a small circle around the player, this made the movement smooth and predictable, while allowing quick changes in direction to feel good and tight, essential for a tricky platformer like Krypta.
Light Manager: The light manager makes sure we are only rendering the maximum 8 lights at a time, if there are more lights it decides which ones actually get to be rendered, prioritizing lights near the player and avoiding dark areas and flickering. This was added late in the game to allow more freedom for the level designers.
Parallax: The parallax is data driven which allowed the artists to add as many layers as they wanted and freely tweak the directions and speeds, which resulted in some pretty gorgeous backgrounds for all three levels.
Projectiles and enemies: In the last level there are projectiles that jump up out of the corrupted tiles and enemies which move around walking on the edges of groups of tiles. I was responsible for their creation and movement. The projectiles were quite simple, but the enemies needed to know when and how to turn to make sure they always stayed on one group of blocks without jumping over gaps or getting stuck. The main challenge here was the rotation and timing the movement with the animation in a way that looked good.
Wall slide and wall jump: In Krypta the player can slide down walls when pressing in their direction and jump off of them to reach higher platforms. After the collision system was in place I added these two abilities.