top of page
Writer's pictureDrew Graham

Drew Graham - PPJ 1

Updated: Aug 25, 2019

Wow I did way too much work this week but here we go:

  • Reworked sound code to use my SoundController from last term's project: 5 hours

  • Drafted up Enemy AI systems redesign to replace current code: 5 hours

  • Met with teammates to review/flesh out system: 3 hours

  • Met with teammates to go over existing codebase: 2 hours

Total: 15 hours


Most of my energy was spent on designing a high-level UML for the enemy AI; I'm happy with what I've come up with and the other programmers seem fairly confident that it will work. While I'm nervous that it might be too complex a system, the combat in our game's design demands a complex solution, so I won't let that discourage me. I'd like to get some experience designing complex AI interactions


The system I've drafted should allow for high-level tactics to be created (ex. Cautious Tactic: move around the player and fire projectiles at him from a distance), all of which consist of moving and/or attacking. However, different enemies could carry out these tactics in different ways; for example, a HellBat might move around the player in a zig-zag motion, and shoot a spread of projectiles. Another enemy implementing this tactic (let's say we want the Steamon to use projectile attacks sometimes too) might move in a simpler circular path around the player, and shoot a 3-round burst of projectiles. These tactics can be assigned and switched at runtime as well; if an enemy has low health, we could (in theory) give them a Retreat tactic that tells it to distance itself from the player and slowly heal itself over time.


Hopefully I'm not in way over my head.

Here's the high-level UML we came up with so far - the circles are abstract classes, while boxes are concrete

15 views0 comments

Recent Posts

See All

Joseph Chaga PPJ 01

Tasks: Brainstorming new music for the term: .5 hours Began work on next level fight music: 4 hours Total: 4.5 Hours Positives: I'm...

Commentaires


bottom of page