Python MUD/MUX/MUSH/MU* development system http://www.evennia.com
Find a file
2015-11-01 17:13:00 +01:00
bin Changed the windows launcher name to evennia_launcher.py instead of just evennia.py since Windows requires a batfile (named evennia) in order to work, and there is a name clash between them otherwise. 2015-03-01 12:43:46 +01:00
evennia Reworked that look() methods on Players and Objects into at_look. They were also changed to accept pre-searched target objects rather than the command string. They also return a processed look string rather than sending it directly. The reason for this is that methods on the typeclass should not be handling command parsing - this should be the exclusive job of Command.parse in order to make command parsing completely contained withing one system. Likewise, it makes for more flexibility to not call self.msg() inside at_look but to let the outside caller do this explicitly - it might want to modify and append to the string before sending it off (something not used anywhere yet but which may be interesting). In order to correctly keep parsing entirely in the command body for the player, I made a custom parent for CmdOOCLook and CmdOOC, which does the parsing of the 'playable' characters already at the parse() step, storing the result in the .playable property on the (player-) command. This technique could probably be applied to other player commands looking up the _playable_characters Attribute, in order to centralize it. 2015-11-01 17:13:00 +01:00
.gitignore Changed ignores to not use linux-type paths. 2015-05-26 00:15:36 +02:00
.travis.yml Disable sudo in Travis to use faster container architecture. 2015-08-21 18:06:16 -05:00
CHANGELOG.md Updated readme's and other documentation. 2015-02-10 16:12:21 +01:00
CODING_STYLE.md Update CODING_STYLE.md 2015-09-25 11:04:30 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2015-03-02 11:21:25 +01:00
INSTALL.md Update INSTALL.md 2015-02-10 17:16:52 +01:00
LICENSE.txt Fixed errors in the ExtendedRoom contrib, pertaining to the detail command. Resolves #741. 2015-04-29 16:07:57 +02:00
README.md Update README.md 2015-05-28 13:57:37 +02:00
requirements.txt Use with_metaclass from future.utils for python3 compat. 2015-11-01 15:11:12 +01:00
setup.py Minor PEP8 cleanup in setup.py. 2015-09-07 19:57:58 +02:00
sitecustomize.py Cleaning some unnecessary whitespace, overall cleanup of various source codes. 2012-03-30 23:47:22 +02:00
win_requirements.txt Use with_metaclass from future.utils for python3 compat. 2015-11-01 15:11:12 +01:00

Evennia MUD/MU* Creation System evennia logo

Build Status

Evennia is a modern library for creating online multiplayer text games (MUD, MUSH, MUX, MUCK, MOO etc) in pure Python. It allows game creators to design and flesh out their ideas with great freedom. Evennia is made available under the very friendly BSD license.

http://www.evennia.com is the main hub tracking all things Evennia.

Features and Philosophy

The Evennia library aims for you to have a fully functioning, if empty, online game up and running in minutes. Rather than imposing a particular style, genre or game mechanic we offer a framework on which you build the game of your dreams. The idea is to allow you to concentrate on designing the bits that make your game unique.

Coding in Evennia is done using normal Python modules imported into the server at runtime. All library code is heavily documented and Evennia comes with extensive manuals and tutorials. You use Python classes to represent your objects, scripts, players, in-game channels and so on. The database layer is abstracted away. This makes it possible to create the game using modern code practices using the full flexibility and power of Python.

screenshot

Evennia offers extensive connectivity options, including traditional telnet connections. Evennia is also its own web server: A default website as well as a browser-based mud client (html5 websockets, with fallback to AJAX) runs by default. Due to our Django and Twisted foundations, web integration is easy since the same code powering the game is also used to run its web presence.

Whereas Evennia is intentionally empty of game content from the onset, we do offer some defaults you can build from. The code base comes with basic classes for objects, exits, rooms and characters. There are systems for handling puppeting, scripting, timers, dynamic games states etc. A default command set (completely replaceable with your own syntax and functionality) handles administration, building, chat channels, poses and so on. The default setup is enough to run a 'Talker' or some other social-style game out of the box. We also have a contributions folder with optional plugins and examples of more game-specific systems.

Current Status

The codebase is currently in Beta. While development continues, Evennia is already stable enough to be suitable for prototyping and development of your own games.

Where to go from here

If this piqued your interest, there is a lengthier introduction to read.

To learn how to get your hands on the code base, the Getting started page is the way to go. Otherwise you could browse the Documentation or why not come join the Evennia Community forum or join us in our development chat. Welcome!