MechMania

From Wikipedia, the free encyclopedia

Mechmania
Status Active
Venue University of Illinois at Urbana-Champaign
Location Urbana-Champaign, Illinois
First held 1995
Official website
MMV title graphic
MMV title graphic
MMVIII logo
MMVIII logo

MechMania is an annual programming contest hosted by the ACM chapter at the University of Illinois at Urbana-Champaign. Teams compete by writing an AI for a game (the type of which varies from year to year). After a day of coding and debugging, teams compete in an elimination tournament shown on a wall-sized projection screen.

Contents

[edit] 1995 - MechMania: "It's Stompin' Time"

MMI logo. Art by Max Levchin.
MMI logo. Art by Max Levchin.
MMI visualizer
MMI visualizer
MMI visualizer
MMI visualizer

[edit] Gameplay

This year's programming contest is essentially an advanced game of Capture the flag where the flag is an armored base, and the goal is to annihilate it.

MechMania - "It's Stompin' Time" will provide the opportunity for up to twelve teams of three people each to out wit each other on the game field. We will provide a networked game server and a basic network game client. Each team will have one day to write C++ classes that override the default Mech behaviors.

The first task of your code will be to choose an army of Scout, Light, and Heavy Mechs, and armor your base with a given number of resource points. You can override behaviors for all of the Mechs, or you can modify behaviors for each individual type of Mech. Suggested behaviors include scouting the position of the opponent's Mechs and base, guarding your own base, and attacking opponent's forces.

[edit] Story

The story so far…It wasn't your fault that the navigation computer made a division error and sent the jumpship off course into hostile territory. Ever since you signed on it was obvious that this jumpship was not exactly what you might call "cutting edge technology," but she had it where it counts. At least that is what the captain told you. Overall he was a pretty good man, except for his annoying habit of calling you "kid."

But heck, the pay wasn't bad. When you were called to the bridge to help get the system back online, you noticed for the first time a stack of 62 CD-ROMs jammed behind the computer. Your heart sank when you pulled them out and realized they were the install disks for a stolen beta copy of the Klingon version of Windows 95 (the 2395 version, build #12564). You never realized the ship was in such a sad shape.

Such is life. After five or six reboots and the reconfiguration of a few drivers, things began to look better. The crew managed to get the ship turned around and heading back to your own territory when you finally got the nav system back online. With the final checks completed, you enganged the nav system -- and the ship promptly turned around and headed back into hostile territory. It seems that whoever wrote the control code for the engine system forgot to seed the random number generator feeding the Infinite Improbability Drive, so the ship was doomed to forever repeat its own mistakes.

So much for doing things the easy way. Disengaging the nav system, it was time to find somewhere to hide out until things could be worked out. After scanning the area, you put the ship into a low orbit around a very unfriendly looking planet. The large amount of electrical subspace distortions and anti-tachyon particle emissions from the planet would make it difficult for other ships to accurately scan the area.

It was the perfect hiding place. At least it would have been if the weapons computer hadn't been accidentally crosswired to one of the recreational systems running a copy of Doom XXVII. Things were tense when a small patrol was spotted, but there was no possible way they could have detected the ship at that range. No possible way until the weapons computer got confused with what was reality and what was not and open fired on the patrol.

This was just not your day.


With the nav computer in infinite loops (in more ways than one) and the weapons computer busy blasting away mythical beasts with its BFG, there was little question it was time to bail. Your only hope of surviving was to pile into one of the dropships and descend to the planet. With a little luck the fast approaching patrol would not even notice the small dropship ejecting from the jumpship.

Luck has been against you all day, why should that change? The trip down was no joyride. The sensors showed an atmosphere heavy with particulate matter and London dispersion forces. You never have figured out just what London dispersion forces are, but they don't sound good. The sensors are amuck…the landing system was having a hard time calculating exact altitudes, and ended up correcting for a 200 meter error by running into the ground.

The ship looks like it will hold together, but weapons system are out, and it doesn't look like you are going to be taking off anytime soon. To make matters worse the sensors were able to pick up the image of an enemy dropship following you down. The only good thing is that it seems they have taken just as much damage from the trip down as you have.

There are very few options you have left. The dropship is packed with fully armed mechs, but most of the mech pilots were accidentally flash frozen in a strange cryogenic accident involving the stasis chambers a few weeks back. Something about scamming parts from the stasis system in an attempt to build a zero-G hottub. The plan was to deal with them when the ship returned to the homeworld. Since your own experience with driving a mech is limited to cheap VR systems, it looks like you will have to pull some fancy tricks with the programmable autopilot systems onboard each mech. Comm systems look operational, but the large amount of dust in the air seems to really mess with the operational range of the laser guided targeting systems. This isn't going to be easy. As if it ever is. It is time to get some hot food and start coding.

Unfortunately the crash landing caused the replicators to go on the fritz -- every time you ask for a pizza, a slice is missing. When you ask the computer why it keeps holding back a slice, it claims it needs to taste the pizza first to be sure it's kosher, and that this is a feature. Feature. Right. As if that isn't bad enough, the only drinks the replicators seem to be able to produce are Diet Mountain Dew and Caffeine Free Pepsi.

Here you are, the night before the battle, and you are going to die of thirst. Pulling one of your most prized possessions from your vest - a backup tape with the quantum matrix for both Mountain Dew and Jolt Cola - it isn't long before you get the replicator making something useful. With a fresh ANSI standard code-pie (minus one slice) and something decent to drink, you crank the sound system. A smirk crosses your face when you realize what you are wearing. It was an old promotional T-shirt that says "CodeWarrior: Blood, Sweat, and CODE" How ironic. The enemy will attack at dawn (don't they always?) and you must be ready.

Let the hacking begin.

[edit] Dev Team

  • Brian J. Swetland
  • Jay Kreibich

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] References

[edit] 1996 - MechMania II: "The Wrath of Const"

MMII logo
MMII logo
MII visualizer
MII visualizer
MII visualizer
MII visualizer
  • Tagline: "In space, no one can hear you recompile"
  • Tagline2: "The Ultimate Programming Contest is BACK, And this time, the entire Universe is up for grabs!"
  • Sponsor: ACM@UIUC
  • Website: http://www.acm.uiuc.edu/mechmania/1996/

[edit] Gameplay

Total Control of the Universe. MechManiaII Teams will code the intelligence behind a fleet of starships in a capture-the-flag, Galactic Conquest scenerio.

1. The Universe The MechManiaII Universe is composed of N StarSystems, arranged in an XY grid (representing their distances from each other in Hyperspace). N will probably be between 20 and 30, and the grid is looking to be 42x42, but this may change during playtesting.

2. Ships Each Team (the client program written by a MechManiaII Team) controls the actions of a fleet of starships. These Ships may be at a StarSystem, or in Hyperspace, en route to a new StarSystem. Ships have a fixed amount of Power (provided by a fusion reactor or whatnot) that may be allocated to Engines, Shields, Weapons, etc.

3. The Game The game itself will be most likely be a capture-the-flag type thing. Exact specifications will be documented in the "MechManiaII Universe Conquest Manual". It will be turn based -- each 'turn' is a year in game time: all ships in hyperspace move, all ships in a StarSystem may take an action, any combat is evaluated.

4. Game Architecture The game itself is a client-server system. The server maintains the game world, evaluates all actions, and keeps the peace (or lack thereof). The server will run the game. Two team clients will battle for control of the universe. Any number of observer clients will display data (starmaps, team status, etc.)

[edit] Source of the name

"I will let your Mech live if, in addition to yourself, you turn over to me all material concerning a project called…Caffeine."

"Caffeine? Never heard of it."

"Don't insult my intelligence, Admiral."

"Keptin! It was Const! He put structs inside our bodies, made us segfault, made us say horrible things…"

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] Unused Names

http://www.acm.uiuc.edu/mechmania/1996/titles.html

