Easter Week 1

After the play-test I got straight to work in order to fix as many glitches as I could. I fixed a lot of the issues before my groupmates also began working and helping to fix the issues, mainly E-Jay. After getting most of the glitches and issues fixed, I went on to add some new aesthetic features to the game.

The Process

On the first day, the day of the play-test, E-Jay changed the way the pitfalls worked fundamentally, now they acted like barriers instead of damage-dealing hazards. With this new pitfall I reworked the level layouts completely and spent a lot more time on them. I used some of the designs our level designer made however I was forced to make my own designs as there were not enough relevant designs for the amount of rooms we had. I spent the day after the play-test reworking the level layouts and play-testing them till I had something I was satisfied with.

one of the new level layouts

On the second day, I worked on some more basic fixes. I changed the length it took for the tera shards to spawn after the enemy’s death as before it would spawn before the enemy fully dissipated, now it would only spawn after the enemy’s death animation was complete. I also fixed the dash in that before, the dash only worked when the player was already moving in a specific direction; now the dash works by just tapping the dash key (space) and the player is moved, they do not also have to tap a movement key in order to dash. I also added in tags for the pitfalls so that E-Jay’s function for dashing over the pitfalls worked consistently.

On the third day I fixed the spike hitboxes so that they more closely matched up with the sizes of the sprites. After doing that I worked on coding in a delay on enemies’ firing after being hit. An issue that some play-testers noted was that they would still get killed by an enemy as they would fire while they were being hit. At this point E-Jay was dealing with some personal affairs, thus I took it on myself to code in this fix as it appeared to be pretty straightforward. I used a coroutine to make it so the enemy would delay their shoot function after being hit, thus they could no longer fire while being hit which made the gameplay feel significantly fairer and less frustrating.

On the fourth day I worked on implementing an attack-dash cancel. Essentially, one of our play-testers noted that it was frustrating that when they attacked they were locked into hitting and couldn’t cancel it by dashing. Thus my groupmates and I decided we’d implement an attack cancel method by dashing. I spent this day figuring out how to code this in and used several resources online including chatGPT that helped to guide me. I understood that I needed to use a coroutine of some sort, but the precise way of writing it out was difficult, thus I was forced to rely on such resources. I was able to implement the dash cancel however I could not get it to work independently of the direction the player was already facing. So if the player was moving right, then attacked, then wanted to cancel the attack by dashing, they could only dash right, they would not be able to dash in another direction to cancel the attack. This was a problem I did not know how to handle, thus I concluded the work for the day and decided I would work on it the next day.

On the fifth day I met with Ross in the labs and communicated to him the issue. He was able to help and resolve the problem and thus the ability to cancel attacks by dashing in any direction was fully implemented and functional.

Final dash code

Aside from that, beforehand E-Jay and I communicated to Riya that we needed new attack animations that would fit the player’s actual damage hit box. Riya had the animations completed by the fifth day and I worked on implementing them. I realized E-Jay and I had overestimated how large the attack animations had to be so after implementing them I realized they were too large. Thus, I worked on adjusting them slightly and made them a more suitable size, proportionate to the size of the attack hitbox. The new attack animations worked well with the hit box size.

On the sixth day I had decided to take a break from working on the game and focused on writing up some posts and my business module.

On the seventh day E-Jay did quite a bit of work and fixed a lot of the bugs in the game such as enemies moving through walls, enemies shooting through walls, the room walls overlapping, and many others. At this point he took over coding once more which allowed me to get back to my role of environment artist.

Additions

From the seventh day onwards I got back to work as the environment artist. The first thing I did was begin implementing lighting into the game. I had noted many other 2D pixel-art roguelites had functional lighting and didn’t rely primarily on pixel art hand-made lighting. Thus I looked up some tutorials on lighting in 2D games and was able to get a grasp on the lighting system pretty easily. I first implemented lights onto the crystal spike hazards, giving them a purple glow. I also lowered the baseline brightness of the levels in order to make the glow effects (and whatever other lighting effects I would add) stick out.

First addition of lighting

I also added some minor lighting to the pitfalls. This made them glow slightly giving them an ethereal appearance as well as giving an impression of mist which fit given they’re supposed to be water pitfalls. I also added rays of light that shine on the health potions, this gave both a gameplay reason to have lighting as well as an interesting aesthetic, as though the cave of depression has a few cracks in it revealing light from the outside world. I also added glow effects to the tera shards the enemies drop as well as to the projectiles the enemies fire.

Ray of light hitting where hp potion normally would be (player collected it already)

I also added lighting to the gate of depression room and the tutorial level.

I also began working on adding in new tiles for the gate of depression room as the previous tiles were very hard on the eyes. By the end of the first week I was unable to create a finalized version but I at least began the process of making a final version.

Leave a Reply

Your email address will not be published. Required fields are marked *