16K MUD competition

Less is more! Modern MUD code bases exceed 100,000 lines of code and come as multi-megabyte files for download. But how much can really be done when space is limited?

This page describes the rules for the first 16K MUD competition. The contestants will create an Internet-accessible multi-user text game, keeping the source code and data files under 16 kilobytes. The winner will be the person who (as evaluated by the judges) creates the most feature-full, maintainable, stable and fun MUD.

The submissions period is over. We are now judging the submissions. All contestants will be notified of the result by e-mail. We're only slowly getting through the MUDs -- it takes several hours to go through just one MUD so we don't have a definite date by when the competition will be over.

An official line counting program is now available. You can use it as a CGI form here or download the Python source and run it from the command line

Rules

  • The product should be a multi-user game that can be accessed using telnet on the Internet. The multi user game definition is: multiple users can connect and can somehow affect each other. It could be just a talker, a small MUSH like server where everyone can create new things or a full-blown combat PK MUD where users can gain in power by killing other users. Or maybe something completely different.
  • The program can be made with any general purpose programming language. You can only use the core libraries that come with the language. Acceptable languages are: C, C++, Perl, Python, TCL, Ada, REBOL, REXX, Pike, Cold etc. Not acceptable: LP (it's not general purpose enough)
  • If your language of choices does not support sockets in its standard libraries, you can use an external library just for that
  • The total size for the MUD source and data should be 16 kilobytes (16384 bytes). You can include setup documentation which does not count against the limit.
  • Comments and blank lines do not count against this limit. However, your program must be able to run when the comments and blank lines are removed, so you cannot encode code in them :)
  • Generally, don't try to avoid the limit. It's OK to compress the data, but the data should then not contain any code. You can't fetch the code dynamically, you can't embed the code in filenames, etc.
  • The tentative deadline is May 1st 2000. After that, the judges will start examining the programs.
  • The source and data files must be made available for download after May 1st. I will provide space on my server for this purpose (or I can link to your page if you'd rather do that). You can put whatever license you want on the code, as long as people are allowed to download and view it.
  • There are two categories in the contest, one for "high level" languages which are typically dynamically typed, contain advanced data structure as part of the language and interpreted, and one for "low level" languages which have strict typing and are compiled to native code prior to running. Currently the split is as follows:
    • High level: Perl, Python, Pike, TCL, REBOL, Cold, Visual Basic
    • Low level: C, C++, Java

    Although Java is usually not compiled to native code, it has strict enough typechecking and lacks builtin advanced types.

    The winner of the category with the most contestants will pick the prize he wants first, unless the sponsor wants to give the prize to a specific category.

  • Prizes:

Current judges

There will be at least three judges. You should be a veteran MUD player and admin to become a judge. Preferably, you should be able to program in several of the languages the MUD can be written in, so you can measure the style of the code writing. Mail me if you want to be a judge. Current judges are:

  • Kastagaar - Computer Science student at Leeds University, UK. Kastagaar started playing MUDs three years ago, and is currently an implementor on a Envy MUD in development
  • Sam - network analyst; MUD player for 5 years and developer for 3. Runs the X-Box hosting service.
  • Nick Shaffner - Professional PC game developer for 10 years, MUD player for 8 and developer for 4, works for 3D Realms on Duke Nukem Forever
  • Crystalmir - MUD player for 5 years and developer for nearly 3, technical supporter for therush.net
  • JC Lawrence - Contract programmer, MUD player and developer for more than 15 years, runs the MUD-DEV mailing list
  • Erwin S. Andreasen - UNIX software designer, MUD developer and player for 6 years
  • Udo A. Steinberg - CS major, network administrator, MUD developer for 3 years

Judgment categories

Each judge secretly assigns each contestant a score between 1 in 10 in several categories. The currently suggested categories are:

  • Features -- what can the MUD do? Is there combat, OLC, do players save?
  • Maintainability -- could anyone but the author understand the source code? What are the expansion possibilities of the MUD?
  • Technology -- what cool features does the implementation have? How efficient is it in memory and CPU usage? (Not sure about this category)
  • Stability -- does everything work as expected, does the MUD ever crash, are there any bugs?
  • Fun -- is the MUD actually fun to play?

Current contestants

These people are going to enter the competition. You don't have to sign up here, just as long as you will prior to May 1st tell the judges that you want your work to be judged. If you sign up, feel free to include a bit information about what language you will be using or even what sort of MUD you want to create.

denotes that I have received an entry from the contestant.

Frequently Asked Questions

  • Why not count binary size instead? - The binary size depends on platform and the compiler. Compiling a program with g++ under Linux for example gives me a 73k file! Also, what would be the code size of the interpreted languages? You can also think of the 16k source limit as sort of a time limit: you have only enough time to write 16k of source code for a small MUD, what would tools wolud you use? Hopefully C/C++ will still have a chance, having a seperate category for themselves.

What's new
Nov 16 A few user contributions to LeakTracer
Sep 19 The wonderful world of CSS
Feb 13 New XEmacs elisp -- C/C++ utilities

Site navigation


External links for this page