My personal fave 2600 game, hands down.Chris J's manager had just returned from a meeting with The Admirals and called for an impromptu debriefing with the team. As everyone gathered, they noticed he wasn't wearing his we finally sign-off face.

"Overall," the manager said in a serious tone, "the Navy is very pleased with the application. There weren't any data problems on their side, and they were satisfied with the quantity and quality of documentation. Even the number of manhours we spent on the project was well within their acceptable limits."

"However," he paused momentarily, shifting into his why in the world didn't anyone say something sooner voice, "there was one little thing they needed more than anything else. The unexpected."

The Good Kind of Unexpected

"Unexpected" and "military" are two words that usually don't go together. In the military, every plan has contingencies and every contingency has plans, and each of the plans have contingencies all their own, ad infinitum. But for Chris's project — a state-of-the-art simulator for the US Navy — the unexpected kinda made sense.

The simulator that Chris's team was building was not the fancy, super-secret, graphical, whiz-bang set-up like the chimps used in the movie Project X. Instead, it was more like an RSS feed on steroids that would feed some other fancy, super-secret, graphical, whiz-bang system built by another defense contractor.

Their system was designed to simulate the movements of anything from a single plane to a tank or even an enemy rick-shaw. Each simulated entity would move according to the rules of whichever "mover" plugin was selected and the data would help train the country's military leaders of tomorrow.

Though the Admirals had specified hundreds of different "mover" scenarios, none of them were "unexpected". They were all predictable formations with predictable patterns. If the Navy was going to train officers to handle the next crackpot government with a nuke, only being able to counter "left-flanking submarines with a battleship at 500m" was not going to cut it. They needed something more. They needed an Entropy Button.

The Entropy Button Explained

Chris initially imagined the entropy button would be one of those activation switches in NORAD that was protected by a clear lucite box and needed a key to open. But instead, the Admirals only wanted a magenta-colored rectangle added to the Naval instructor's screen. Also, in all documentation, the button was to be referred to only by its official name: the "Enemy Target Vector Randomizaion" button. But nobody on Chris's team called it that: "entropy button" sounded much cooler so the name stuck in all of their conversations.

Basically, whenever things were going a little bit too smoothly, the instructor could press the button and it would suddenly shake things up a little. The lesson learned would be that yes, the enemy will not always follow a straight course and just may swerve one way or another or may and, on occasion, not-so-accidentially fire at a target "just because".

The team worked tirelessly to add the button to their system and, after a few weeks, entities could now randomly accelerate, decelerate, and turn corners at the click of a button. They scheduled another demonstration for the Admirals, hoping this time to get their sign-off.

Everyone Loves Entropy

"This is completely useless," one of the Admirals scowled during testing. "The button never does the same thing twice!"

"Well sir," Chris's manager nervously explained, "it's a 'Randomizaion' function. It's designed to offer different, random move–"

"But if it's always different," another Admiral interupted, "how can we judge the effectiveness of the training if the scenario isn't repeated? No, this won't do. Keep it random, but the same every time!"

Disheartened, the manager returned to the team and asked them to implement the paradoxical request... and to do so fast, as the delivery deadline was getting further and further behind. Fortunately, Chris was able to develop a "better" randomization procedure: he simply seeded the generator with the same value whenever the button was pressed.

In the end, the Admirals were satisfied with the new "random" scenarios and were able to train the country's military leaders of tomorrow.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!