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.
- Category H ("high-level" languages)
- Category L ("low-level" languages)
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 |
|
| External links for this page | |
|
|