[edit] References

  • References to caffeine were a joke to referring to the ACM@UIUC Caffeine project

[edit] 1997 - MechMania III: "Another Mech in the Wall"

MMIII title graphic
MMIII title graphic
1997 collage
1997 collage

[edit] Dev Team

  • Andrew Dalke - Molecular Biology and Strategy
  • Greg Kaiser - Umpire and Dudeman Incarnate
  • Jason Luther - Untitled Man
  • Brian J. Swetland - Procrastination Man

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 1998 - MechMania IV: "The Vinyl Frontier"

MMIV logo
MMIV logo
1998 over-the-shoulder screenshot
1998 over-the-shoulder screenshot

[edit] Gameplay

Spacer

for

images

.

[edit] Dev Team

  • Misha Voloshin
  • Jason Govig

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 1999 - MechMania V: "Vengeance of the slain"

MMV logo
MMV logo

[edit] Story

Over one hundred years ago the planet earth was embroiled in its most dismal war. No one yet living remembers its exact cause, but no one was too young to be spared its merciless horror as rival terran and colonial clans waged bitter conflict throughout the solar system.

Most humans learned to live new lives in hidden bunkers--timid rabbits fearful of slaughter by the most ruthless of the elite warrior class. The only humans who lived in security and comfort were the employees of weapons manufacturers who readily supplied all clans with advanced armaments. Most notable was the line of "MECH" systems, whose sophisticated artificial intelligences aided their pilots and allowed for very complex warfare tactics.

The rest of the galaxy, which once regarded our solar system as relatively peaceful by its own standards, now referred to it in new terms. Loosely translated they meant "Place of the Bloody Metal" or "Place of the Soul-less Conflict."

To the weapons contractors' programmers, however, the war had a different name. Since the companies were too valuable, the programmers, freed from fear of destruction, could watch the battles with an evil joy. They didn't care about the human aspect of war. They instead competed with themselves to develop the best MECH artificial intelligences.

To them, the war was called "MechMania."

With the end of the clans' war the battle-scarred MECH systems were locked away in vaults with the naive hope they'd never see action again. Out of sight, out of mind. Humanity prospered in peace.


One day a salvage team from the financially desperate Nimbus Terraform Corporation stumbled across a forgotten vault and, despite interplanetary treaties outlawing intrusion, sent an experienced survey crew to investigate. As the survey crew entered the musty, forlorn bunker it marvelled at its size. Damaged spacefighters, plasma-scarred pulse laser cannons, and giant quantum generators lined corridor after corridor. It was quite a find, yet although the team knew no one had set foot in the vault for decades it couldn't help but feel the presence of something more menacing eyeing its movements. Accidentally triggering a proximity sensor, the team powered up backup vault power systems.

The original MECH programmers accomplished many miracles in their designs. Genetic algorithms, trillions of synthetic neurons, and hyper-advanced heuristics harmonized in wonderful elegance. MECHs could function with near complete autonomy back in the war. What no one bargained for was the MECHs' ability to learn--even without human intervention! Even under reserve power the MECH systems' sythetic brains grew in capacity; their only goals: continued war and revenge.

The survey crew was never heard from again. Instead the salvage team radioed frightening video footage back to its parent company. Battle-hardened, century-old MECH systems tore apart their titanium-reinforced concrete graves. Intelligent or no, the look of determination and hatred in their optics was unmistakable. Locating other vaults across the solar system, the MECHs revived allies and fought rival MECH systems with the weapons their original human pilots had unknowingly taught them to use. Only the strongest survived for the final conflict.

Thus MechMania began once again!

MechMania 5: Vengeance of the Slain

[edit] Dev Team

  • Nick Michels

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 2000 - MechMania VI: "Redemption"

  • Sponsor: ACM@UIUC
  • Website: Hosted off site from ACM@UIUC and was lost

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 2001 - MechMania VII: "Trade Wars"

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C# while the language was still in its infancy with the help of Microsoft, resulting in a number of complications in the server code. Chris Mullen would later summarize "In the end, the contest never ran successfully, and the contestants were furious."

