The Apprentice Returns Sprint 2

 The Apprentice Returns: Sprint 2

By Joy Schulze

Role: Programmer

I feel that this sprint went a lot better. While I don't have as much to show and my work didn't accumulate as many points, I feel like I got to work on more substantial parts of the project that all had multiple parts to them. At kickoff I intentionally picked up work that would build on top of itself. I had the water staff, which can glide and put up a shield; mana implementation which built on the UI I had set up, and enemies which would help me test the shield and mana implementation. And while there were a couple tasks I didn't get around to implement, I did all but 2 of my assigned tasks.

The first thing I did were simple text bubbles that describe the staffs as you go to pick them up. The only difficulty I had with these was making them disappear whenever you picked up a staff which I fixed and then later had to fix again (I don’t know what unfixed it), but other than that it was an easy thing to implement. 

After that, I finally got to work on a movement mechanic: the water staff. With the staff, you can glide for as long as you hold the button down (consumes mana as long as you hold it down) and you can hold up a shield which destroys projectiles and displaces enemies. The glide should have been easy, I just lock the player’s vertical movement until the player releases the button or drops the staff, and then unlock it. However, my first implementation caused our player to stop working entirely. Turns out, this was because I was resetting the player’s movement restrictions completely, but I missed that the player is set to have specific movement restrictions in its awake function. As mentioned last time, we redid our player movement so this was one of the changes that I missed.

Next, I had to implement the bubble shield. The shield itself was very easy, just a bubble that destroys enemies and enemy projectiles; however, we didn’t actually have enemies or enemy projectiles to test it on. So I started with blocks that had projectile and enemy tags to test them.

But then, I got started on the first of many enemies.

This chasing enemy is very simple. Just a little guy with a sphere around it where it can detect the player and start chasing them. It dies if you hit it with an attack from something like the wind staff, and the enemy will stop chasing you if you get out of its range.Screencast from 2025-10-25 22-02-30.webm [video-to-gif output image]

However, our enemy is supposed to damage the player on contact, and we didn’t actually hook up our mana (which also acts as health) to our player. So, in implementing the enemy, I also had to implement our mana system.

It came out pretty neat, the enemy damages the player and the player has some invincibility frames so they can get out of the situation. While I wasn’t able to fully implement mana usage on staffs, all of our staffs have mana costs already built in, so it should be a pretty smooth addition. 

The only other things that I didn’t finish were a pause menu, and water surfaces that you could dash through with the water staff. I feel like I made way more substantial contributions to the game this sprint. All of the little background objects I made have been useful for our level designers, but I’ve finally added some functionality to our player. I also enjoyed how much more interactive the enemy is. It’s still simple, but it was more work and it was more fun to work on. 

This next sprint, I’m going to wrap up the things I didn’t finish this sprint, and then make more enemies. We’re going to have a ranged enemy, a shield enemy, and if we have time, then a big enemy. I’m very excited for the next sprint, and our first kinesthetic prototype.


Comments