Blog Post #4

What have I done?

progress

Since last blog post, my team have been focusing entirely on getting the game ready for the beta presentation next Monday. This is what I’ve done to fulfill my part:

  • Finished Boss Mechanics
  • A third enemy with its own unique behavior
  • Power-Up

How and why did I do the things mentioned in the list above?

Finished Boss Mechanics

The boss and the third enemy was definitely the toughest things to code this week. AI needs to be very polished for the player to feel both fairly treated and for him/her to have a sense of fun while encountering it. The boss has three abilities so far.

  • A charging attack that targets the player and rushes rapidly towards it.
  • A projectile attack that fires three fast projectiles in unpredictable directions.
  • If the charging attack misses the player, the boss charges into the arena wall which causes an earthquake. This will make random eggs scattered on the sides of the arena hatch and therefore spawn additional enemies.

The charging attack is quite straight forward, it rushes in a fixed velocity and direction where the player is at. The projectile is also simple, the boss has three spawn points in its front which instantiates projectiles while it is in the idle state (often after a charge). Each time the boss enters this idle state, the numbers for in what direction the projectiles launches in will be slightly different. If the boss misses the player with its charge, it will proceed to collide with the boundaries of the arena. If it does so, the camera will shake intensively. There are currently four eggs that will hatch one at a time in a random order if this occurs and when they hatch, they instantiate an additional enemy.

A third enemy with its own unique behavior

We decided the third enemy to be a flying type. In this case, it is a fly that kind of behaves like a real fly. It flies around unpredictably with its only purpose is to be distracting. If the player don’t manage to kill it right away, it might reappear soon from any angle. Each time it enters the screen and manages to get close enough to the player, it will launch a projectile towards the player but the direction may vary. I implemented many layers of different ranges to it in order to achieve this behavior. For an example: If it is 100pixels away from the player, it will attempt to dash back towards the player, if this thrust manages to reach within 30pixels of the player, it will start doing a zig-zag movement between 30&4o from the player until a timer tells it to fly away again to repeat this behavior. While the fly is absent from the screen area, it will circulate around the player where it cant be seen until it thrusts towards the player again which results in the unpredictable attack angle I mentioned.

Power-Up

We have an energy bar in our game which represents both the players HP and also the players ammunition. The player will be able to gather crystal shards while playing and if the player manages to gather enough to reach 10 energy, the player will enter a power up state until the player goes below 10 energy again. While in the powered up state, the player sprite will evolve into one with more glowish details to indicate that the player is powered up and also an option to fire a cone attack in front of the player when pressing the right mouse button.

That is all for now. Never stop rocking ❤

1 thought on “Blog Post #4”

  1. Sounds like you’ve done a great job, and this post ain’t far away from the like either.
    You’re doing a well enough job on describing why you decided to do those things which you’re bringing up in this post. The same can be said about the amount of detail. However, your motives and details fades away as I read on and there wasn’t much content to read about for the power-up.
    I’m sure the power-up part could even be cut out from the rest so you could focus writing more about the rest that you’ve put more writing on (The third enemy and the boss). I’m sure each one of those things are enough material for their own posts, if you could describe the process of their implementations, especially the boss part because that was the most interesting one. And of course, if there was any problems during the process, you could mention them as well for a more interesting read!

    Like

Leave a comment