[edit] 2002 - MechMania VIII: "Code quickly and carry a big stick"

MMVIII logo
MMVIII logo

[edit] Story

Those were the good days. Driven by an abundance of materials, a demand for consumer goods and the military-industrial complex, humanity expanded into the cosmos at a break-neck pace. Star system after star system was colonized and terraformed, asteroid belts were carved up for their vast stores of vinyl, and factories the size of planets churned out a bewildering array of products that the teeming quadrillions swarmed over like ants in a sugar bowl.

But it couldn't last; the stream of mega-transports that once moved trillions of tons daily now only moved billions, and then millions, and finally slowed to almost a trickle. Deprived of their revenue stream, the tera-corporations expanded into the energy market. In what later became known as the "Energy Wars", the corporations fought for control of the power transmission stations on the few energy rich worlds with their "Mechs"-- giant intelligent war machines almost as insane as their poorly-socialized masters.

But when the dust settled the situation had not improved. The ravenous consumer culture demanded materials, and none were to be found. Factories went dark, and runs on soft drink dispensers decimated the caffeine supply.

In desperation, the corporations turned control of the galactic economy over to modified Mech control systems, hoping that the maniacal intelligence that had served them so well in the Energy Wars could find a way to allocate the scarce resources so all could profit.

But it was too late. A clever corporation (whose name has been obliterated from the few remaining historical documents) sent spies to infiltrate and sabotage the computer systems the Mech brains used to communicate with each other, and the final effort to stabilize the economy failed.

What followed was a hundred years of chaos. Lacking materials and energy, space travel ground to a halt, with only a handful of hardy traders risking the distances between the stars. Flung back into the Dark Ages and cut off from civilization, slowly the shattered worlds started to rebuild.

But all was not well. Scattered across a dozen worlds, secret societies of "hawk-urz"--heirs of the original Mech designers of a century ago--planned for the time when they would again ply the space-lanes and command the most powerful armies of Mechs the galaxy had ever seen.

Their time has come.

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 2003 - MechMania IX: "The Age of the Adamas"

MMIX logo
MMIX logo

[edit] Story

The Age of the Adamas.

War has begun again. In a time once revealed for its technological advancement, chaos now reigns. Technology, once the reason for the years of tranquility is now the cause for the turmoil erupting on the planet. All this fighting exists for once reason: Adamas, a man-made gem based on the early 21st century process of creating lab-produced diamonds.

The history of the diamond is a well-known story of greed and monopoly. But around the early 21st centuries, this precious stone was revealed no longer for purposes of jewelry, but found a new value in the world of computing as it steadily came to replace the silicon based chips that had been the primary source driving the processor chips at the time. At the advent of the lab process for producing large quantities of diamonds for minimal cost, diamond chips rapidly surpassed silicon chips for their ability to run at speeds which produce temperatures hot enough to liquefy a silicon chip.

This lasted for some time and the lab process eventually became altered several times over producing skewed variations that surpassed the properties of even a natural diamond hundred times over. Moore.s Law was maintained for centuries on this lab processing based development. But the developments of such high technology lead to many world wars. Naturally war only furthered the advancement of technology resulting in the creation of Mechs, giant intelligent war machines built for one purpose: to destroy at any cost. The creation of the Mech and the forecasting for future wars only fueled the advancement of computing power even further to the development of the latest gem, Adamas. Adamas has properties that would enable any system powered by it nearly unstoppable.

Naturally such capabilities in the Mech war machines have every world power drooling. Before the Adamas creation process was finalized, several minor wars erupted between the major powers until only a few now remain. Though their supplies are limited and only a handful of Mechs survived the minor battles, they currently plot against each other for control with only one thing standing in their way.

