What's happened? Well, lessee...
- Collision detection is finished
- Damage model is finished
- Demonstrated the project to the rest of the 3rd year class
- Wrote up some extra documentation for the faculty's benefit
Collidable objects can be attached to other collidable objects objects across different levels in the entity hierarchy. Because of this collisions can occur at different levels of the hierarchy. In fact collisions can even occur across multiple levels in the entity hierarchy. For example, a fighter's gun can touch another fighters hull and the attached wing. This has to be taken into account. The additional complexity, during my testing, amounted to more CPU work than simply testing all object AABBs within a spatial hash bucket without grouping them.
A plausible compromise would be to use the grouping only as a first-pass (i.e. whole group) method of eliminating collisions. This would probably give the best bang for the buck since group parents are easy to find (removing the pain of implementing breadth-first with the current entity storage system, a giant array) and, in the case of capital ships, a LOT of collision tests can be eliminated at once. For now though, this solution doesn't exist. I'll probably add it when I have the time.
Speaking of time, the previous sprint (number three for those who care) finished seriously behind schedule with an estimated 50ish hours of work leftover. For comparison purposes, the faculty expects a bit less than that amount of work to be done per person per sprint.
I am now confronting the pile of unfinished work and attempting to catch up to where I originally wanted to be at the halfway point for the project. This particular sprint, currently set up to occupy my between-semester vacation time, I decided to focus on eye and ear candy in addition to the neglected work from sprint 3.
- Positional audio
- Particle effects (running on the GPU no less, though I got the original code/concept from Microsoft's sample code at the XNA Community site)
- Lighting, at least some basic global lights and hopefully an initial shadowing model
- Fixing an amusing, but mysterious, off-by-one-frame bug in the view (or world) matrix of some objects
I'll also try to find some time to get another Content Pipeline series entry written up.
No comments:
Post a Comment