So I spent a week or so fully fleshing out my Tilevania level. I really wanted to test myself in terms of how capable I would be with coding if I stepped outside of the boundaries of the lessons. First lesson introduces jumps, one of each enemy(I added Flying enemies whose x-axis movement was confined by an invisible boundary, much like the camera), and moving tiles (The platform on the right floats upward towards the exit).
Second level is an expansive horizontal level, with a much more heavy use of moving tiles, and the introduction of ladders. This level provides multiple split paths for the player to choose from, and requires the player to time their jumping more precisely, particularly in sections with floating tiles. Moving Tiles are marked with a red dot (in Level 3, there is one raising tile marked by a blue dot). The most notable feature in this level is the inclusion of a parallax background (Screeshots don’t do it justice but each background layer varies in speed giving the illusion of depth and moltion).
Finally, this one was a doozy. A largely vertical level, this one features less split paths and more of a linear process, but requires precision and at some times, pixel-perfection to land jumps/avoid spikes. At least for the first half. The second half is a section I have affectionately dubbed “The Hellevator”. It is a massive vertical shaft filled with both spiked and regular platforms (I coded a head collider so that if the player’s feet are on a moving collider/elevator, and their head collider touches another collider, you die like you got crushed), and a couple swarms of flyers, all of which you must avoid while traveling slowly upwards on a wide rising platform. The final section of the Hellevator requires absolute precision to slip between the spikes unscathed, before making a mad dash to the right towards the door to avoid being smashed on the spikes above.
All-in-All, in terms of off-course coding, I added Parallax Backgrounds, Flying Enemies, raising/falling platforms that reset to their original position after a serialized amount of time, a full death animation (death results in the full roll animation, a death kick in the air, and disabled colliders so the player falls through the floor ala mario), A head collider for moving platform crushing deaths, a code to limit the players use of the arrow (1.5 second cooldown I believe; no more machinegun bow {I initially wanted to implement ammunition, but at this point I just want to move on from the lesson and learn more stuff through the courses}), and an attack animation (I get why Rick didn’t bother; syncing the attack animation with the arrow firing while not giving the bow too much lag so it was hard to aim was a difficult task. The animation doesn’t really line up with the arrow and about 1/10 times just doesn’t occur at all.)
Oh yeah, and a n arrow instead of a body sprite for the attack, and the code to relate the direction the arrow sprite is facing to the direction the player is facing. That too. Overall, feeling very good about the final product.