The lab process to create Adamas requires not only diamond but also relies on the newly discovered element, Eris, which can only be mined in the deepest canyons of the oceans. Only a few mines have survived the previous battles, but they may be enough to supply the creation of enough Adamas to build the Mech army necessary to rule the world. On the brink of war, the last remaining powers are scrambling to get their hands on those mines to supply their labs in creation of the strongest Mech armies ever before their opponents do.

[edit] Dev Team

  • Dave Walker
  • Andrew Lusk
  • Dan Sledz
  • Don Schmidt

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 2004 - MechMania X: "X"

MMX logo
MMX logo

[edit] Story

Important Message from the Fleet Received and Decoded

War used to be simple. There was us and them, the heroes and the villains, no questions asked. That was, until the Betrayal. Our noble allies --- oh how bitter those words are now --- whose diplomats helped us secure a full century of global peace, whose scientists helped us learn to discover and harness renewable energy, whose doctors and researchers helped us eradicate the most horrific diseases.

Yes, they, our great friends, with whom we ushered in a new Golden Age, became greedy. Rather than rule the world with us, they were determined to take it all for themselves. They lured our entire army to the open field, promising the destruction of all our combined arms. How foolish we were to be so trusting; the hundred quiet years had made us weak. Instead of the great moment of friendship and peace, a bloodbath ensued. We lost a full million in this single act of treachery. In a quick retaliatory attack, we made them pay equally dearly; every one of our blood debts was paid back in full. Thus began the War . . .

It has continued as such, matched blow for blow. There is an uneasy calm about the world. Everyone knows things cannot continue this way. The populations of both our countries dwindle. Soon there will only be vagrants wandering the corpse-laden wastelands and deserted cities.

But you knew all of this, of course. It is impossible to be alive today and be unaware of what has brought us to the brink of ruin. As one of only a handful of properly trained military officers remaining, our government has entrusted you with its most dangerous and risky task: win the battle for the open seas. If you succeed, you guarantee our enemies' utter annihilation and the glory of an impossible victory for yourself. If you fail, though, you will damn our people to enslavement and our way of life to destruction.

It's simple, really: our major --- and only --- competitor for the naval sphere holds the opposing coast. All that stands between them and us are open water and a few strategic islands. Gain the islands, it's that easy. Prove that we are the only true sea captains in this world. To support you, the government has ordered all military-related industries to begin wartime production. Your resources will be unlimited. Unfortunately, we only have one shipyard available on this coast. So while you effectively control an infinite supply of submarines, aircraft carriers and destroyers, the production of these ships will take time. Time you don't have.

The strategy we leave in your obviously capable hands. Will you seek a sleek armada of subs, destined to crush our opponents from beneath the surface or will you use the overpowering volleys of our gigantic destroyers to sink the enemy? The choice, and our people's fate, is yours.

-- Fleet Admiral Nimitz IV

[edit] Dev Team

  • Dave Walker
  • Andrew Lusk
  • Don Schmidt
  • Keenan Crane

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 2005 - MechMania XI: "XI"

MMXI logo
MMXI logo

[edit] Story

The Story So Far…

Since ancient times, man has waged war with each other in pursuit of land, resources, and superiority over fellow man. Swords and magic are commonplace and with each passing year comes sharper swords and more potent magic. Fighters, archers, and wizards lay siege to enemy castles where citizens hide in fear. The entire world was engulfed in constant warfare.

In an effort to put an end to the wars, King Kamin, ruler of the most prosperous country in the land, commissioned his subjects to create a weapon of terrible destruction. The weapon was to be named "Mech", the ancient word for peace. It was the king's intent to use the weapon to force the other kingdoms towards a period of peace and prosperity. However, peace always comes at great cost.

The king was betrayed by his subjects and the plans for the weapon were leaked to enemy lands. Before King Kamin was able to put an end to the fighting, his enemies built mechs of their own. However, they did not intend to use mechs for the benefit of mankind. The weapon intended to bring peace instead brought death, famine and destruction across the land. Cities were set a flame by the terrible power of the mech. Farmland was razed and kingdoms crumbled. Each passing year brought more destruction.

