Boss Fight and Bug Fixes


Overview

The large majority of recent work was spent cleaning up code and improving player feedback.

Player Feedback/Expectations

The first part I worked on was improving the first boss fight. Until now all of the boss's spells made the same sound. Now, they give the player a head's up on what is about to transpire as magic whips their way. This gives the player a heads up on how to go about dodging and makes the boss fight a little more balanced. On a similar note, I coded in other indicator sounds to help player's gauge timing.

Next, I actually coded in crouching. I had coded crouching in before but that was apparently only by texture, but not hitbox. So the player would be seemingly smaller, but still get hit.

I ended up bringing my modules into compliance with each other. The first change was streamlining the file path system to only use Path.cwd() and the "File" / "to" / "path" style where the forward slash can be substituted. The main reason is because I want to ensure that my game is OS agnostic (I am coding/primarily testing it on Linux but want Windows users to be able to play it as well. Windows uses \). Next I made all the modules use a VIEW variable which set to the active game object.

The last thing I worked on (besides bug fixes) was create a new module. I wanted to do a lot of math that relies on the polarity (+/-) of a number. The main reason I saw the need for this is checking whether an object is to the right or left of another object. I didn't think the python math module had what I was looking for (didn't find it when looking) and I didn't need anything too complex. Just divide a number by its absolute value to get either 1, -1, or 0 if the provided number is 0.

Bugs Squashed

– Discovered bug where certain enemy spells would not be removed and instead would become invisible. Thus becoming an infinite/invisible mine waiting for the player to forget where it was (was actually the next issue, but the fix I made did improve spell efficiency)
– Enemy spells would deal damage to the player just for hitting any object within the player layer (room connections and spawn points) (Also found opportunity to reduce number of required checks during enemy spell collisions).
– Unnecessary calls for updating background color on draw
– Unnecessary try statement for player layer check

Final Notes

Shorter devlog, but lots of smaller changes being made. Game isn't near ready yet but the bulk of the hard stuff is out of the way. Now we really need art, more music, sounds, and puzzles (this is probably the actual hardest part).

Leave a comment

Log in with itch.io to leave a comment.