Hi
Sounds like a topic, which is fun to implement. The topic can be split into three major problems, I think - here my suggestions:
Aiming Algorithm
* it would theoretically be possible to always hit the player if the turret shoots, but this wouldn't be fun would it? So create an aiming algorithm, that hits the player with a certain probability. The probability should be dependant on the distance: P(Hit) ~ 1/distance
* The turret needs some inertia which prevents it from just targeting the player in no-time -> finite turning speed
* the targets a turret tries to hit should be specifyable in the xml file (group name or something).
* Advanced: check for walls in the way to the player: check for collisions on a ray between the turret and the player (bsp collision detection). Otherwise the turret can shoot through walls...
Graphics
* The player should see the projectiles approaching him/her. If they are very fast just draw some lines. The turret should draw the attention of the player as soon as it shoots.
* A muzzle flash would be nice. Make this a billbord that is displayed for some milliseconds.
Sound
* You need to create shooting sounds
* Also some activation sound (if the turret is turning and aiming towards the player a targeting beep is emitted or something like that)
Each of this features needs some implementation time. Be sure to priorize your tasks and to make a development plan. You will see how much of the topics will be feasible...
Ahh.. and yes... be sure to ask the pps instructors about quaternions before starting to write any code!