Over ten years have passed since the start of the war. Mechs are no longer in production. Armies have been diminished and war funds are being used to fund the rebuilding of kingdoms. However, the war is not yet over!

Reconnaissance spies have spotted an abandoned mech on the outskirts of your kingdom while surveying an enemy kingdom. The king has ordered your troops to capture the abandoned mech and sneak it in to the enemy's castle. Assault the enemy castle and use the mech to burn your way to victory! Peace is finally at hand, but who will be the one to restore it?

[edit] Languages and tools

  • Client for contestants: C++
  • Server: C++

[edit] 2006 - MechMania XII: "Pier to Pier Piracy"

2006 Debug visualizer
2006 Debug visualizer
2006 Debug visualizer
2006 Debug visualizer

[edit] Gameplay

  • A turn based tactical vector based naval combat

[edit] Story

Flipper[1] the dolphin is at war with his evil sister Flapper[2]. Flapper read about her namesakes from the 1920's on the Internet, and has since taken to wearing a dress and a wig. Flipper thinks it's stupid because clothes and hair just slow you down while swimming, but Flapper insists "It's all the rage, the guys at the Sealand data center love it!" To prove his point to the High Court of Bickering, Flipper must collect all the Wikipedia archive CDs he can (the discs were created by spoiled rich children, so they're all CD-RWs, making it easy for him to replace the article on Flappers with a simple redirect to Dolphin). Unfortunately, Flipper lost one of his namesake limbs to a freak motorboat accident off the coast of Bermuda a few years back (don't ask), so he has called upon you and your crew of software pirates to aid in his quest. (Oh, and if you find a burned copy of Iron Orca's "Killer Whale," Flipper wouldn't mind adding it to his collection, but don't mention that to the judge.) To make things a little more interesting, Flapper has also hired her own team of software pirates to recapture Wikipedia archive CDs from you (she intends to remove any references to lack of clothing and hair from the Dolphin article), and moreover seize Flipper's CD collection to prove that he is a music thief, with bad taste at that (Flipper begs to differ on the latter point).

Thus begins the pier to pier piracy…

[1] Flipper was so named because their dad loves playing pinball.

[2] Flapper was named after the "FLAPON\r\n\r\n" command in AIM's TOC protocol because their mom loves chatting with penguins online ("They're such great software developers! We, as dolphins, have a lot to learn from them.").

[edit] Dev Team

  • Jacob Lee
  • Jason Roth
  • Joe Re

[edit] Languages and tools

[edit] Winners

The winner for the 2006 competition was team NOOP from University of Missouri-Rolla which consists of Raymond Myers, Charles Huber, and James Jolly.

[edit] 2007 - MechMania XIII: "Dance Like You Want To Win"

2007 visualizer
2007 visualizer

[edit] Gameplay

A turn based tactical grid based land combat, with dancing.

[edit] Story

The 13th installment will be released on October 13th, 2007

[edit] Dev Team

  • Andres Tack
  • David Majnemer
  • Dennis Griffith
  • Jacob Lee
  • Joe Re
  • Vijay Ramesh

[edit] Languages and tools

[edit] Winners

The winner for the 2007 competition was team Robot Pirate Ninjas of /dev/null of the University of Illinois at Urbana-Champaign.

[edit] Recurring themes

  • Mechs
  • Quad Laser, a la "No one can defeat the quad laser" humour as many competitions' top3 teams use strategies employing unit stacking or combining techniques. Originally this exploited errors in the game design, but later years often purposely added support for placing multiple units in the same location and/or disabled friendly fire to continue tradition.

[edit] References in popular culture

[edit] Sponsors

[edit] Prizes

The MechMania contests always have prizes associated with them (along with participation novelties such as t-shirts) provided by the sponsoring company. For example, 2006 had:

  • First place $375 ($125/person)
  • Second place $225 ($75/person)
  • Third place $150 ($50/person)

As well as plush dolphins (see MechMania XII's story) for winners of the arena match.

iPods have also been given away for MechMania X.

[edit] External links