Update contrib-overview with all current contribs
This commit is contained in:
parent
adfcbe3a5d
commit
9ed08a825d
3 changed files with 302 additions and 91 deletions
|
|
@ -13,13 +13,12 @@ might just be starting to think about it, or you might have lugged around that *
|
|||
your mind for years ... you know *just* how good it would be, if you could only make it come to
|
||||
reality. We know how you feel. That is, after all, why Evennia came to be.
|
||||
|
||||
Evennia is in principle a MUD-building system: a bare-bones Python codebase and server intended to
|
||||
Evennia is a MU\*-building system: a bare-bones Python codebase and server intended to
|
||||
be highly extendable for any style of game. "Bare-bones" in this context means that we try to impose
|
||||
as few game-specific things on you as possible. So whereas we for convenience offer basic building
|
||||
as few game-specific things on you as possible. For convenience offer basic building
|
||||
blocks like objects, characters, rooms, default commands for building and administration etc, we
|
||||
don't prescribe any combat rules, mob AI, races, skills, character classes or other things that will
|
||||
be different from game to game anyway. It is possible that we will offer some such systems as
|
||||
contributions in the future, but these will in that case all be optional.
|
||||
be different from game to game anyway.
|
||||
|
||||
What we *do* however, is to provide a solid foundation for all the boring database, networking, and
|
||||
behind-the-scenes administration stuff that all online games need whether they like it or not.
|
||||
|
|
@ -27,80 +26,31 @@ Evennia is *fully persistent*, that means things you drop on the ground somewher
|
|||
there a dozen server reboots later. Through Django we support a large variety of different database
|
||||
systems (a database is created for you automatically if you use the defaults).
|
||||
|
||||
We also include a growing list of *optional* [contribs](Contribs/Contrib-Overview) you can use for your game
|
||||
would you want something to build from.
|
||||
|
||||
Using the full power of Python throughout the server offers some distinct advantages. All your
|
||||
coding, from object definitions and custom commands to AI scripts and economic systems is done in
|
||||
normal Python modules rather than some ad-hoc scripting language. The fact that you script the game
|
||||
in the same high-level language that you code it in allows for very powerful and custom game
|
||||
implementations indeed.
|
||||
|
||||
The server ships with a default set of player commands that are similar to the MUX command set. We
|
||||
*do not* aim specifically to be a MUX server, but we had to pick some default to go with (see
|
||||
[this](Concepts/Soft-Code) for more about our original motivations). It's easy to remove or add commands, or
|
||||
to have the command syntax mimic other systems, like Diku, LP, MOO and so on. Or why not create a
|
||||
new and better command system of your own design.
|
||||
Out of the box, Evennia gives you a 'talker'-type of game; you can walk around, chat, build rooms and objects,
|
||||
do basic roleplaying and administration. The server ships with a default set of player commands that are
|
||||
similar to the MUX command set. We *do not* aim specifically to be a MUX server, but we had to pick some
|
||||
default to go with (see [this](Concepts/Soft-Code) for more about our original motivations). It's easy to
|
||||
remove or add commands, or to have the command syntax mimic other systems, like Diku, LP, MOO and so on.
|
||||
Or why not create a new and better command system of your own design.
|
||||
|
||||
## Can I test it somewhere?
|
||||
|
||||
Evennia's demo server can be found at [demo.evennia.com](http://demo.evennia.com). If you prefer to
|
||||
connect to the demo via your own telnet client you can do so at `silvren.com`, port `4280`.
|
||||
Evennia's demo server can be found at [https://demo.evennia.com](https://demo.evennia.com). If you prefer to
|
||||
connect to the demo via your telnet client you can do so at `demo.evennia.com`, port `4000`.
|
||||
|
||||
Once you installed Evennia yourself it comes with its own tutorial - this shows off some of the
|
||||
possibilities _and_ gives you a small single-player quest to play. The tutorial takes only one
|
||||
single in-game command to install as explained [here](Howto/Starting/Part1/Tutorial-World-Introduction).
|
||||
|
||||
## Brief summary of features
|
||||
|
||||
### Technical
|
||||
|
||||
- Game development is done by the server importing your normal Python modules. Specific server
|
||||
features are implemented by overloading hooks that the engine calls appropriately.
|
||||
- All game entities are simply Python classes that handle database negotiations behind the scenes
|
||||
without you needing to worry.
|
||||
- Command sets are stored on individual objects (including characters) to offer unique functionality
|
||||
and object-specific commands. Sets can be updated and modified on the fly to expand/limit player
|
||||
input options during play.
|
||||
- Scripts are used to offer asynchronous/timed execution abilities. Scripts can also be persistent.
|
||||
There are easy mechanisms to thread particularly long-running processes and built-in ways to start
|
||||
"tickers" for games that wants them.
|
||||
- In-game communication channels are modular and can be modified to any functionality, including
|
||||
mailing systems and full logging of all messages.
|
||||
- Server can be fully rebooted/reloaded without users disconnecting.
|
||||
- An Account can freely connect/disconnect from game-objects, offering an easy way to implement
|
||||
multi-character systems and puppeting.
|
||||
- Each Account can optionally control multiple Characters/Objects at the same time using the same
|
||||
login information.
|
||||
- Spawning of individual objects via a prototypes-like system.
|
||||
- Tagging can be used to implement zones and object groupings.
|
||||
- All source code is extensively documented.
|
||||
- Unit-testing suite, including tests of default commands and plugins.
|
||||
|
||||
### Default content
|
||||
|
||||
- Basic classes for Objects, Characters, Rooms and Exits
|
||||
- Basic login system, using the Account's login name as their in-game Character's name for
|
||||
simplicity
|
||||
- "MUX-like" command set with administration, building, puppeting, channels and social commands
|
||||
- In-game Tutorial
|
||||
- Contributions folder with working, but optional, code such as alternative login, menus, character
|
||||
generation and more
|
||||
|
||||
### Standards/Protocols supported
|
||||
|
||||
- TCP/websocket HTML5 browser web client, with ajax/comet fallback for older browsers
|
||||
- Telnet and Telnet + SSL with mud-specific extensions ([MCCP](http://tintin.sourceforge.net/mccp/),
|
||||
[MSSP](http://tintin.sourceforge.net/mssp/), [TTYPE](http://tintin.sourceforge.net/mtts/),
|
||||
[MSDP](http://tintin.sourceforge.net/msdp/),
|
||||
[GMCP](https://www.ironrealms.com/rapture/manual/files/FeatGMCP-txt.html),
|
||||
[MXP](https://www.zuggsoft.com/zmud/mxp.htm) links)
|
||||
- ANSI and xterm256 colours
|
||||
- SSH
|
||||
- HTTP - Website served by in-built webserver and connected to same database as game.
|
||||
- IRC - external IRC channels can be connected to in-game chat channels
|
||||
- RSS feeds can be echoed to in-game channels (things like Twitter can easily be added)
|
||||
- Several different databases supported (SQLite3, MySQL, PostgreSQL, ...)
|
||||
|
||||
For more extensive feature information, see the [Evennia Component overview](Components/Components-Overview).
|
||||
|
||||
## What you need to know to work with Evennia
|
||||
|
||||
Assuming you have Evennia working (see the [quick start instructions](Setup/Setup-Quickstart)) and have
|
||||
|
|
@ -119,11 +69,12 @@ very basic game indeed if you are not willing to do at least *some* coding.
|
|||
|
||||
Evennia's source code is extensively documented and is [viewable
|
||||
online](https://github.com/evennia/evennia). We also have a comprehensive [online
|
||||
manual](https://github.com/evennia/evennia/wiki) with lots of examples. But while Python is
|
||||
manual](https://evennia.com/docs) with lots of examples. But while Python is
|
||||
considered a very easy programming language to get into, you do have a learning curve to climb if
|
||||
you are new to programming. You should probably sit down
|
||||
with a Python beginner's [tutorial](http://docs.python.org/tutorial/) (there are plenty of them on
|
||||
the web if you look around) so you at least know what you are seeing. See also our [link
|
||||
you are new to programming. Evennia's [Starting-tutorial](Howto/Starting/Part1/Starting-Part1) has a [basic introduction
|
||||
to Python](Howto/Starting/Part1/Python-basic-introduction) but you should probably also sit down
|
||||
with a full Python beginner's tutorial at some point (there are plenty of them on
|
||||
the web if you look around). See also our [link
|
||||
page](Links#wiki-litterature) for some reading suggestions. To efficiently code your dream game in
|
||||
Evennia you don't need to be a Python guru, but you do need to be able to read example code
|
||||
containing at least these basic Python features:
|
||||
|
|
@ -161,8 +112,7 @@ presence (a website and a mud web client) to play around with ...
|
|||
|
||||
From here you can continue browsing the [online documentation]([online documentation](index:Evennia-documentation)) to
|
||||
find more info about Evennia. Or you can jump into the [Tutorials](Howto/Howto-Overview) and get your hands
|
||||
dirty with code right away. You can also read the developer's [dev
|
||||
blog](https://evennia.blogspot.com/) for many tidbits and snippets about Evennia's development and
|
||||
dirty with code right away. You can also read the lead developer's [dev blog](https://evennia.blogspot.com/) for many tidbits and snippets about Evennia's development and
|
||||
structure.
|
||||
|
||||
Some more hints:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue