dcsimg

MegaMek

While email and instant messaging are great ways to stay in touch -- and are nearly ubiquitous -- those "killer apps" are just a little dull. After all, why send email to your brother when you can just as easily reach out and "frag" him?

http://megamek.sourceforge.net

While email and instant messaging are great ways to stay in touch — and are nearly ubiquitous — those “killer apps” are just a little dull. After all, why send email to your brother when you can just as easily reach out and “frag” him?

Indeed, multiplayer games may become the true “killer app” of the Internet, offering entertainment, competition, and interaction, all in mind-bending alternate realities. Multiplayer games let people from all over the world meet and kick the snot out of each other. Many computer games already offer local area and “wide area” multiplayer game play, massively-multiplayer games like Everquest are enormously popular, and all next-generation consoles will leverage broadband connectivity.

But you don’t have to lay out big bucks for proprietary hardware, online subscriptions, and expensive CD-ROMs. All you really need is a personal computer and a little bit of open source software. Amateur game development is enormously popular these days, with almost all genres of gaming — role-playing, strategy, action, and card and board games — available online for free. And don’t let the word “amateur” fool you: the folks building open source games take their work and their gaming very seriously.

This month, Linux Magazine Editor Martin “Super Giant Robot” Streicher and SourceForge Site Director Pat “Bullseye” McGovern try to keep up with the developers of MegaMek, a network-enabled implementation of the classic BattleTech board game. As you’ll see, building MegaMek is a both a passion and a pastime for the project’s developers, including James Damour, L. Derek Evans, Helge Richter, and founder Ben Mazur.








potm_01
Figure One: A screen shot from MegaMek

Describe MegaMek in a sentence.

L. Derek Evans: MegaMek is a program that lets you play the BattleTech board game — a game where 30-foot humanoid robots blast the bot out of each other — across the Internet.

What makes MegaMek unique?

James Damour: MegaMek isn’t a giant-robot first-person-shooter — that genre is well represented by the various Activision and Microsoft games — we’ve simply implemented the rules that made BattleTech an exciting, easy-to-learn, fun-to-play game when the boxed set was first released in the early ’80s. The same core BattleTech rules are still being used today, albeit with many additions and clarifications.

If you belong to a local gaming group, you’ll play MegaMek because it never forgets any of the to-hit modifiers or other rules, and it never gets line of sight (LOS) wrong. People like me who don’t have a regular, local gaming group are free to play, regardless of time and location. Every time I’ve signed onto the MegaMek.NET campaign client, there are dozens of people from around the world waiting to play BattleTech. I’ve played against people from Germany, Spain, and Australia. Better yet, you can save and restore the game at any time.

Evans: There have been several similar attempts in the past to make BattleTech computer-friendly, from “hot seat” [where players take turns at the same computer] Amiga play to dice bots in IRC to WebRPG. However, this is the most successful adaptation to date, since it combines Internet play with automated rules-checking and status tracking in a single program.

How did the MegaMek project get started?

Ben Mazur: I was talking over instant messenger with some of my old gaming buddies who no longer live around me, and we got around to discussing how nice it would be to play some of our favorite games together online. I decided to start up a little project that would let us to play Battletech against each other. I worked on it intermittently for about a year before uploading it to SourceForge. There, over the course of a few months, it really took off.

Tell us a little about yourself: name, rank, call sign?

Mazur: I’m “bmazur.” I’m a freelance developer. I’ve been in college off and on, and am presently living in Toledo, Ohio. Aside from my open source work, which takes between five and twenty hours per week, depending on how demanding my social and work lives are that week, I live a sometimes marginal existence as a freelance web developer and graphic designer.

Damour: I’m an IT consultant, and I live in Albany, New York. I work on MegaMek (and other open source projects) in my spare time as a hobby. Recently I’ve been putting in a lot of hours trying to get buildings added to the game, probably averaging between 10 and 20 hours a week. More normally, I spend 4-6 hours a week. My call sign is “suvarov454.”

Helge Richter: I’m Helge, and my call sign is “McWizard.” I’m 24, a student of computer science at the University of Darmstadt, Germany, and the lead developer on MegaMek.NET [the campaign-game, sister project of MegaMek, available at http://sourceforge.net/projects/megameknet], which provides a game matching and campaign system for MegaMek. I probably spend ten to fifteen hours per week on the project.

Evans: I’m “Deadeye,” and I do RF Test Engineering in a high-volume production environment for an international corporation. I spend an average of five hours per week on actual development. “Testing” can be as much as 30. [Smiles.]

How many people play MegaMek?

Damour: Like all open source software projects, it’s hard to get a good handle on how many people play MegaMek. One person can download the game and share it with his entire gaming group. I bet that we’re a big hit at LAN parties. Imagine playing a Clan Trial of Position Grand Melee with 10-20 other players!

Evans: There is a core group of maybe 400 or more people that download every update, which we typically release on a weekly basis. There may be 5,000 people who download the major updates. I’d guess 2,000 hours per day as a conservative estimate of active usage. If only we could get that much development time…

Damour: I’d say we have about 200 to 1,000 people following the weekly “unstable” changes. It’s quite gratifying (not to mention humbling) to see bug reports within a day or two of the release of the latest snapshot. It pleases me to know that there are players who want to use the latest features and are willing to take the trouble to report any problems they find. I know that I put extra effort into debugging my code changes because when I mess up, it tarnishes the experience for so many players.

Do you need anything special to play?

Richter: The code is written in Java and is targeted to run on Sun’s JRE 1.1. If you have a Linux, Unix, or Mac OS X machine and a compatible JRE, grab the jar file and go. If you use Windows, make sure to install Microsoft’s Java VM or the JRE 1.1 or later and the MegaMek executable. That’s it.

Is there anything you’d change if you could?

Mazur: To tell the truth, when I started the project, I just sat down and began programming, designing only for features I could see myself implementing in the near term. Now that the project has implemented all of those first features and is expanding, some parts of the design are still holding up, while it’s been necessary to revise others. To give an example, when the project first started, it was only possible to target other units on the battlefield. Now, as we add some of the more complex optional rules, such as starting fires or artillery strikes, we’ve had to revise the definition of what is “targetable” to include points on the battlefield as well. So, if I were to do one thing differently, I’d consider every optional rule and even some of the unofficial rules when creating my initial design.

Damour: I’d get the project funded through a private grant so I could quit my day job and work on MegaMek full time. [Grins.]

Where’s MegaMek heading? What’s next?

Mazur: Right now, we’re trying to implement all of the game rules in the master rulebook. That’s the goal we’ve been working on for the project’s lifetime so far… At the moment, we’re in sight of realizing that goal. That, above other things, has been the light on the horizon for me and the thing I want most for the project.

Damour: We are still working on the implementation of buildings, VTOLs [vertical take-off and landing craft], ships, submarines, and a full realization of the “Level 2″ or advanced BattleTech rules.

How can others get involved?

Damour: The simplest (and perhaps the most enjoyable) way is just to play the game! If, while you’re playing, you come across something that doesn’t agree with the official rules, or if you have a suggestion for improving the way the game does things, or even if you have something new that you’d like to see, post it on the SourceForge site. If you can code, or have artistic talents, or can write, there’s something for you to do!



Martin Streicher is the Editor of Linux Magazine. You can reach him at mstreicher@linux-mag.com.

Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62