The reuse of some object-oriented code has caused tactical headaches for
Australia's armed forces. As virtual reality simulators assume larger roles in
helicopter combat training, programmers have gone to great lengths to increase
the realism of their scenarios, including detailed landscapes and, in the case
of the Northern Territory's Operation Phoenix, herds of kangaroos (since
disturbed animals might well give away a helicopter's position).
The head of the Defense Science & Technology Organization's Land
Operations/Simulation division reportedly instructed developers to model the
local marsupials' movements and reactions to helicopters.
Being efficient programmers, they just re-appropriated some code originally
used to model infantry detachment reactions under the same stimuli, changed the
mapped icon from a soldier to a kangaroo, and increased the figures' speed of
movement.
Eager to demonstrate their flying skills for some visiting American pilots,
the hotshot Aussies "buzzed" the virtual kangaroos in low flight during a
simulation. The kangaroos scattered, as predicted, and the visiting Americans
nodded appreciatively... then did a double-take as the kangaroos reappeared from
behind a hill and launched a barrage of Stinger missiles at the hapless
helicopter. (Apparently the programmers had forgotten to remove that part of the
infantry coding.)
The lesson? Objects are defined with certain attributes, and any new object
defined in terms of an old one inherits all the attributes. The embarrassed
programmers had learned to be careful when reusing object-oriented code, and the
Yanks left with a newfound respect for Australian wildlife.
Simulator supervisors report that pilots from that point onward have strictly
avoided kangaroos, just as they were meant to.
From June 15, 1999 Defense Science and Technology Organization Lecture
Series, Melbourne, Australia, and staff reports.