+1  A: 

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