It looks fine to me. No Cartesian products, and no violations of Single-Value rule.
Other generic performance advice applies. Get a report from the optimizer to make sure you're using indexes properly.
Consider if compound indexes would help (e.g. army: wargame_id, army_key).
Consider covering indexes (e.g. soldier: army_key, dead, type_id, achievement).
Bill Karwin
2009-09-22 20:16:48