Thursday, March 24, 2011

Pathfinding

This week I finished up the A* algorithm. Now that I have basic pathfinding implemented, I'd like to integrate it with Unity so that I can give an agent a target destination and have it move to the target using the calculated path. Right now, the implementation assumes that obstacles are not moving, which of course is an unrealistic assumption and an area that I will need to revisit later. Another next step will be to code a basic AI for "wandering" enemy movement.

As far as self evaluation goes, I feel that these past few weeks have been more difficult in terms of balancing senior design with my other classes. I felt that my alpha review went well and that my work earlier in the semester helped me build a strong foundation for my project. Now I just need to set aside more time to actually coding and implementing my framework. It seems sometimes that the deeper I get into the project, the more tasks I discover and need to add to my to do list (such as basic AI for enemies).

Current task list:
- Integrate pathfinding with Unity
- Enemy AI for wandering movement
- Visibility algorithm
- Updating A* for moving enemies
- Implement behaviors

Needless to say, I have a lot of hard work ahead of me! The self evaluation was helpful in recognizing this--thanks Joe!

Thursday, March 17, 2011

Back to Work

Spring break was a nice break from work.  Now back to it!

I've been thinking more about my visibility detection problem this week.  I think I will start with a simple detection method for now and add to it once I've got a basic version working.  A basic implementation would be to keep checking if an agent is in an enemy's line of sight as agents and enemies move over time.

The next conceptual problem I wanted to tackle was the Hide behavior.  The Hide behavior is more difficult than Walk and Run because Hide needs to move the agent into a space on the map that will block its visibility from approaching enemies.  A simple way of achieving this objective would be to identify hiding spaces on the map and have the agent calculate a path to that target hiding spot.

I've also been working on implementing A* this week.  The main reference I have been using has been this article.  My goal is to have the algorithm implemented and tested by the end of the weekend, so look for more updates then!

Also, before spring break, I had updated my design document, which you can find here.

Thursday, March 3, 2011

Alpha Review Feedback

Check out my alpha review video from last Friday here.

This week, I got comments back from my alpha review.  Overall, the feedback was positive.  There were a number of comments and input on how to model visibility as well as the behavior trees for the basic actions (Walk, Run, Hide, Flee).

I had 3 midterms, 1 paper, and a quiz this week, so unfortunately I don't have much to report on the senior design front.

Next steps
  • Implement A*
  • Figure out how to model visibility
  • Flesh out more detailed trees for basic actions