Information on the 16k mud competition is here.
The source is available here.
My resume.
Most current update of this
document.
Introduction:
My goal here was not to create the ideal server, but rather to implement
a complete playable game, ignoring the ideal server aspects of it (saving
files, logging in, reconnecting). My guess as to how much space my
desired features would take, as it turns out, was some 500-700 bytes over
the limit, but I was able to condense it down to a legal size (according
to the 16k.py filesize checker) with a few snips of strings and some changes
in the variable names.
What exists in this implementation is a multi-user server, that will accept connections, create a ship for the user, who can then trade and battle as he sees fit, until sucked into a black hole or destroyed by one of his opponents. Just to make death more painful, link to the server is cut upon your destruction.
The code itself is just under 16k in size, and is implemented in python. I have been able to successfully run it both on my windows machine and on a *nix account as well, without any internal changes whatsoever.
-ansi color
-basic combat system
-direct launching of torpedos against opposing vessels
-the ability to lay mines to block in opponents
and place hazards along easy trade routes.
-basic trade system
-three types of ore that are traded planet to planet.
Financial success allows for ship upgrades.
-movement
-'Wormgates' tie star systems together. They
grow more chaotic as one travels further from the galactic core.
-regeneration
-Ships regain 1 unit of fuel and 1 unit of hp every
realtime second.
look
Show the contents of the current sector, including wormgates, planets,
and other ships. This command is free
to use.
enter
Move from one sector to another via a wormgate. This command
requires an argument: the number of the wormgate which you wish to enter.
Each use of this command consumes 15 units
of fuel.
radio
The radio command forms a global channel with which to communicate
with other players. This command is free
to use.
?
This command displays your information, including the contents of your
cargo holds, your fuel and your ship's remaining health. This command
is free to use.
name
This command allows you to recommision your ship under a different
name. This command is free to
use.
dock
This command must be used to dock with a planet's space station in
order to conduct trade. While you are docked, you cannot move or
commit any hostile acts. To leave the station, use the dock command
a second time. This command costs 10 units
of fuel per every use.
quit
This command performs a self-destruct, and closes your connection.
You currently cannot save your progress.
viewer
This command performs a detailed scan of nearby space, revealing the
location and status of your opponents. This command consumes 50
units of fuel every time it is used. Use of this scan is detectable
throughout known space.
who
This command returns a list of players currently connected to the game,
their numerical IP's, and the number of seconds they have been online.
This command is free to use.
buy
This command, while docked, allows you to purchase ore. The syntax
is, for example, 'buy ore1 100' to purchase 100 units of ore1. Also,
via the syntax 'buy ship', you can purchase an upgrade, which will increase
your capabilities. This command is free
to use.
sell
Similar in style to the 'buy' command, the sell command allows you
to sell the contents of your holds. This command is likewise free
to use.
torpedo
Allows you to fire a torpedo at an opposing ship. Be warned,
however, as each torpedo consumes 500
units of fuel, and you may not be able to limp away before your opponent
responds in kind. Currently, you cannot abbreviate your target's
name, and it is case-sensitive.
mine
Allows you to deploy a subspace mine into a specific wormgate, where
it will lurk and detonate against the hull of the next ship to pass through.
Each deployed mine consumes 200 units
of fuel.