Taking pass cleaning up docs
This commit is contained in:
parent
2f2dada10b
commit
68b87d6157
19 changed files with 116 additions and 269 deletions
|
|
@ -1,12 +1,7 @@
|
|||
# Soft Code
|
||||
|
||||
|
||||
Softcode is a very simple programming language that was created for in-game development on TinyMUD
|
||||
derivatives such as MUX, PennMUSH, TinyMUSH, and RhostMUSH. The idea is that by providing a stripped
|
||||
down, minimalistic language for in-game use, you can allow quick and easy building and game
|
||||
development to happen without having to learn C/C++. There is an added benefit of not having to have
|
||||
to hand out shell access to all developers, and permissions can be used to alleviate many security
|
||||
problems.
|
||||
Softcode is a very simple programming language that was created for in-game development on TinyMUD derivatives such as MUX, PennMUSH, TinyMUSH, and RhostMUSH. The idea is that by providing a stripped down, minimalistic language for in-game use, you can allow quick and easy building and game development to happen without having to learn C/C++. There is an added benefit of not having to have to hand out shell access to all developers, and permissions can be used to alleviate many security problems.
|
||||
|
||||
Writing and installing softcode is done through a MUD client. Thus it is not a formatted language.
|
||||
Each softcode function is a single line of varying size. Some functions can be a half of a page long
|
||||
|
|
@ -47,27 +42,15 @@ If you are still curious about how Softcode works, take a look at some external
|
|||
|
||||
## Problems with Softcode
|
||||
|
||||
Softcode is excellent at what it was intended for: *simple things*. It is a great tool for making an
|
||||
interactive object, a room with ambiance, simple global commands, simple economies and coded
|
||||
systems. However, once you start to try to write something like a complex combat system or a higher
|
||||
end economy, you're likely to find yourself buried under a mountain of functions that span multiple
|
||||
objects across your entire code.
|
||||
Softcode is excellent at what it was intended for: *simple things*. It is a great tool for making an interactive object, a room with ambiance, simple global commands, simple economies and coded systems. However, once you start to try to write something like a complex combat system or a higher end economy, you're likely to find yourself buried under a mountain of functions that span multiple objects across your entire code.
|
||||
|
||||
Not to mention, softcode is not an inherently fast language. It is not compiled, it is parsed with
|
||||
each calling of a function. While MUX and MUSH parsers have jumped light years ahead of where they
|
||||
once were they can still stutter under the weight of more complex systems if not designed properly.
|
||||
Not to mention, softcode is not an inherently fast language. It is not compiled, it is parsed with each calling of a function. While MUX and MUSH parsers have jumped light years ahead of where they once were they can still stutter under the weight of more complex systems if not designed properly.
|
||||
|
||||
## Changing Times
|
||||
|
||||
Now that starting text-based games is easy and an option for even the most technically inarticulate,
|
||||
new projects are a dime a dozen. People are starting new MUDs every day with varying levels of
|
||||
commitment and ability. Because of this shift from fewer, larger, well-staffed games to a bunch of
|
||||
small, one or two developer games, some of the benefit of softcode fades.
|
||||
Now that starting text-based games is easy and an option for even the most technically inarticulate, new projects are a dime a dozen. People are starting new MUDs every day with varying levels of commitment and ability. Because of this shift from fewer, larger, well-staffed games to a bunch of small, one or two developer games, some of the benefit of softcode fades.
|
||||
|
||||
Softcode is great in that it allows a mid to large sized staff all work on the same game without
|
||||
stepping on one another's toes. As mentioned before, shell access is not necessary to develop a MUX
|
||||
or a MUSH. However, now that we are seeing a lot more small, one or two-man shops, the issue of
|
||||
shell access and stepping on each other's toes is a lot less.
|
||||
Softcode is great in that it allows a mid to large sized staff all work on the same game without stepping on one another's toes. As mentioned before, shell access is not necessary to develop a MUX or a MUSH. However, now that we are seeing a lot more small, one or two-man shops, the issue of shell access and stepping on each other's toes is a lot less.
|
||||
|
||||
## Our Solution
|
||||
|
||||
|
|
@ -75,20 +58,10 @@ Evennia shuns in-game softcode for on-disk Python modules. Python is a popular,
|
|||
professional programming language. You code it using the conveniences of modern text editors.
|
||||
Evennia developers have access to the entire library of Python modules out there in the wild - not
|
||||
to mention the vast online help resources available. Python code is not bound to one-line functions
|
||||
on objects but complex systems may be organized neatly into real source code modules, sub-modules,
|
||||
or even broken out into entire Python packages as desired.
|
||||
on objects but complex systems may be organized neatly into real source code modules, sub-modules, or even broken out into entire Python packages as desired.
|
||||
|
||||
So what is *not* included in Evennia is a MUX/MOO-like online player-coding system. Advanced coding
|
||||
in Evennia is primarily intended to be done outside the game, in full-fledged Python modules.
|
||||
Advanced building is best handled by extending Evennia's command system with your own sophisticated
|
||||
building commands. We feel that with a small development team you are better off using a
|
||||
professional source-control system (svn, git, bazaar, mercurial etc) anyway.
|
||||
So what is *not* included in Evennia is a MUX/MOO-like online player-coding system. Advanced coding in Evennia is primarily intended to be done outside the game, in full-fledged Python modules. Advanced building is best handled by extending Evennia's command system with your own sophisticated building commands. We feel that with a small development team you are better off using a professional source-control system (svn, git, bazaar, mercurial etc) anyway.
|
||||
|
||||
## Your Solution
|
||||
|
||||
Adding advanced and flexible building commands to your game is easy and will probably be enough to
|
||||
satisfy most creative builders. However, if you really, *really* want to offer online coding, there
|
||||
is of course nothing stopping you from adding that to Evennia, no matter our recommendations. You
|
||||
could even re-implement MUX' softcode in Python should you be very ambitious. The
|
||||
[in-game-python](../Contribs/Contrib-Ingame-Python.md) is an optional
|
||||
pseudo-softcode plugin aimed at developers wanting to script their game from inside it.
|
||||
Adding advanced and flexible building commands to your game is easy and will probably be enough to satisfy most creative builders. However, if you really, *really* want to offer online coding, there is of course nothing stopping you from adding that to Evennia, no matter our recommendations. You could even re-implement MUX' softcode in Python should you be very ambitious. The [in-game-python](../Contribs/Contrib-Ingame-Python.md) is an optional pseudo-softcode plugin aimed at developers wanting to script their game from inside it.
|
||||
|
|
@ -1,15 +1,9 @@
|
|||
# Using MUX as a Standard
|
||||
|
||||
|
||||
Evennia allows for any command syntax. If you like the way DikuMUDs, LPMuds or MOOs handle things,
|
||||
you could emulate that with Evennia. If you are ambitious you could even design a whole new style,
|
||||
perfectly fitting your own dreams of the ideal game.
|
||||
Evennia allows for any command syntax. If you like the way DikuMUDs, LPMuds or MOOs handle things, you could emulate that with Evennia. If you are ambitious you could even design a whole new style, perfectly fitting your own dreams of the ideal game.
|
||||
|
||||
We do offer a default however. The default Evennia setup tends to *resemble*
|
||||
[MUX2](https://www.tinymux.org/), and its cousins [PennMUSH](https://www.pennmush.org),
|
||||
[TinyMUSH](https://github.com/TinyMUSH/TinyMUSH/wiki), and [RhostMUSH](http://www.rhostmush.com/).
|
||||
While the reason for this similarity is partly historical, these codebases offer very mature feature
|
||||
sets for administration and building.
|
||||
We do offer a default however. The default Evennia setup tends to *resemble* [MUX2](https://www.tinymux.org/), and its cousins [PennMUSH](https://www.pennmush.org), [TinyMUSH](https://github.com/TinyMUSH/TinyMUSH/wiki), and [RhostMUSH](http://www.rhostmush.com/). While the reason for this similarity is partly historical, these codebases offer very mature feature sets for administration and building.
|
||||
|
||||
Evennia is *not* a MUX system though. It works very differently in many ways. For example, Evennia
|
||||
deliberately lacks an online softcode language (a policy explained on our [softcode policy
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue