Lights, Lava, & Levels


This build introduces the use of 2D lighting, reworks the Level Select menu (as well as how they're handled in the back end), and introduces a new Lava mechanic for use in an additional 2 levels of the game. Further, minor aesthetic changes have been made, as well as an overhaul of the Settings system. While only one setting has been added (Amount of Traps), settings will be very easy for me to add in future with very little code needed.

This is the first update since the project was submitted to uni, so this devlog may not be as stringent about style and meeting specific criteria. I also haven't gotten feedback at the time of writing this post, and I likely won't be including an actual feedback section in future.

Appearance & Lighting

In this build, I've made use of Unity's URP - Universal Render Pipeline - for both 2D lighting and for ShaderGraph. In general, the game will appear slightly dimmer (90% of previous), but will include lights where appropriate for ambience. A faint vignette has also been added to all levels. Additionally, other minor aesthetic changes have been made, such as removing the zooming scene changing, in favour of a simple fade.



Lava & Additional Levels

Using ShaderGraph, a cartoon-y lava shader was created for use in new levels. Lava may be stagnant, and simply be a stationary floor that will kill you if you touch it, but it also may rise and fall, following various patterns (though the current levels only have ones that follow sine curves, despite any pattern being possible). 


The start of level 6, with a pool of lava. Note that the gif is quite compressed, and the lava looks different in-game.

Traps Setting

A new setting has been introduced after overhauling the way Settings are managed. "Amount of Traps" is a setting that allows the player to toggle between different levels of trap difficulty, or even remove traps completely (if you just want to screw around with the flight mechanic or see how fast you can go!).  If set to "Default", the existing levels should look almost exactly how you remember them. If set to Low however, some of the harder traps will be removed when you play a level. Similarly, when set to High, additional traps will be added that weren't in the original versions of the first 5 levels. 


A comparison of the same spot (in level 3), in all 3 difficulties.

The Settings system now uses ScriptableObjects to store build-time data about how settings should act on each difficulty, and if anything should change in Time Trial mode. Settings are stored at runtime in a singleton manager, and can be retrieved with a Key-Pair system. This allows me to quickly add new settings and reference them in code directly, without having to alter all the settings-related files whenever I want to add a new setting.

Level Select

Since more levels are being added, I had to rework the Level Select menu. While it's definitely a work in progress, the new menu uses a simple list of selectable levels. When selected, the "Time Attack" for that level will be displayed, as well as "Best Run". Currently these have no functionality, but in future I will likely add a mechanic that records the players best time, and will mark the Time Attack as beaten for each level where a player has beaten that time.


The new Level Select menu with Level 2 selected.

Time Attack values were chosen by me somewhat arbitrarily. I ran through each level on the Time Trial mode, with one or two mistakes per level, and used a little higher than that time. I would love feedback on these times, as, having spent hours upon hours playing this game to test it, I can speedrun almost every level, so I have no way to know if they're too hard or too easy to achieve.

Request for suggestion

I would love feedback on the new features as well as suggestions on how to improve them, especially pertaining to the Level Select menu, as I'm rather awful at menu design and would appreciate some feedback!

Get Magic Is Hard

Leave a comment

Log in with itch.io to leave a comment.