top of page
Writer's pictureDrew Graham

Drew Graham PPJ 09

Updated: Aug 28, 2019

Week 9:

  • Improved enemy spawning: 3 hours

Total: 3 hours


This was a light week for me (and the other programmers) because of the CS 451 project due on Tuesday. I made improvements to enemy spawning: we can now configure how many of each type of enemy spawn in a room. By setting a max spawn count on each enemy type (shown below), we can control enemy variety even better now. For example, we can ensure that only 1 Taurush enemy spawns in a room, or that 2-3 hellbats/steamons spawn alongside Asmodeus.



We can use the Max Number field to control how many of each enemy to spawn in a room (in addition to overall enemy count)

I also went and converted these parameters into ScriptableObjects. They used to be a set of parameters on each Room class, but it became tedious to modify the values on each individual Room prefab when many rooms shared similar enemy variants. Now multiple rooms can use the same enemy spawn settings via a reference to the ScriptableObject. This will make it much easier to prepare the remaining levels for gameplay, as we won't have to set enemy spawn settings on each Room (of which there's about 40)


Lots of tedious work saved, thanks to ScriptableObjects!

This is my first opportunity to make my own ScriptableObjects, and I wish I'd tried them out earlier (they'd work great for each Tactic instance).


Oh wait this was supposed to be a postmortem oops


Post-Mortem


In terms of my performance...


Things that went well:

  1. I wrote very robust code (much better than previous projects)

  2. My Enemy AI systems held up pretty well (despite not having a Combat Manager, they were designed to function without one)

  3. I learned to depend on my teammates when needed; you can't make everything on your own

Things that didn't go so well:

  1. I worked myself to death

  2. I spent too much time refactoring/rewriting sections of our codebase

  3. I didn't have time to implement a proper Combat Manager as planned


I'm proud of the work I did on this game, but I'm frustrated that the game didn't coalesce into what we'd envisioned. In fact, I don't think we had a very good vision for the game from the start. Designers seemed to have varying/conflicting ideas for progression. In the end, we spent the majority of our time making the game "just work". My main focus, programming enemy behaviors, required me to rewrite all enemy code from scratch. This limited my ability to put in new enemies; after re-implementing the existing enemies, we were only able to create 1 of the 3-4 new enemies we'd planned. As a result, our artists saw their assets canned after spending hours making them. We also struggled with communication; oftentimes leads would fail to communicate tasks clearly to the team, leading to situations where 2 people work on the same task (i.e. wasted time).


In hindsight, I think this game could have become something much greater if not for 3 things: our lack of a clear vision for the game, our codebase being in a terrible state, and our failure to communicate.

24 views0 comments

Recent Posts

See All

Lange - PPJ #09, Post-Mortem

Tasks Completed Fixed broken steampunk rooms AGAIN Fixed one (1) broken demonic room Re-made all demonic rooms Edited all L-shaped and...

Kat Leitao PPJ 9

This week I worked on adding a navmesh to the Taurush and fixing its balancing issues Overall my performance this term was far better...

Nazifa PPJ 9/Post mortem

This week was a lot of last minute UI designs. A lot of the flashing for the health whenever you take a lot of damage, final touches to...

Comments


bottom of page